Advertisement
sandunfx

Untitled

Nov 7th, 2019
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.01 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApp4
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             ChartData chart = Payment("GSM", new DateTime(2019, 10, 1));
  14.  
  15.             Console.WriteLine("P");
  16.             Console.Read();
  17.         }
  18.  
  19.  
  20.         private static ChartData Payment(string domainId, DateTime month)
  21.         {
  22.             using (DialogKiosk7Entities context = new DialogKiosk7Entities())
  23.             {
  24.                 var cashQuery = context.PayCashes
  25.                                        .Where(c => c.DomainID == domainId && c.AddedDate >= month)
  26.                                        .Select(c => new
  27.                                        {
  28.                                            AddedDate = c.AddedDate,
  29.                                            Amount = c.Amount
  30.                                        })
  31.                                        .ToList();
  32.  
  33.                 var cardQuery = context.PayCards
  34.                                        .Where(c => c.DomainID == domainId && c.AddedDate >= month)
  35.                                        .Select(c => new
  36.                                        {
  37.                                            AddedDate = c.AddedDate,
  38.                                            Amount = c.Amount
  39.                                        })
  40.                                        .ToList();
  41.  
  42.  
  43.                 List<int> cashData = new List<int>();
  44.                 List<int> cardData = new List<int>();
  45.  
  46.                 DateTime currMonth = month;
  47.                 DateTime nextMonth = month.AddMonths(1);
  48.  
  49.                 while (currMonth < nextMonth)
  50.                 {
  51.                     var dalyAmount = cashQuery.Where(d => d.AddedDate > currMonth && d.AddedDate < currMonth.Add(new TimeSpan(23, 59, 59)))
  52.                                               .Sum(d => Int32.Parse(d.Amount));
  53.  
  54.                     cashData.Add(dalyAmount);
  55.  
  56.                     currMonth = currMonth.AddDays(1);
  57.                 }
  58.  
  59.                 currMonth = month;
  60.                 nextMonth = month.AddMonths(1);
  61.  
  62.                 while (currMonth < nextMonth)
  63.                 {
  64.                     var dalyAmount = cardQuery.Where(d => d.AddedDate > currMonth && d.AddedDate < currMonth.Add(new TimeSpan(23, 59, 59)))
  65.                                               .Sum(d => Int32.Parse(d.Amount));
  66.  
  67.                     cardData.Add(dalyAmount);
  68.  
  69.                     currMonth = currMonth.AddDays(1);
  70.                 }
  71.  
  72.                 List<int> data = new List<int>();
  73.  
  74.                 for (int i = 0; i < cashData.Count; i++)
  75.                 {
  76.                     data.Add(cashData[i] + cardData[i]);
  77.                 }
  78.  
  79.                 ChartData cData = new ChartData();
  80.                 cData.Data = data.ToArray();
  81.                 cData.Labels = GetLabels(data.Count);
  82.                 cData.Month = month.ToString("MMM");
  83.  
  84.                 return cData;
  85.             }
  86.         }
  87.  
  88.         //private static ChartData PayCash(string domainId, DateTime month)
  89.         //{
  90.         //    using (DialogKiosk7Entities context = new DialogKiosk7Entities())
  91.         //    {
  92.         //        var query = context.PayCashes
  93.         //                           .Where(c => c.DomainID == domainId && c.AddedDate >= month)
  94.         //                           .Select(c => new
  95.         //                           {
  96.         //                               AddedDate = c.AddedDate,
  97.         //                               Amount = c.Amount
  98.         //                           })
  99.         //                           .ToList();
  100.  
  101.         //        List<int> data = new List<int>();
  102.  
  103.         //        DateTime currMonth = month;
  104.         //        DateTime nextMonth = month.AddMonths(1);
  105.  
  106.         //        while(currMonth < nextMonth)
  107.         //        {
  108.         //            var dalyAmount = query.Where(d => d.AddedDate > currMonth && d.AddedDate < currMonth.Add(new TimeSpan(23, 59, 59)))
  109.         //                                  .Sum(d => Int32.Parse(d.Amount));
  110.  
  111.         //            data.Add(dalyAmount);
  112.  
  113.         //            currMonth = currMonth.AddDays(1);
  114.         //        }
  115.  
  116.         //        ChartData cData = new ChartData();
  117.         //        cData.Data = data.ToArray();
  118.         //        cData.Labels = GetLabels(data.Count);
  119.         //        cData.Month = month.ToString("MMMM");
  120.  
  121.         //        return cData;
  122.         //    }
  123.         //}
  124.  
  125.         private static string[] GetLabels(int count)
  126.         {
  127.             List<string> list = new List<string>();
  128.  
  129.             for (int i = 1; i <= count; i++)
  130.             {
  131.                 if(i==1)
  132.                     list.Add($"{i.ToString()}st");
  133.                 else if(i==2)
  134.                     list.Add($"{i.ToString()}nd");
  135.                 else
  136.                     list.Add($"{i.ToString()}th");
  137.  
  138.             }
  139.  
  140.             return list.ToArray();
  141.         }
  142.     }
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement