1234567891011121314151617181920212223242526272829303132333435 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace CompanyCoreLib
- {
- public class Analytics
- {
- public List<DateTime> PopularMonths(List<DateTime> dates)
- {
- List<DataOfOrder> dataOfOrders = new List<DataOfOrder>();
- foreach (DateTime item in dates)
- {
- var data = dataOfOrders.FirstOrDefault(x => x.Date.Month == item.Month && x.Date.Year == item.Year);
- if (data is null) dataOfOrders.Add(new DataOfOrder { Date = new DateTime(item.Year, item.Month, 1), CountOrder = 1 });
- else dataOfOrders.FirstOrDefault(x => x.Date.Month == item.Month && x.Date.Year == item.Year).CountOrder += 1;
- }
- dataOfOrders = dataOfOrders.OrderByDescending(x => x.CountOrder).ThenBy(x => x.Date).ToList();
- List<DateTime> SortList = new List<DateTime>();
- foreach (var item in dataOfOrders)
- {
- SortList.Add(item.Date);
- }
- return SortList;
- }
- }
- class DataOfOrder
- {
- public DateTime Date { get; set; }
- public int CountOrder { get; set; }
- }
- }
|