public bool Add(PurechasesHeader purechasesHeader, EntitiesDbContext context) { context.Entry(purechasesHeader).State = EntityState.Added; context.SaveChanges(); SetPurechasesHeaderId(purechasesHeader.Id, purechasesHeader.PurechasesDetialsList); AddPurechasesDetials(purechasesHeader.PurechasesDetialsList, context); return(true); }
public bool Delete(long id, EntitiesDbContext context) { PurechasesHeader purechasesHeader = GetById(id); DeletePurchaseDetails(id); context.PurechasesHeaders.Remove(purechasesHeader); context.SaveChanges(); return(true); }
public bool Update(PurechasesHeader purechasesHeader) { _context.Entry(purechasesHeader).State = EntityState.Modified; _context.SaveChanges(); DeletePurchaseDetails(purechasesHeader.Id); SetPurechasesHeaderId(purechasesHeader.Id, purechasesHeader.PurechasesDetialsList); AddPurechasesDetials(purechasesHeader.PurechasesDetialsList, _context); _safeOperationsRepo.UpdateByHeaderId(purechasesHeader.Id, purechasesHeader.Total, AccountTypesEnum.Clients); return(true); }
public void DeleteRelatedPurechase(long orderHeaderId, EntitiesDbContext context) { Order_Purechase order_Purechase = _context.Order_Purechases.FirstOrDefault(x => x.OrderHeaderId == orderHeaderId); if (order_Purechase != null && order_Purechase.PurechasesHeaderId != 0) { PurechasesHeader purechasesHeader = _context.PurechasesHeaders.FirstOrDefault(x => x.Id == order_Purechase.PurechasesHeaderId); Delete(purechasesHeader.Id, context); } }
private Safe PrepareFarmerSafeEntity(PurechasesHeader entity, long orderId) { return(new Safe() { Date = entity.PurechasesDate, AccountId = entity.FarmerId, AccountTypeId = (int)AccountTypesEnum.Clients, Incoming = entity.Total, Notes = $"الفاتورة رقم :{entity.Id}", IsHidden = true, HeaderId = entity.Id, OrderId = orderId }); }
public bool Add(OrderDTO entity) { var options = GetOptions(); using (var context = new EntitiesDbContext(options)) { using (var transaction = context.Database.BeginTransaction()) { try { //[1] Save Order (Header and Details) _orderHeaderOperationsRepo.Add(entity.OrderHeader, context); //Save in OrderHeader Table (Master Table) entity.OrderDetails = SetOrderHeaderId(entity.OrderHeader.Id, entity.OrderDetails); //set OrderHeaderId to OrderDetails table _orderDetailsOperationsRepo.AddRange(entity.OrderDetails, context); //Save in OrderDetails table (details for master table) //[2] Save Purecchase pill PurechasesHeader purechasesHeader = PreparePurechasesEntity(entity); //Prepare PurchaseEntity(Header and details for Cleint) _purechasesOperationsRepo.Add(purechasesHeader, context); //Add Purchase(Header and Details) //[3] Save farmer safe in Safe Entity as hidden rows Safe farmerSafe = PrepareFarmerSafeEntity(purechasesHeader, entity.OrderHeader.Id); //Prepare Safe for Client _safeOperationsRepo.Add(farmerSafe, context); //Add Client Safe row //[4]Save Order_Purechase Order_Purechase order_Purechase = PrepareOrder_Purechase(entity.OrderHeader.Id, purechasesHeader.Id); _order_PurechaseOperationsRepo.Add(order_Purechase, context); //[5] Save Salesinvoice pill var salesinvoicesHeaderList = PrepareSalesinvoicesEntity(entity);//Prepare Salesinvoice(Header and Details) foreach (var salesinvoicesHeader in salesinvoicesHeaderList) { SalesinvoicesHeader updatedSalesinvoicesHeader = _salesinvoicesOperationsRepo.Add(salesinvoicesHeader, entity.OrderHeader.Id, context); //Save in Salesinvoice(Header and Details) and update Total _safeOperationsRepo.DeleteByHeaderId(updatedSalesinvoicesHeader.Id, AccountTypesEnum.Sellers, context); //Delete old record in safe related to this Seller var sellerSafe = PrepareSellerSafeEntity(updatedSalesinvoicesHeader, updatedSalesinvoicesHeader.Total, entity.OrderHeader.Id); _safeOperationsRepo.Add(sellerSafe, context); } transaction.Commit(); return(true); } catch (Exception ex) { transaction.Rollback(); return(false); } } } }
public bool UpdateInPrinting(PurechasesHeader entity) { PurechasesHeader purechaseHeader = GetById(entity.Id); purechaseHeader.Commission = entity.Commission; purechaseHeader.Nawlon = entity.Nawlon; purechaseHeader.CommissionRate = entity.CommissionRate; purechaseHeader.Gift = entity.Gift; purechaseHeader.Descent = entity.Descent; purechaseHeader.Expense = entity.Expense; purechaseHeader.IsPrinted = true; _context.Entry(purechaseHeader).State = EntityState.Modified; _context.SaveChanges(); _safeOperationsRepo.UpdateByHeaderId(entity.Id, entity.Total, AccountTypesEnum.Clients); return(true); }
public bool Update(OrderDTO entity) { var options = GetOptions(); using (var context = new EntitiesDbContext(options)) { using (var transaction = context.Database.BeginTransaction()) { try { //[1] Update Order (Master and Details) _orderHeaderOperationsRepo.Update(entity.OrderHeader, context); //Update Order table(Master) _orderHeaderOperationsRepo.DeleteRelatedOrderDetials(entity.OrderHeader.Id, context); //Delete order details related to this order header SetOrderHeaderId(entity.OrderHeader.Id, entity.OrderDetails); _orderDetailsOperationsRepo.AddRange(entity.OrderDetails, context); //Adding of new Order Details //[2] Update Purechase (Master and Details) PurechasesHeader purechasesHeader = PreparePurechasesEntity(entity); var orderHeader = _order_PurechaseOperationsRepo.GetByOrderHeaderId(entity.OrderHeader.Id); if (orderHeader != null && orderHeader.PurechasesHeaderId != 0) { purechasesHeader.Id = orderHeader.PurechasesHeaderId; _purechasesOperationsRepo.Update(purechasesHeader, context); } else { _purechasesOperationsRepo.Add(purechasesHeader, context); } //[3] Update Client Safe _safeOperationsRepo.DeleteByOrderId(entity.OrderHeader.Id, context); var safe = PrepareFarmerSafeEntity(purechasesHeader, entity.OrderHeader.Id); _safeOperationsRepo.Add(safe, context); //[4]Update Order_Purechase Order_Purechase order_Purechase = PrepareOrder_Purechase(entity.OrderHeader.Id, purechasesHeader.Id); _order_PurechaseOperationsRepo.Update(order_Purechase); //[5] Update Salesinvoice List <SalesinvoicesDetials> deletedSalesinvoicesDetials = _salesinvoicesOperationsRepo.DeleteSalesinvoiceDetails(entity.OrderHeader, context); //Delete SalesinvoiceDetails UpdateSalesInvoicTotal(deletedSalesinvoicesDetials, context); _salesinvoicesOperationsRepo.DeleteSalesinvoiceHeader(entity.OrderHeader.Created, context); //Delete Old Salesinvoice related to this Order var salesinvoicesHeaderList = PrepareSalesinvoicesEntity(entity); //Prepare Salesinvoice(Header and Details) foreach (var salesinvoicesHeader in salesinvoicesHeaderList) { SalesinvoicesHeader updatedSalesinvoicesHeader = _salesinvoicesOperationsRepo.Add(salesinvoicesHeader, entity.OrderHeader.Id, context); //Save in Salesinvoice(Header and Details) and update Total _safeOperationsRepo.DeleteByHeaderId(salesinvoicesHeader.Id, AccountTypesEnum.Sellers, context); //Delete old record in safe related to this Seller var sellerSafe = PrepareSellerSafeEntity(updatedSalesinvoicesHeader, updatedSalesinvoicesHeader.Total, entity.OrderHeader.Id); _safeOperationsRepo.Add(sellerSafe, context); } transaction.Commit(); return(true); } catch (Exception ex) { LogFile.WriteLog(ex.Message); transaction.Rollback(); return(false); } } } }
public JsonResult UpdateInPrinting(PurechasesHeader purechasesHeader) { return(Json(_purechasesOperationsRepo.UpdateInPrinting(purechasesHeader))); }