public IActionResult CancelInvoice(int?id)
        {
            string CompId = User.Claims.Where(r => r.Type == "CompanyID").FirstOrDefault().Value;
            int    CompID = Convert.ToInt32(CompId);

            SaleBillVM model    = new SaleBillVM();
            var        saleBill = _context.SaleBill.SingleOrDefault(m => m.SaleBillID == id);

            model.SaleBillID    = saleBill.SaleBillID;
            model.Balance       = saleBill.Balance;
            model.BillDate      = saleBill.BillDate;
            model.CashPaid      = saleBill.CashPaid;
            model.ContactNumber = saleBill.ContactNumber;
            model.ContactPerson = saleBill.ContactPerson;
            model.CreditDays    = saleBill.CreditDays;
            model.CurrencyID    = saleBill.CurrencyID;
            model.ExchangeRate  = saleBill.ExchangeRate;
            model.ExternalRef   = saleBill.ExternalRef;
            model.GrossTotal    = saleBill.GrossTotal;
            model.NetAmount     = saleBill.NetAmount;
            model.PartiesID     = saleBill.PartiesID;
            model.PayTerms      = saleBill.PayTerms;
            model.SaleBillNo    = saleBill.SaleBillID.ToString();
            model.RefDate       = saleBill.RefDate;
            model.Remarks       = saleBill.Remarks;
            model.TDiscount     = saleBill.TDiscount;
            model.TotalQuantity = saleBill.TotalQuantity;
            model.SB_D_1        = saleBill.SB_D_1;

            model.SaleBillItem_List = _context.SaleBillItem.Include(r => r.Item).Where(r => r.SaleBillID == id).ToList();

            return(PartialView(model));
        }
        public async Task <IActionResult> Details(int?id)
        {
            SaleBillVM model    = new SaleBillVM();
            var        saleBill = await _context.SaleBill.SingleOrDefaultAsync(m => m.SaleBillID == id);

            if (saleBill == null)
            {
                return(NotFound());
            }
            model.SaleBillID = saleBill.SaleBillID;
            model.Balance    = saleBill.Balance;

            model.SB_S_1        = saleBill.BillDate.ToString("dd/MM/yyyy");
            model.CashPaid      = saleBill.CashPaid;
            model.ContactNumber = saleBill.ContactNumber;
            model.ContactPerson = saleBill.ContactPerson;
            model.CreditDays    = saleBill.CreditDays;
            model.CurrencyID    = saleBill.CurrencyID;
            model.ExchangeRate  = saleBill.ExchangeRate;
            model.ExternalRef   = saleBill.ExternalRef;
            model.GrossTotal    = saleBill.GrossTotal;
            model.NetAmount     = saleBill.NetAmount;
            model.PartiesID     = saleBill.PartiesID;
            model.PayTerms      = saleBill.PayTerms;
            model.SaleBillNo    = saleBill.SaleBillID.ToString();
            model.SB_S_2        = saleBill.RefDate.ToString("dd/MM/yyyy");
            model.SB_B_1        = saleBill.SB_B_1;

            model.Remarks             = saleBill.Remarks;
            model.TDiscount           = saleBill.TDiscount;
            model.TotalQuantity       = saleBill.TotalQuantity;
            model.SaleBillItem_List   = _context.SaleBillItem.Include(r => r.Item).Where(r => r.SaleBillID == id).ToList();
            model.SaleTransactionList = _context.SaleTransaction.Where(r => r.SaleBillID == id).ToList();
            return(View(model));
        }
        public async Task <IActionResult> Edit(int?id)
        {
            string CompId = User.Claims.Where(r => r.Type == "CompanyID").FirstOrDefault().Value;
            int    CompID = Convert.ToInt32(CompId);

            if (id == null)
            {
                return(NotFound());
            }
            SaleBillVM model = new SaleBillVM();

            var saleBill = await _context.SaleBill.SingleOrDefaultAsync(m => m.SaleBillID == id);

            if (saleBill == null)
            {
                return(NotFound());
            }

            model.SaleBillID    = saleBill.SaleBillID;
            model.Balance       = saleBill.Balance;
            model.BillDate      = saleBill.BillDate;
            model.CashPaid      = saleBill.CashPaid;
            model.ContactNumber = saleBill.ContactNumber;
            model.ContactPerson = saleBill.ContactPerson;
            model.CreditDays    = saleBill.CreditDays;
            model.CurrencyID    = saleBill.CurrencyID;
            model.ExchangeRate  = saleBill.ExchangeRate;
            model.ExternalRef   = saleBill.ExternalRef;
            model.GrossTotal    = saleBill.GrossTotal;
            model.NetAmount     = saleBill.NetAmount;
            model.PartiesID     = saleBill.PartiesID;
            model.PayTerms      = saleBill.PayTerms;
            model.SaleBillNo    = saleBill.SaleBillID.ToString();
            model.RefDate       = saleBill.RefDate;
            model.Remarks       = saleBill.Remarks;
            model.TDiscount     = saleBill.TDiscount;
            model.TotalQuantity = saleBill.TotalQuantity;
            model.SB_D_1        = saleBill.SB_D_1;

            model.SaleBillItem_List = _context.SaleBillItem.Include(r => r.Item).Where(r => r.SaleBillID == id).ToList();

            model.SaleTransactionList = _context.SaleTransaction.Where(r => r.SaleBillID == id).ToList();

            ViewData["Ids"]        = _context.Bank.Where(r => r.CompanyID == CompID).Select(m => m.BankID).ToList();
            ViewData["Name"]       = _context.Bank.Where(r => r.CompanyID == CompID).Select(m => m.BankName).ToList();
            ViewData["BankID"]     = new SelectList(_context.Bank.Where(r => r.CompanyID == CompID), "BankID", "BankName");
            ViewData["CurrencyID"] = new SelectList(_context.Currency.Where(r => r.CompanyID == CompID), "CurrencyID", "CurrencyName", saleBill.CurrencyID);
            ViewData["PartiesID"]  = new SelectList(_context.Parties.Where(r => r.CompanyID == CompID), "PartiesID", "PartyName", saleBill.PartiesID);
            return(View(model));
        }
        public async Task <IActionResult> InvoicePrint(int?id)
        {
            int?       CompID   = HttpContext.Session.GetInt32("CompanyID");
            SaleBillVM model    = new SaleBillVM();
            var        saleBill = await _context.SaleBill.SingleOrDefaultAsync(m => m.SaleBillID == id);

            if (saleBill == null)
            {
                return(NotFound());
            }

            if (_context.CompanyProfile.Where(r => r.CompanyID == CompID).Any() == true)
            {
                model.CompanyName = _context.CompanyProfile.Where(r => r.CompanyID == CompID).FirstOrDefault().CompanyName;
            }

            model.SaleBillID = saleBill.SaleBillID;
            model.Balance    = saleBill.Balance;

            model.SB_S_1        = saleBill.BillDate.ToString("dd/MM/yyyy");
            model.CashPaid      = saleBill.CashPaid;
            model.ContactNumber = saleBill.ContactNumber;
            model.ContactPerson = saleBill.ContactPerson;
            model.CreditDays    = saleBill.CreditDays;
            model.CurrencyID    = saleBill.CurrencyID;
            model.ExchangeRate  = saleBill.ExchangeRate;
            model.ExternalRef   = saleBill.ExternalRef;
            model.GrossTotal    = saleBill.GrossTotal;
            model.NetAmount     = saleBill.NetAmount;
            model.PartiesID     = saleBill.PartiesID;
            model.PayTerms      = saleBill.PayTerms;
            model.SaleBillNo    = saleBill.SaleBillID.ToString();
            model.SB_S_2        = saleBill.RefDate.ToString("dd/MM/yyyy");
            model.SB_B_1        = saleBill.SB_B_1;

            model.Remarks             = saleBill.Remarks;
            model.TDiscount           = saleBill.TDiscount;
            model.TotalQuantity       = saleBill.TotalQuantity;
            model.SaleBillItem_List   = _context.SaleBillItem.Include(r => r.Item).Where(r => r.SaleBillID == id).ToList();
            model.SaleTransactionList = _context.SaleTransaction.Where(r => r.SaleBillID == id).ToList();
            return(View(model));
        }