private static Product Transform(Product_dto data) { //Should throw an error if nullable types do not have values, object should check this first. return(new Product() { ProductID = data.ProductID.GetValueOrDefault(), Name = data.Name, ProductNumber = data.ProductNumber, MakeFlag = data.MakeFlag.GetValueOrDefault(), FinishedGoodsFlag = data.FinishedGoodsFlag.GetValueOrDefault(), Color = data.Color, SafetyStockLevel = data.SafetyStockLevel.GetValueOrDefault(), ReorderPoint = data.ReorderPoint.GetValueOrDefault(), StandardCost = data.StandardCost.GetValueOrDefault(), ListPrice = data.ListPrice.GetValueOrDefault(), Size = data.Size, SizeUnitMeasureCode = data.SizeUnitMeasureCode, WeightUnitMeasureCode = data.WeightUnitMeasureCode, Weight = data.Weight, DaysToManufacture = data.DaysToManufacture.GetValueOrDefault(), ProductLine = data.ProductLine, Class = data.Class, Style = data.Style, ProductSubcategoryID = data.ProductSubcategoryID, ProductModelID = data.ProductModelID, SellStartDate = data.SellStartDate ?? DateTime.UtcNow, SellEndDate = data.SellEndDate, DiscontinuedDate = data.DiscontinuedDate, rowguid = data.rowguid ?? Guid.NewGuid(), ModifiedDate = data.ModifiedDate ?? DateTime.UtcNow }); }
public Product_dto Save(Product_dto data) { using (var ctx = new AWEntities()) { var efo = Transform(data); ctx.Products.Attach(efo); ctx.Entry(efo).State = DbContextHelper.GetEntityState(data); ctx.SaveChanges(); return(Transform(ctx.Entry(efo).Entity)); } }
private static Product_dto Validate(Product_dto data) { if (!data.ProductID.HasValue) { data.ProductID = 0; } if (String.IsNullOrEmpty(data.Name)) { throw new Exception("Product Name is a required field"); } if (String.IsNullOrEmpty(data.ProductNumber)) { throw new Exception("Product Number is a required field"); } if (!data.MakeFlag.HasValue) { data.MakeFlag = true; } if (!data.FinishedGoodsFlag.HasValue) { data.FinishedGoodsFlag = true; } if (!data.SafetyStockLevel.HasValue || data.SafetyStockLevel == 0) { data.SafetyStockLevel = 1; } if (!data.ReorderPoint.HasValue) { data.ReorderPoint = 0; } if (!data.StandardCost.HasValue) { data.StandardCost = 0; } if (!data.ListPrice.HasValue) { data.ListPrice = 0; } if (!String.IsNullOrEmpty(data.Size)) { data.Size = data.Size.Substring(0, Math.Min(data.Size.Length, 5)); } if (!String.IsNullOrEmpty(data.SizeUnitMeasureCode)) { data.SizeUnitMeasureCode = data.SizeUnitMeasureCode.Substring(0, Math.Min(data.SizeUnitMeasureCode.Length, 3)); } if (!String.IsNullOrEmpty(data.WeightUnitMeasureCode)) { data.WeightUnitMeasureCode = data.WeightUnitMeasureCode.Substring(0, Math.Min(data.WeightUnitMeasureCode.Length, 3)); } if (!data.Weight.HasValue || data.SafetyStockLevel == 0) { data.Weight = 1; } if (!data.DaysToManufacture.HasValue) { data.DaysToManufacture = 0; } if (!String.IsNullOrEmpty(data.ProductLine)) { data.ProductLine = data.ProductLine.Substring(0, Math.Min(data.ProductLine.Length, 2)); } if (!String.IsNullOrEmpty(data.Class)) { data.Class = data.Class.Substring(0, Math.Min(data.Class.Length, 2)); } if (!String.IsNullOrEmpty(data.Style)) { data.Style = data.Style.Substring(0, Math.Min(data.Style.Length, 2)); } if (!data.SellStartDate.HasValue) { data.SellStartDate = DateTime.UtcNow; } if (!data.rowguid.HasValue) { data.rowguid = Guid.NewGuid(); } if (data.IsDirty || data.IsNew) { data.ModifiedDate = DateTime.UtcNow; } return(data); }
public static Product_dto Save(Product_dto data) { return(_context.Save(Validate(data))); }