public async Task <IActionResult> PishkhanReport()
        {
            var model = new PishkhanReportGetViewModel();

            var lstPishkhan = await _service.TblPishkhan.GetAll();

            model.Setting = await _service.TblSetting.GetFirst();

            foreach (var item in lstPishkhan)
            {
                var vm = new smallPishkhan();
                vm.ID   = item.ID;
                vm.Name = item.Name;

                model.Pishkhan.Add(vm);
            }


            return(View(model));
        }
        public async Task <IActionResult> PishkhanReport(int ddlPishkhan, int ddlYear, int ddlMonth, PishkhanReportGetViewModel pishkhan)
        {
            var model       = new PishkhanReportPostViewModel();
            var _firstWage  = _service.TblKarmozd.PishkhanReportFirstPrice(ddlPishkhan, ddlYear, ddlMonth);
            var _doubleWage = _service.TblKarmozd.PishkhanReportDoublePrice(ddlPishkhan, ddlYear, ddlMonth);
            var _noWage     = _service.TblKarmozd.PishkhanReportNoPricePrice(ddlPishkhan, ddlYear, ddlMonth);

            var _pishkhanName = _service.TblPishkhan.GetByID(ddlPishkhan);

            var firstWage  = await _firstWage;
            var doubleWage = await _doubleWage;
            var noWage     = await _noWage;


            var pishkhanName = await _pishkhanName;


            //ثبت بیمه نامه هایی که کارمزد آنها برای اولین بار کارمزد واریز شده
            foreach (var item in firstWage)
            {
                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.FirstWage.Add(vm);
            }

            // ثبت بیمه نامه هایی که کارمزد آنها برای دومین بار واریز شده
            foreach (var item in doubleWage)
            {
                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.DoubleWage.Add(vm);
            }

            // ثبت بیمه نامه هایی که برای آنها کارمزد واریز نشده
            foreach (var item in noWage)
            {
                var vm = new ReportTableViewModel();

                vm.BimegozarName   = item.Bimegozar_Name;
                vm.BimeshodeName   = item.Bimeshode_Name;
                vm.InsuranceNumber = item.InsuranceNumber_Code + "/" + item.InsuranceNumber_CenterCode + "/" + item.InsuranceNumber_GarardadNumber + "/" + item.InsuranceNumber_Year + "/" + item.InsuranceNumber_Number;
                vm.PaymentType     = item.PaymentType;
                vm.Price           = item.Payment_Price;
                vm.Serial          = item.Serial;
                vm.SoodoorDate     = item.Date_Soodoor_Shamsi;
                vm.Status          = item.Insurance_Status;
                vm.Wage            = 0;

                model.NoPriceWage.Add(vm);
            }



            model.FirstWagePercent  = pishkhan.Setting.Pishkhan_Percent;
            model.DoubleWagePercent = pishkhan.Setting.Pishkhan_Percent_OldInsurance;


            ViewBag.Year         = ddlYear;
            ViewBag.Month        = ddlMonth;
            ViewBag.PishkhanName = pishkhanName.Name;

            return(View("PishkhanReportPrint", model));
        }