Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApp4
- {
- class Program
- {
- static void Main(string[] args)
- {
- ChartData chart = Payment("GSM", new DateTime(2019, 10, 1));
- Console.WriteLine("P");
- Console.Read();
- }
- private static ChartData Payment(string domainId, DateTime month)
- {
- using (DialogKiosk7Entities context = new DialogKiosk7Entities())
- {
- var cashQuery = context.PayCashes
- .Where(c => c.DomainID == domainId && c.AddedDate >= month)
- .Select(c => new
- {
- AddedDate = c.AddedDate,
- Amount = c.Amount
- })
- .ToList();
- var cardQuery = context.PayCards
- .Where(c => c.DomainID == domainId && c.AddedDate >= month)
- .Select(c => new
- {
- AddedDate = c.AddedDate,
- Amount = c.Amount
- })
- .ToList();
- List<int> cashData = new List<int>();
- List<int> cardData = new List<int>();
- DateTime currMonth = month;
- DateTime nextMonth = month.AddMonths(1);
- while (currMonth < nextMonth)
- {
- var dalyAmount = cashQuery.Where(d => d.AddedDate > currMonth && d.AddedDate < currMonth.Add(new TimeSpan(23, 59, 59)))
- .Sum(d => Int32.Parse(d.Amount));
- cashData.Add(dalyAmount);
- currMonth = currMonth.AddDays(1);
- }
- currMonth = month;
- nextMonth = month.AddMonths(1);
- while (currMonth < nextMonth)
- {
- var dalyAmount = cardQuery.Where(d => d.AddedDate > currMonth && d.AddedDate < currMonth.Add(new TimeSpan(23, 59, 59)))
- .Sum(d => Int32.Parse(d.Amount));
- cardData.Add(dalyAmount);
- currMonth = currMonth.AddDays(1);
- }
- List<int> data = new List<int>();
- for (int i = 0; i < cashData.Count; i++)
- {
- data.Add(cashData[i] + cardData[i]);
- }
- ChartData cData = new ChartData();
- cData.Data = data.ToArray();
- cData.Labels = GetLabels(data.Count);
- cData.Month = month.ToString("MMM");
- return cData;
- }
- }
- //private static ChartData PayCash(string domainId, DateTime month)
- //{
- // using (DialogKiosk7Entities context = new DialogKiosk7Entities())
- // {
- // var query = context.PayCashes
- // .Where(c => c.DomainID == domainId && c.AddedDate >= month)
- // .Select(c => new
- // {
- // AddedDate = c.AddedDate,
- // Amount = c.Amount
- // })
- // .ToList();
- // List<int> data = new List<int>();
- // DateTime currMonth = month;
- // DateTime nextMonth = month.AddMonths(1);
- // while(currMonth < nextMonth)
- // {
- // var dalyAmount = query.Where(d => d.AddedDate > currMonth && d.AddedDate < currMonth.Add(new TimeSpan(23, 59, 59)))
- // .Sum(d => Int32.Parse(d.Amount));
- // data.Add(dalyAmount);
- // currMonth = currMonth.AddDays(1);
- // }
- // ChartData cData = new ChartData();
- // cData.Data = data.ToArray();
- // cData.Labels = GetLabels(data.Count);
- // cData.Month = month.ToString("MMMM");
- // return cData;
- // }
- //}
- private static string[] GetLabels(int count)
- {
- List<string> list = new List<string>();
- for (int i = 1; i <= count; i++)
- {
- if(i==1)
- list.Add($"{i.ToString()}st");
- else if(i==2)
- list.Add($"{i.ToString()}nd");
- else
- list.Add($"{i.ToString()}th");
- }
- return list.ToArray();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement