Exemple #1
0
        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);
        }
Exemple #2
0
        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;
            }
        }