public PartialViewResult FilterFuel(RptFuelModel model) { model.RptFuelItem = GetFuelData(model.SearchView); var input = Mapper.Map <RptFuelByParamInput>(model.SearchView); var dataFuel = _rptFuelBLL.GetRptFuelData(); foreach (var item in model.RptFuelItem) { if (input.MonthFrom == 1) { input.MonthFrom = 12; input.YearFrom = input.YearFrom - 1; } else { input.MonthFrom = input.MonthFrom - 1; } if (item.Odometer != 0) { var data_temp = dataFuel.Where(x => x.PoliceNumber == item.PoliceNumber && x.ReportMonth == input.MonthFrom && x.ReportYear == input.YearFrom).Select(x => x.Odometer).FirstOrDefault(); if (data_temp == 0) { item.Usage = item.Odometer; if (item.Liter != 0) { item.kmlt = Math.Round(item.Usage / item.Liter, 2); } } else { item.Usage = item.Odometer - data_temp; if (item.Liter != 0) { item.kmlt = Math.Round(item.Usage / item.Liter, 2); } } } } return(PartialView("_ListFuel", model)); }
public void ExportFuel(RptFuelModel model) { string pathFile = ""; var input = Mapper.Map <RptFuelByParamInput>(model.SearchViewExport); pathFile = CreateXlsRptFuel(input); var newFile = new FileInfo(pathFile); var fileName = Path.GetFileName(pathFile); string attachment = string.Format("attachment; filename={0}", fileName); Response.Clear(); Response.AddHeader("content-disposition", attachment); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.WriteFile(newFile.FullName); Response.Flush(); newFile.Delete(); Response.End(); }
public ActionResult Index() { try { var model = new RptFuelModel(); var input = Mapper.Map <RptFuelByParamInput>(model.SearchView); var data = _rptFuelBLL.GetRptFuel(input); model.MainMenu = _mainMenu; model.TitleForm = "Fuel Report"; model.TitleExport = "ExportFuel"; model.CurrentLogin = CurrentUser; var settingData = _settingBLL.GetSetting(); var listVehType = settingData.Where(x => x.SettingGroup == EnumHelper.GetDescription(Enums.SettingGroup.VehicleType) && x.IsActive).Select(x => new { x.SettingValue }).ToList(); var costCenter = _fleetBLL.GetFleet().Select(x => new { x.CostCenter }).ToList().Distinct().OrderBy(x => x.CostCenter); var function = _employeeBLL.GetEmployee().Select(x => new { x.DIRECTORATE }).ToList().Distinct().OrderBy(x => x.DIRECTORATE); var locationMapping = _locationMappingBLL.GetLocationMapping().Select(x => new { x.Region }).ToList().Distinct().OrderBy(x => x.Region); model.SearchView.VehicleTypeList = new SelectList(listVehType, "SettingValue", "SettingValue"); model.SearchView.CostCenterList = new SelectList(costCenter, "CostCenter", "CostCenter"); model.SearchView.FunctionList = new SelectList(function, "DIRECTORATE", "DIRECTORATE"); model.SearchView.RegionalList = new SelectList(locationMapping, "Region", "Region"); model.RptFuelItem = Mapper.Map <List <RptFuelItem> >(data); var dataFuel = _rptFuelBLL.GetRptFuelData(); foreach (var item in model.RptFuelItem) { if (input.MonthFrom == 1) { input.MonthFrom = 12; input.YearFrom = input.YearFrom - 1; } else { input.MonthFrom = input.MonthFrom - 1; } if (item.Odometer != 0) { var data_temp = dataFuel.Where(x => x.PoliceNumber == item.PoliceNumber && x.ReportMonth == input.MonthFrom && x.ReportYear == input.YearFrom).Select(x => x.Odometer).FirstOrDefault(); if (data_temp == 0) { item.Usage = item.Odometer; if (item.Liter != 0) { item.kmlt = Math.Round(item.Usage / item.Liter, 2); } } else { item.Usage = item.Odometer - data_temp; if (item.Liter != 0) { item.kmlt = Math.Round(item.Usage / item.Liter, 2); } } } } return(View(model)); } catch (Exception exception) { var model = new RptFuelModel(); var input = Mapper.Map <RptFuelByParamInput>(model.SearchView); var data = _rptFuelBLL.GetRptFuel(input); model.MainMenu = _mainMenu; model.TitleForm = "Fuel Report"; model.TitleExport = "ExportFuel"; model.CurrentLogin = CurrentUser; var settingData = _settingBLL.GetSetting(); var listVehType = settingData.Where(x => x.SettingGroup == EnumHelper.GetDescription(Enums.SettingGroup.VehicleType) && x.IsActive).Select(x => new { x.SettingValue }).ToList(); var costCenter = _fleetBLL.GetFleet().Select(x => new { x.CostCenter }).ToList().Distinct().OrderBy(x => x.CostCenter); var function = _employeeBLL.GetEmployee().Select(x => new { x.DIRECTORATE }).ToList().Distinct().OrderBy(x => x.DIRECTORATE); var locationMapping = _locationMappingBLL.GetLocationMapping().Select(x => new { x.Region }).ToList().Distinct().OrderBy(x => x.Region); model.SearchView.VehicleTypeList = new SelectList(listVehType, "SettingValue", "SettingValue"); model.SearchView.CostCenterList = new SelectList(costCenter, "CostCenter", "CostCenter"); model.SearchView.FunctionList = new SelectList(function, "DIRECTORATE", "DIRECTORATE"); model.SearchView.RegionalList = new SelectList(locationMapping, "Region", "Region"); model.RptFuelItem = Mapper.Map <List <RptFuelItem> >(data); model.ErrorMessage = exception.Message; return(View(model)); } }