public int SaveProduct(HsrOrderApp.BL.DomainModel.Product product) { try { string setname = "ProductSet"; Product dbProduct; bool isNew = false; if (product.ProductId == default(int) || product.ProductId <= 0) { isNew = true; dbProduct = new Product(); } else { dbProduct = new Product() { ProductId = product.ProductId, Version = product.Version.ToTimestamp() }; dbProduct.EntityKey = db.CreateEntityKey(setname, dbProduct); db.AttachTo(setname, dbProduct); } dbProduct.Name = product.Name; dbProduct.Category = product.Category; dbProduct.QuantityPerUnit = product.QuantityPerUnit; dbProduct.ListUnitPrice = product.ListUnitPrice; dbProduct.UnitsOnStock = product.UnitsOnStock; dbProduct.ProductNumber = product.ProductNumber; if (isNew) { db.AddToProductSet(dbProduct); } db.SaveChanges(); product.ProductId = dbProduct.ProductId; return(dbProduct.ProductId); } catch (OptimisticConcurrencyException ex) { if (ExceptionPolicy.HandleException(ex, "DA Policy")) { throw; } return(default(int)); } }
public int SaveProduct(HsrOrderApp.BL.DomainModel.Product product) { try { Product dbProduct = new Product(); bool isNew = false; if (product.ProductId == default(int) || product.ProductId <= 0) { isNew = true; } dbProduct.ProductId = product.ProductId; dbProduct.Version = product.Version.ToTimestamp(); dbProduct.Name = product.Name; dbProduct.Category = product.Category; dbProduct.QuantityPerUnit = product.QuantityPerUnit; dbProduct.ListUnitPrice = product.ListUnitPrice; dbProduct.UnitsOnStock = product.UnitsOnStock; dbProduct.ProductNumber = product.ProductNumber; if (isNew) { db.Products.InsertOnSubmit(dbProduct); } else { db.Products.Attach(dbProduct, true); } db.SubmitChanges(); product.ProductId = dbProduct.ProductId; return(dbProduct.ProductId); } catch (ChangeConflictException ex) { if (ExceptionPolicy.HandleException(ex, "DA Policy")) { throw; } return(default(int)); } }