public async Task <IActionResult> Edit(int id, [Bind("DuesListId,Amount,IsRecovered,RecoveryDate,DailySaleId,IsPartialRecovery,StoreId,UserId")] DuesList duesList) { if (id != duesList.DuesListId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(duesList); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DuesListExists(duesList.DuesListId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["DailySaleId"] = new SelectList(_context.DailySales, "DailySaleId", "InvNo", duesList.DailySaleId); //ViewData["StoreId"] = new SelectList(_context.Stores, "StoreId", "StoreName", duesList.StoreId); return(PartialView(duesList)); }
public async Task <IActionResult> PutDuesList(int id, DuesList duesList) { if (id != duesList.DuesListId) { return(BadRequest()); } _context.Entry(duesList).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DuesListExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <DuesList> > PostDuesList(DuesList duesList) { _context.DuesLists.Add(duesList); await _context.SaveChangesAsync(); return(CreatedAtAction("GetDuesList", new { id = duesList.DuesListId }, duesList)); }
private void UpdateDueAmount(AprajitaRetailsContext db, DailySale dailySale, bool IsEdit) { if (IsEdit) { var dId = db.DuesLists.Where(c => c.DailySaleId == dailySale.DailySaleId).FirstOrDefault(); if (dId != null) { db.DuesLists.Remove(dId); } else { //TODO: Handle this } } else { decimal dueAmt; if (dailySale.Amount != dailySale.CashAmount) { dueAmt = dailySale.Amount - dailySale.CashAmount; } else { dueAmt = dailySale.Amount; } DuesList dl = new DuesList() { Amount = dueAmt, DailySale = dailySale, DailySaleId = dailySale.DailySaleId }; db.DuesLists.Add(dl); } }
/// <summary> /// ProcessAccounts Handle Cash/Bank flow and update related tables /// </summary> /// <param name="dailySale"></param> private void ProcessAccounts(DailySale dailySale) { if (!dailySale.IsSaleReturn) { if (!dailySale.IsDue) { if (dailySale.PayMode == PayModes.Cash && dailySale.CashAmount > 0) { Utils.UpDateCashInHand(db, dailySale.SaleDate, dailySale.CashAmount); } //TODO: in future make it more robust if (dailySale.PayMode != PayModes.Cash && dailySale.PayMode != PayModes.Coupons && dailySale.PayMode != PayModes.Points) { Utils.UpDateCashInBank(db, dailySale.SaleDate, dailySale.Amount - dailySale.CashAmount); } } else { decimal dueAmt; if (dailySale.Amount != dailySale.CashAmount) { dueAmt = dailySale.Amount - dailySale.CashAmount; } else { dueAmt = dailySale.Amount; } DuesList dl = new DuesList() { Amount = dueAmt, DailySale = dailySale, DailySaleId = dailySale.DailySaleId }; db.DuesLists.Add(dl); if (dailySale.PayMode == PayModes.Cash && dailySale.CashAmount > 0) { Utils.UpDateCashInHand(db, dailySale.SaleDate, dailySale.CashAmount); } //TODO: in future make it more robust if (dailySale.PayMode != PayModes.Cash && dailySale.PayMode != PayModes.Coupons && dailySale.PayMode != PayModes.Points) { Utils.UpDateCashInBank(db, dailySale.SaleDate, dailySale.CashAmount); //TODO: Here adding card amount in cash amoutn } } } else { if (dailySale.PayMode == PayModes.Cash && dailySale.CashAmount > 0) { Utils.UpDateCashOutHand(db, dailySale.SaleDate, dailySale.CashAmount); } //TODO: in future make it more robust if (dailySale.PayMode != PayModes.Cash && dailySale.PayMode != PayModes.Coupons && dailySale.PayMode != PayModes.Points) { Utils.UpDateCashOutBank(db, dailySale.SaleDate, dailySale.Amount - dailySale.CashAmount); } dailySale.Amount = 0 - dailySale.Amount; } }
private void UpdateDueAmount(eStoreDbContext db, DailySale dailySale, bool IsEdit) { if (IsEdit) { var dId = db.DuesLists.Where(c => c.DailySaleId == dailySale.DailySaleId).FirstOrDefault(); if (dId != null) { db.DuesLists.Remove(dId); decimal dueAmt; if (dailySale.Amount != dailySale.CashAmount) { dueAmt = dailySale.Amount - dailySale.CashAmount; } else { dueAmt = dailySale.Amount; } DuesList dl = new DuesList() { Amount = dueAmt, DailySale = dailySale, DailySaleId = dailySale.DailySaleId, StoreId = dailySale.StoreId , IsPartialRecovery = false, IsRecovered = false, UserId = dailySale.UserId }; db.DuesLists.Add(dl); } else { //TODO: Handle this } } else { decimal dueAmt; if (dailySale.Amount != dailySale.CashAmount) { dueAmt = dailySale.Amount - dailySale.CashAmount; } else { dueAmt = dailySale.Amount; } DuesList dl = new DuesList() { Amount = dueAmt, DailySale = dailySale, DailySaleId = dailySale.DailySaleId, StoreId = dailySale.StoreId , IsPartialRecovery = false, IsRecovered = false, UserId = dailySale.UserId }; db.DuesLists.Add(dl); } }
public async Task <IActionResult> Create([Bind("DuesListId,Amount,IsRecovered,RecoveryDate,DailySaleId,IsPartialRecovery")] DuesList duesList) { if (ModelState.IsValid) { _context.Add(duesList); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["DailySaleId"] = new SelectList(_context.DailySales, "DailySaleId", "InvNo", duesList.DailySaleId); return(PartialView(duesList)); }
public void OnUpdate(AprajitaRetailsContext db, DueRecoverd objects) { DueRecoverd dr = db.DueRecoverds.Find(objects.DueRecoverdId); DuesList duesList = db.DuesLists.Find(objects.DuesListId); if (dr.AmountPaid != objects.AmountPaid) { //Remove Amount from In-Hands if (dr.Modes == PaymentModes.Cash) { CashTrigger.UpdateCashInHand(db, objects.PaidDate, 0 - dr.AmountPaid); } else { CashTrigger.UpdateCashInBank(db, objects.PaidDate, 0 - dr.AmountPaid); } //Add Amount if (objects.Modes == PaymentModes.Cash) { CashTrigger.UpdateCashInHand(db, objects.PaidDate, objects.AmountPaid); } else { CashTrigger.UpdateCashInBank(db, objects.PaidDate, objects.AmountPaid); } } if (dr.IsPartialPayment != objects.IsPartialPayment) { if (objects.IsPartialPayment && dr.IsPartialPayment == false) { duesList.IsPartialRecovery = true; duesList.IsRecovered = false; duesList.RecoveryDate = null; } else if (dr.IsPartialPayment && objects.IsPartialPayment == false) { duesList.IsPartialRecovery = false; duesList.IsRecovered = true; duesList.RecoveryDate = objects.PaidDate; } } db.Entry(dr).State = EntityState.Modified; db.Entry(duesList).State = EntityState.Modified; }
private void ProcessAccountEdit(DueRecoverd objects) { DueRecoverd dr = db.Recoverds.Find(objects.DueRecoverdId); DuesList duesList = db.DuesLists.Find(objects.DuesListId); if (dr.AmountPaid != objects.AmountPaid) { //Remove Amount from In-Hands if (dr.Modes == PaymentModes.Cash) { Utils.UpDateCashInHand(db, objects.PaidDate, 0 - dr.AmountPaid); } else { Utils.UpDateCashInBank(db, objects.PaidDate, 0 - dr.AmountPaid); } //Add Amount if (objects.Modes == PaymentModes.Cash) { Utils.UpDateCashInHand(db, objects.PaidDate, objects.AmountPaid); } else { Utils.UpDateCashInBank(db, objects.PaidDate, objects.AmountPaid); } } if (dr.IsPartialPayment != objects.IsPartialPayment) { if (objects.IsPartialPayment && dr.IsPartialPayment == false) { duesList.IsPartialRecovery = true; duesList.IsRecovered = false; duesList.RecoveryDate = null; } else if (dr.IsPartialPayment && objects.IsPartialPayment == false) { duesList.IsPartialRecovery = false; duesList.IsRecovered = true; duesList.RecoveryDate = objects.PaidDate; } } db.Entry(dr).State = EntityState.Detached; }
private async System.Threading.Tasks.Task <SortedList <int, int> > AddDueListsAsync(SortedDictionary <int, string> SaleList) { //DuesListId Amount IsRecovered RecoveryDate DailySaleId IsPartialRecovery StoreId var ws = xS.GetWS("DueLists"); var nonEmptyDataRows = ws.RowsUsed(); int Row = 6;//Title; SortedList <int, int> IDList = new SortedList <int, int>(); foreach (var dR in nonEmptyDataRows) { if (dR.RowNumber() > Row) { DuesList dL = new DuesList { IsRecovered = dR.Cell(3).GetBoolean(), Amount = dR.Cell(2).GetValue <decimal>(), DailySaleId = dR.Cell(5).GetValue <int>(), IsPartialRecovery = dR.Cell(6).GetBoolean(), StoreId = dR.Cell(7).GetValue <int>(), UserId = "Admin" }; try { dL.RecoveryDate = (DateTime?)dR.Cell(4).GetDateTime() ?? null; } catch (Exception ex) { } dL.DailySaleId = GetSaleId(SaleList.GetValueOrDefault(dL.DailySaleId)); db.DuesLists.Add(dL); await db.SaveChangesAsync(); IDList.Add(dR.Cell(1).GetValue <int>(), dL.DuesListId); } } return(IDList); }
private void ProcessAccountDelete(DueRecoverd objects) { DuesList duesList = db.DuesLists.Find(objects.DuesListId); if (objects.Modes == PaymentModes.Cash) { Utils.UpDateCashInHand(db, objects.PaidDate, 0 - objects.AmountPaid); } else { Utils.UpDateCashInBank(db, objects.PaidDate, 0 - objects.AmountPaid); } if (objects.IsPartialPayment) { duesList.IsPartialRecovery = false; } else { duesList.IsRecovered = false; duesList.RecoveryDate = null; } }
public void OnInsert(AprajitaRetailsContext db, DueRecoverd objects) { DuesList duesList = db.DuesLists.Find(objects.DuesListId); if (objects.Modes == PaymentModes.Cash) { CashTrigger.UpdateCashInHand(db, objects.PaidDate, objects.AmountPaid); } else { CashTrigger.UpdateCashInBank(db, objects.PaidDate, objects.AmountPaid); } if (objects.IsPartialPayment) { duesList.IsPartialRecovery = true; } else { duesList.IsRecovered = true; duesList.RecoveryDate = objects.PaidDate; } db.Entry(duesList).State = EntityState.Modified; }