public async Task <IActionResult> AgentReport() { var model = new AgentReportGetViewModel(); var lstUser = await _user.GetAgentListAsync(); foreach (var item in lstUser) { var vm = new smallAgent(); vm.ID = item.Id; vm.Name = item.Name; model.Agent.Add(vm); } return(View(model)); }
public async Task <IActionResult> AgentReport(string ddlAgent, int ddlYear, int ddlMonth, int?From_InsuranceNumber, int?To_InsuranceNumber) { bool showError = false; //اگر شماره بیمه نامه وارد شده تا فیلتر اعمال شود باید "شماره بیمه نامه از " کوچکتر از "شماره بیمه نامه تا" باشد if (From_InsuranceNumber != null || To_InsuranceNumber != null) { if (From_InsuranceNumber > To_InsuranceNumber) { ViewBag.pm = "شماره بیمه نامه برای فیلتر وارد شده باید صحیح وارد شود.از باید کوچکتر از تا باشد"; showError = true; } else if (From_InsuranceNumber < 0 || To_InsuranceNumber < 0) { ViewBag.pm = "شماره بیمه نامه نمی تواند عدد منفی باشد"; showError = true; } else if (From_InsuranceNumber == null && To_InsuranceNumber != null) { ViewBag.pm = "شماره بیمه نامه برای -از- حتما باید وارد شده باشد"; showError = true; } //اگر ارور وجود داشت این ویو را برگردان و پیام را نشان بده در غیر این صورت ادامه کد ها را برو if (showError) { var newmodel = new AgentReportGetViewModel(); var lstUser = await _user.GetAgentListAsync(); foreach (var item in lstUser) { var vm = new smallAgent(); vm.ID = item.Id; vm.Name = item.Name; newmodel.Agent.Add(vm); } return(View(newmodel)); } } //کد های بالا فقط جهت اعتبار سنجی شماره بیمه نامه های وارد شده است و نه چیز دیگر. کد های اصلی در ادامه نوشته شده است //------------------------------------------------------------------------------------ var model = new List <ReportTableViewModel>(); var lst = await _service.TblKarmozd.AgentReport(ddlAgent, ddlYear, ddlMonth); foreach (var item in lst) { //اگر شماره بیمه نامه -از- و یا -تا- وارد شده باشد یعنی میخواهیم اطلاعات را فیلتر کنیم پس این کد ها اجرا خواهند شد if (From_InsuranceNumber != null && To_InsuranceNumber != null) { //چون هر دو وارد شده پس یک بازه مد نظر است if (item.TblLifeInsurance.InsuranceNumber_Number >= From_InsuranceNumber && item.TblLifeInsurance.InsuranceNumber_Number <= To_InsuranceNumber) { var vm = new ReportTableViewModel(); vm.BimegozarName = item.TblLifeInsurance.Bimegozar_Name; vm.BimeshodeName = item.TblLifeInsurance.Bimeshode_Name; vm.InsuranceNumber = item.TblLifeInsurance.InsuranceNumber_Code + "/" + item.TblLifeInsurance.InsuranceNumber_CenterCode + "/" + item.TblLifeInsurance.InsuranceNumber_GarardadNumber + "/" + item.TblLifeInsurance.InsuranceNumber_Year + "/" + item.TblLifeInsurance.InsuranceNumber_Number; vm.PaymentType = item.TblLifeInsurance.PaymentType; vm.Price = item.TblLifeInsurance.Payment_Price; vm.Serial = item.TblLifeInsurance.Serial; vm.SoodoorDate = item.TblLifeInsurance.Date_Soodoor_Shamsi; vm.Status = item.TblLifeInsurance.Insurance_Status; vm.Wage = item.Price; model.Add(vm); } } else if (From_InsuranceNumber != null && To_InsuranceNumber == null) { //یعنی از یک شکاره بیمه نامه به بعد را فیلتر کن if (item.TblLifeInsurance.InsuranceNumber_Number >= From_InsuranceNumber) { var vm = new ReportTableViewModel(); vm.BimegozarName = item.TblLifeInsurance.Bimegozar_Name; vm.BimeshodeName = item.TblLifeInsurance.Bimeshode_Name; vm.InsuranceNumber = item.TblLifeInsurance.InsuranceNumber_Code + "/" + item.TblLifeInsurance.InsuranceNumber_CenterCode + "/" + item.TblLifeInsurance.InsuranceNumber_GarardadNumber + "/" + item.TblLifeInsurance.InsuranceNumber_Year + "/" + item.TblLifeInsurance.InsuranceNumber_Number; vm.PaymentType = item.TblLifeInsurance.PaymentType; vm.Price = item.TblLifeInsurance.Payment_Price; vm.Serial = item.TblLifeInsurance.Serial; vm.SoodoorDate = item.TblLifeInsurance.Date_Soodoor_Shamsi; vm.Status = item.TblLifeInsurance.Insurance_Status; vm.Wage = item.Price; model.Add(vm); } } else { //اگر شماره بیمه نامه یرای فیلتر وارد نشده باشد یعنی تمامی اطلاعات را برای من نشان بده var vm = new ReportTableViewModel(); vm.BimegozarName = item.TblLifeInsurance.Bimegozar_Name; vm.BimeshodeName = item.TblLifeInsurance.Bimeshode_Name; vm.InsuranceNumber = item.TblLifeInsurance.InsuranceNumber_Code + "/" + item.TblLifeInsurance.InsuranceNumber_CenterCode + "/" + item.TblLifeInsurance.InsuranceNumber_GarardadNumber + "/" + item.TblLifeInsurance.InsuranceNumber_Year + "/" + item.TblLifeInsurance.InsuranceNumber_Number; vm.PaymentType = item.TblLifeInsurance.PaymentType; vm.Price = item.TblLifeInsurance.Payment_Price; vm.Serial = item.TblLifeInsurance.Serial; vm.SoodoorDate = item.TblLifeInsurance.Date_Soodoor_Shamsi; vm.Status = item.TblLifeInsurance.Insurance_Status; vm.Wage = item.Price; model.Add(vm); } //------------------------------------------------------------------ } try { ViewBag.AgentName = lst.FirstOrDefault().TblUser.Name; } catch (Exception) { } ViewBag.Year = ddlYear; ViewBag.Month = ddlMonth; return(View("AgentReportPrint", model)); }