public Guid Add(Order entity) { if (entity.BillNo <= 0) throw new ArgumentException("Order No cannot be empty!"); if (entity.CustomerId == Guid.Empty) throw new ArgumentException("Order Customer cannot be empty!"); if (entity.EmployeeId == Guid.Empty) throw new ArgumentException("Order Employee cannot be empty!"); if (CheckDuplicateBillNo(entity.Id, entity.BillNo)) throw new ArgumentException("Duplicate Order No found!"); using (OpenPOSDbEntities ctx = new OpenPOSDbEntities()) { try { ctx.Orders.MergeOption = MergeOption.NoTracking; ctx.Orders.AddObject(entity); ctx.SaveChanges(); var id = entity.Id; ctx.Detach(entity); return id; } catch (Exception ex) { LogService.Error("Error while adding order", ex); throw new ArgumentException("Error while adding new order!", ex); } } }
public Guid Add(Purchase entity) { if (string.IsNullOrEmpty(entity.BillNo)) throw new ArgumentException("Purchase No cannot be empty!"); if (entity.SupplierId == Guid.Empty) throw new ArgumentException("Purchase supplier cannot be empty!"); if (entity.EmployeeId == Guid.Empty) throw new ArgumentException("Purchase Employee cannot be empty!"); if (CheckDuplicateBillNo(entity.Id, entity.BillNo)) throw new ArgumentException("Duplicate Purchase No found!"); using (OpenPOSDbEntities ctx = new OpenPOSDbEntities()) { try { ctx.Purchases.MergeOption = MergeOption.NoTracking; ctx.Purchases.AddObject(entity); ctx.SaveChanges(); var id = entity.Id; ctx.Detach(entity); return id; } catch (Exception ex) { LogService.Error("Error while adding Purchase", ex); throw new ArgumentException("Error while adding new Purchase!", ex); } } }