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; }
public ActionResult GeneralReport(GeneralReportViewModel model) { ProcessInvoke <ReportProcess>().GetGeneralReportViewModel(model); GetGeneralReport(model); return(View(model)); }
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); } } }
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); }
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)); }