Ejemplo n.º 1
0
        private void GetGeneralReport(GeneralReportViewModel model)
        {
            var areaList = new List <SelectListItem>
            {
                new SelectListItem()
                {
                    Text = "全部", Value = ""
                }
            };

            var streetList = new List <SelectListItem>
            {
                new SelectListItem()
                {
                    Text = "全部", Value = ""
                }
            };

            var addressList = new List <SelectListItem>
            {
                new SelectListItem()
                {
                    Text = "全部", Value = ""
                }
            };

            areaList.AddRange(ProcessInvoke <UserDictionaryProcess>()
                              .GetDistrictSelectList()
                              .Select(obj => new SelectListItem()
            {
                Text = obj.Value, Value = obj.Key.ToString()
            })
                              .ToList());

            if (model.AreaGuid != Guid.Empty)
            {
                streetList.AddRange(ProcessInvoke <UserDictionaryProcess>()
                                    .GetChildDistrict(model.AreaGuid)
                                    .Select(obj => new SelectListItem()
                {
                    Text = obj.Value, Value = obj.Key.ToString()
                })
                                    .ToList());

                if (model.StreetGuid != Guid.Empty)
                {
                    addressList.AddRange(ProcessInvoke <UserDictionaryProcess>()
                                         .GetChildDistrict(model.StreetGuid)
                                         .Select(obj => new SelectListItem()
                    {
                        Text = obj.Value, Value = obj.Key.ToString()
                    })
                                         .ToList());
                }
            }

            model.AreaListItems    = areaList;
            model.StreetListItems  = streetList;
            model.AddressListItems = addressList;
        }
Ejemplo n.º 2
0
        public ActionResult GeneralReport(GeneralReportViewModel model)
        {
            ProcessInvoke <ReportProcess>().GetGeneralReportViewModel(model);
            GetGeneralReport(model);

            return(View(model));
        }
Ejemplo n.º 3
0
        public void GetGeneralReportViewModel(GeneralReportViewModel model)
        {
            var hotels = Repo <HotelRestaurantRepository>().GetAllModels()
                         .AddEqual(obj => obj.DistrictId == model.AreaGuid, model.AreaGuid)
                         .AddEqual(item => item.StreetId == model.StreetGuid, model.StreetGuid)
                         .AddEqual(hotel => hotel.AddressId == model.AddressGuid, model.AddressGuid);

            var startDate = ReportStartDate(model.DueDateTime, model.ReportType).GetToday();

            using (var repo = Repo <RunningTimeRepository>())
            {
                foreach (var hotel in hotels)
                {
                    var report = new GeneralReport
                    {
                        HotelGuid = hotel.Id,
                        HotelName = hotel.ProjectName
                    };

                    if (repo.GetCount(obj => obj.ProjectIdentity == hotel.Identity) <= 0)
                    {
                        report.TotalCleanerRunTimeTicks = 0;
                        report.TotalFanRunTimeTicks     = 0;
                        model.GeneralReports.Add(report);
                        continue;
                    }

                    var cleanerRecord = repo.GetModels(obj =>
                                                       obj.UpdateTime >= startDate &&
                                                       obj.UpdateTime < model.DueDateTime &&
                                                       obj.ProjectIdentity == hotel.Identity &&
                                                       obj.Type == RunningTimeType.Cleaner);
                    if (cleanerRecord.Count() != 0)
                    {
                        report.TotalCleanerRunTimeTicks = cleanerRecord.Sum(item => item.RunningTimeTicks);
                    }

                    var fanRecord = repo.GetModels(obj =>
                                                   obj.UpdateTime >= startDate &&
                                                   obj.UpdateTime < model.DueDateTime &&
                                                   obj.ProjectIdentity == hotel.Identity &&
                                                   obj.Type == RunningTimeType.Fan);

                    if (fanRecord.Count() != 0)
                    {
                        report.TotalFanRunTimeTicks = fanRecord.Sum(item => item.RunningTimeTicks);
                    }

                    model.GeneralReports.Add(report);
                }
            }
        }
Ejemplo n.º 4
0
        private GeneralReportViewModel GetModelForGeneral(DateTime dateTime)
        {
            DateTime date            = (DateTime)dateTime;
            var      firstDayOfMonth = new DateTime(date.Year, date.Month, 1);
            var      lastDayOfMonth  = firstDayOfMonth.AddMonths(1).AddDays(-1);
            var      finanses        = _unitOfWork.FinanceRepository.GetOverview(x => x.TimeEvent >= firstDayOfMonth && x.TimeEvent <= lastDayOfMonth).ToList();
            var      model           = new GeneralReportViewModel()
            {
                DateReport       = dateTime,
                AnyCashOperation = false
            };

            if (finanses.Any())
            {
                model.Revenues         = finanses.Where(x => !x.Category.IsExpense).Select(x => x.Value).Sum();
                model.Expenses         = finanses.Where(x => x.Category.IsExpense).Select(x => x.Value).Sum();
                model.AnyCashOperation = true;
            }
            ModelState.Clear();
            ModelState.Remove("DateReport");
            return(model);
        }
Ejemplo n.º 5
0
        public ActionResult General(GeneralReportViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var newModel = GetModelForGeneral(model.DateReport);

            //DateTime date = (DateTime)model.DateReport;
            //var firstDayOfMonth = new DateTime(date.Year, date.Month, 1);
            //var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddDays(-1);
            //var finanses = _unitOfWork.FinanceRepository.GetOverview(x => x.TimeEvent >= firstDayOfMonth && x.TimeEvent <= lastDayOfMonth).ToList();
            //model.AnyCashOperation = false;
            //if (finanses.Any())
            //{
            //    model.Revenues = finanses.Where(x => !x.Category.IsExpense).Select(x => x.Value).Sum();
            //    model.Expenses = finanses.Where(x => x.Category.IsExpense).Select(x => x.Value).Sum();
            //    model.AnyCashOperation = true;
            //}


            return(View(newModel));
        }