public async Task <IActionResult> Batchlist(LoanRegisterViewModel batch)
        {
            var loan = context.pf_LoanRegisters.DistinctBy(x => x.batchNo).ToList();

            ViewBag.getloanbatch = loan;
            var loanlist = loanRegisterService.getListofLoanRegisterByBatch(batch.batchNo).Result;

            //return View(loanlist);
            return(await generatePdf.GetPdf("Views/LoanRegister/BatchListReport.cshtml", loanlist));
        }
        public async Task <IActionResult> printloanregister(LoanRegisterViewModel loan)
        {
            var fundcode = HttpContext.Session.GetInt32("fundtypeid");

            if ((loan.Status != "8") && (loan.Status != "9"))
            {
                var listloan1 = loanRegisterService.getListofLoanRegisterByStatus(Convert.ToInt32(fundcode), loan.Status).Result;
                return(await generatePdf.GetPdf("Views/LoanRegister/LoanRegisterReportPage.cshtml", listloan1));
            }
            else
            {
                var listloan = loanRegisterService.getListofLoanReport(Convert.ToInt32(fundcode), loan.Status, loan.startdate, loan.enddate).Result;
                return(await generatePdf.GetPdf("Views/LoanRegister/LoanRegisterReportPage.cshtml", listloan));
            }
            //return View();
        }
        public async Task <IActionResult> updatestatus(LoanRegisterViewModel batch)
        {
            using (SqlConnection sqls = new SqlConnection(_connectionstring))
            {
                using (SqlCommand cmd = new SqlCommand("npf_Batch_status_loan", sqls))
                {
                    cmd.CommandTimeout = 1200;
                    cmd.CommandType    = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SqlParameter("@globaluser", User.Identity.Name));
                    cmd.Parameters.Add(new SqlParameter("@fundcode", HttpContext.Session.GetString("fundtypecode")));
                    cmd.Parameters.Add(new SqlParameter("@status", batch.VoucherNo));
                    cmd.Parameters.Add(new SqlParameter("@batch", batch.batchNo));



                    await sqls.OpenAsync();

                    await cmd.ExecuteNonQueryAsync();

                    return(Ok(new { responseCode = 200, responseDescription = "Updated Successfully" }));
                }
            }
        }
        public ActionResult loandownloadinbatch(LoanRegisterViewModel batch)
        {
            if (batch.VoucherNo == "3")
            {
                var getloanregister = unitofWork.loanRegisterRepository.GetloanregisterByCode(x => x.batchNo == batch.batchNo);
                if (getloanregister != null)
                {
                    getloanregister.Status      = "3";
                    getloanregister.datecreated = DateTime.Now;
                    unitofWork.loanRegisterRepository.Update(getloanregister);
                    unitofWork.Done().Wait();
                }
                var result = loanRegisterService.getListofLoanRegisterByBatch2(batch.batchNo).Result;

                var stream = new MemoryStream();


                int row = 2;
                using (var package = new ExcelPackage(stream))
                {
                    var workSheet = package.Workbook.Worksheets.Add("Sheet2");
                    workSheet.Cells.LoadFromCollection(result, true);
                    package.Save();
                }


                string excelname = "LoanShedule.xlsx";

                stream.Position = 0;
                string excelName = $"LoanToCPO-{DateTime.Now.ToString("yyyyMMddHHmmssfff")}.xlsx";
                return(File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", excelname));
            }
            else
            {
                var getloanregister = unitofWork.loanRegisterRepository.GetloanregisterByCode(x => x.batchNo == batch.batchNo);
                if (getloanregister != null)
                {
                    getloanregister.Status      = batch.Status;
                    getloanregister.datecreated = DateTime.Now;
                    unitofWork.loanRegisterRepository.Update(getloanregister);
                    unitofWork.Done().Wait();
                }
                var result = loanRegisterService.getListofLoanRegisterByBatch(batch.batchNo).Result;

                var stream = new MemoryStream();


                int row = 2;
                using (var package = new ExcelPackage(stream))
                {
                    var workSheet = package.Workbook.Worksheets.Add("Sheet2");
                    workSheet.Cells.LoadFromCollection(result, true);
                    package.Save();
                }


                string excelname = "LoanShedule.xlsx";

                stream.Position = 0;
                string excelName = $"LoanSchedule-{DateTime.Now.ToString("yyyyMMddHHmmssfff")}.xlsx";
                return(File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", excelname));
            }
            //return View();
        }