private IEnumerable <double> GetCollection(string fullName, string property) { var collection = new List <double>(); switch (TypeReport) { case "Группировка по дням": { if (property == "Count") { foreach (var date in ListDates) { if (DailyBestSalesPersonsReport.Find(r => r.FullName == fullName && ((DateTime)r.Date).ToString("yyyy-MM-dd") == date) == null) { collection.Add(double.NaN); } } DailyBestSalesPersonsReport.Where(r => r.FullName == fullName).ForEach(i => collection.Add((double)i.Count)); } if (property == "Rate") { foreach (var date in ListDates) { if (DailyBestSalesPersonsReport.Find(r => r.FullName == fullName && ((DateTime)r.Date).ToString("yyyy-MM-dd") == date) == null) { collection.Add(double.NaN); } } DailyBestSalesPersonsReport.Where(r => r.FullName == fullName).ForEach(i => collection.Add((double)i.Rate)); } } break; case "Группировка по неделям": { if (property == "Count") { foreach (var date in ListDates) { if (WeeklyBestSalesPersonsReport.Find(r => r.FullName == fullName && r.Date == date) == null) { collection.Add(double.NaN); } } WeeklyBestSalesPersonsReport.Where(r => r.FullName == fullName).ForEach(i => collection.Add((double)i.Count)); } if (property == "Rate") { foreach (var date in ListDates) { if (WeeklyBestSalesPersonsReport.Find(r => r.FullName == fullName && r.Date == date) == null) { collection.Add(double.NaN); } } WeeklyBestSalesPersonsReport.Where(r => r.FullName == fullName).ForEach(i => collection.Add((double)i.Rate)); } } break; case "Группировка по месяцам": { if (property == "Count") { foreach (var date in ListDates) { if (MonthlyBestSalesPersonsReport.Find(r => r.FullName == fullName && r.Date == date) == null) { collection.Add(double.NaN); } } MonthlyBestSalesPersonsReport.Where(r => r.FullName == fullName).ForEach(i => collection.Add((double)i.Count)); } if (property == "Rate") { foreach (var date in ListDates) { if (MonthlyBestSalesPersonsReport.Find(r => r.FullName == fullName && r.Date == date) == null) { collection.Add(double.NaN); } } MonthlyBestSalesPersonsReport.Where(r => r.FullName == fullName).ForEach(i => collection.Add((double)i.Rate)); } } break; case "Группировка по кварталам": { if (property == "Count") { foreach (var date in ListDates) { if (QuarterlyBestSalesPersonsReport.Find(r => r.FullName == fullName && r.Date == date) == null) { collection.Add(double.NaN); } } QuarterlyBestSalesPersonsReport.Where(r => r.FullName == fullName).ForEach(i => collection.Add((double)i.Count)); } if (property == "Rate") { foreach (var date in ListDates) { if (QuarterlyBestSalesPersonsReport.Find(r => r.FullName == fullName && r.Date == date) == null) { collection.Add(double.NaN); } } QuarterlyBestSalesPersonsReport.Where(r => r.FullName == fullName).ForEach(i => collection.Add((double)i.Rate)); } } break; case "Группировка по годам": { if (property == "Count") { foreach (var date in ListDates) { if (YearlyBestSalesPersonsReport.Find(r => r.FullName == fullName && r.Date == date) == null) { collection.Add(double.NaN); } } YearlyBestSalesPersonsReport.Where(r => r.FullName == fullName).ForEach(i => collection.Add((double)i.Count)); } if (property == "Rate") { foreach (var date in ListDates) { if (YearlyBestSalesPersonsReport.Find(r => r.FullName == fullName && r.Date == date) == null) { collection.Add(double.NaN); } } YearlyBestSalesPersonsReport.Where(r => r.FullName == fullName).ForEach(i => collection.Add((double)i.Rate)); } } break; } return(collection); }
private void GettingAndFillData() { BriefBestSalesPersonsReport = _eF.GetReportBestSalesPersons(ListSelectedSalesPersons.ToList()); switch (TypeReport) { case "Группировка по дням": { DailyBestSalesPersonsReport = _eF.GetDetailDailyReportBestSalesPersons(ListSelectedSalesPersons.ToList(), new Range <DateTime>(BeginValueDate, EndValueDate)); DailyBestSalesPersonsReport.ForEach(i => { if (!ListDates.Contains(((DateTime)i.Date).ToString("yyyy-MM-dd"))) { ListDates.Add(((DateTime)i.Date).ToString("yyyy-MM-dd")); } }); } break; case "Группировка по неделям": { WeeklyBestSalesPersonsReport = _eF.GetDetailWeeklyReportBestSalesPersons(ListSelectedSalesPersons.ToList(), new Date(BeginValueDate), new Date(EndValueDate)); WeeklyBestSalesPersonsReport.ForEach(i => { if (!ListDates.Contains(i.Date)) { ListDates.Add(i.Date); } }); } break; case "Группировка по месяцам": { MonthlyBestSalesPersonsReport = _eF.GetDetailMonthlyReportBestSalesPersons(ListSelectedSalesPersons.ToList(), new Date(BeginValueDate), new Date(EndValueDate)); MonthlyBestSalesPersonsReport.ForEach(i => { if (!ListDates.Contains(i.Date)) { ListDates.Add(i.Date); } }); } break; case "Группировка по кварталам": { QuarterlyBestSalesPersonsReport = _eF.GetDetailQuarterlyReportBestSalesPersons(ListSelectedSalesPersons.ToList(), new Date(BeginValueDate), new Date(EndValueDate)); QuarterlyBestSalesPersonsReport.ForEach(i => { if (!ListDates.Contains(i.Date)) { ListDates.Add(i.Date); } }); } break; case "Группировка по годам": { YearlyBestSalesPersonsReport = _eF.GetDetailYearlyReportBestSalesPersons(ListSelectedSalesPersons.ToList(), new Date(BeginValueDate), new Date(EndValueDate)); YearlyBestSalesPersonsReport.ForEach(i => { if (!ListDates.Contains(i.Date)) { ListDates.Add(i.Date); } }); } break; } }