private void SaveCounter() { CounterPurchas newCounter = new CounterPurchas() { Id = PurchaseCounterId, CounterNumber = CounterNumberTextbox.Text.Trim(), Date = PaymentDatePicker.Value, Remarks = RemarksTextbox.Text.Trim(), Total = TotalAmountDueTextbox.Text.ToDecimal(), WitholdingTax = WitholdingTaxTextbox.Text.ToDecimal(), Discount = DiscountTextbox.Value, SupplierId = (int)CustomerDropdown.SelectedValue }; foreach (var item in invoiceList) { newCounter.CounterPurchasesItems.Add(new CounterPurchasesItem() { Amount = item.Amount, PurchaseId = item.PurchaseId, PurchaseReturnDetailId = item.ReturnId }); } ToggleButtons(false); LoadImage.Visible = true; if (!worker.IsBusy) { worker.RunWorkerAsync(newCounter); } }
public void Insert(CounterPurchas counter) { try { using (this.unitOfWork) { if (counter != null) { counter.IsDeleted = false; this.unitOfWork.Context.CounterPurchases.AddObject(counter); this.unitOfWork.SaveChanges(); } } } catch (Exception ex) { throw ex; } }
public void Update(CounterPurchas newCounter) { try { using (this.unitOfWork) { var original = db.CounterPurchases.Single(a => a.Id == newCounter.Id); original.CounterPurchasesItems.ToList().ForEach(a => db.DeleteObject(a)); newCounter.CounterPurchasesItems.ToList().ForEach(a => original.CounterPurchasesItems.Add(a)); this.unitOfWork.Context.CounterPurchases.Attach(original); this.unitOfWork.Context.CounterPurchases.ApplyCurrentValues(newCounter); this.unitOfWork.SaveChanges(); } } catch (Exception ex) { throw ex; } }
void worker_DoWork(object sender, DoWorkEventArgs e) { try { CounterPurchas args = (CounterPurchas)e.Argument; if (args != null) { if (args.Id == 0) { this.purchaseCounterController.Insert(args); } else { this.purchaseCounterController.Update(args); } } } catch (Exception ex) { throw ex; } }