/// <summary> /// 新建数据实体 /// </summary> /// <param name="entity">要新建的数据实体</param> /// <returns>返回新建的数据实体</returns> public virtual WebApiResult<Product_ProductDefinition> Add(Product_ProductDefinition entity) { var result = new WebApiResult<Product_ProductDefinition>(); #region 验证 if (Validate(result, entity)) { if (DataContext.Product_ProductDefinition.Any(x => x.Deleted == false && x.Name == entity.Name)) { result.AddError(string.Format("名称 '{0}' 已经存在。", entity.Name)); } } #endregion #region 保存 if (result.Success) { var maxSortOrder = 0; if (DataContext.Product_ProductDefinition.Any()) { maxSortOrder = DataContext.Product_ProductDefinition.Max(x => x.SortOrder); } entity.SortOrder = maxSortOrder + 1; entity.Id = Guid.NewGuid(); entity.CreatedAt = DateTime.Now; entity.UpdatedAt = DateTime.Now; DataContext.Product_ProductDefinition.Add(entity); DataContext.SaveChanges(); result.Data = entity; } #endregion return result; }
/// <summary> /// 验证数据实体 /// </summary> /// <param name="result">result 参数</param> /// <param name="entity">要验证的数据实体</param> /// <returns>成功返回 true;否则返回 false。</returns> protected bool Validate(WebApiResult<Product_ProductDefinition> result, Product_ProductDefinition entity) { if (string.IsNullOrWhiteSpace(entity.Name)) { result.AddError("请输入参数产品名称。"); } //if (string.IsNullOrWhiteSpace(entity.CalType.ToString())) //{ // result.AddError("请输入参数产品计算类型。"); //} return result.Success; }
/// <summary> /// 更新数据实体 /// </summary> /// <param name="entity">要更新的数据实体</param> /// <returns>返回更新后的数据实体</returns> public virtual WebApiResult<Product_ProductDefinition> Update(Product_ProductDefinition entity) { var result = new WebApiResult<Product_ProductDefinition>(); #region 验证 if (Validate(result, entity)) { if (DataContext.Product_ProductDefinition.Any(x => x.Deleted == false && x.Id != entity.Id && x.Name == entity.Name)) { result.AddError(string.Format("名称 '{0}' 已经存在。", entity.Name)); } } #endregion #region 保存 if (result.Success) { var origin = DataContext.Product_ProductDefinition.FirstOrDefault(x => x.Id == entity.Id); if (origin != null) { origin.Name = entity.Name; origin.DownPayment = entity.DownPayment; origin.Margin = entity.Margin; origin.Fee = entity.Fee; origin.FinalPayment = entity.FinalPayment; origin.InterestRate = entity.InterestRate; origin.Lease = entity.Lease; //origin.CalType = entity.CalType; entity.UpdatedAt = DateTime.Now; DataContext.SaveChanges(); result.Data = origin; } } #endregion return result; }