Beispiel #1
0
        /// <summary>
        /// 保存规格
        /// </summary>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public async Task <ReturnResult> SaveAsync(SpecificationParameter parameter)
        {
            ReturnResult result        = new ReturnResult();
            var          specification = Mapper.Map <Specification>(parameter);

            specification.Name = specification.Name?.Trim();
            //验证规格名称
            if (string.IsNullOrEmpty(specification.Name))
            {
                result.IsSuccess = false;
                result.Message   = "规格名称不能为空";
                return(result);
            }
            //新增规格
            if (specification.Id <= 0)
            {
                var tmpSpecification = await context.Specifications.FirstOrDefaultAsync(c => c.Name == specification.Name && c.IsDel == false);

                if (tmpSpecification != null)
                {
                    result.IsSuccess = false;
                    result.Message   = "规格名称重复";
                    return(result);
                }
                //设置创建时间
                if (specification.CreateTime == DateTime.MinValue)
                {
                    specification.CreateTime = DateTime.Now;
                }
                //创建规格
                await context.Specifications.AddAsync(specification);

                await context.SaveChangesAsync();

                result.Id = specification.Id;
            }
            //更新规格
            else
            {
                var oldSpecification = await context.Specifications.FirstOrDefaultAsync(c => c.Id == specification.Id);

                if (oldSpecification == null || oldSpecification.IsDel)
                {
                    result.IsSuccess = false;
                    result.Message   = "规格已被删除";
                    return(result);
                }
                var tmpSpecification = await context.Specifications.FirstOrDefaultAsync(c => c.Name == specification.Name && c.IsDel == false);

                if (tmpSpecification != null && tmpSpecification.Id != oldSpecification.Id)
                {
                    result.IsSuccess = false;
                    result.Message   = "规格名称重复";
                    return(result);
                }
                //更新规格名称
                oldSpecification.Name = specification.Name;
                await context.SaveChangesAsync();
            }
            return(result);
        }
Beispiel #2
0
        /// <summary>
        /// 保存规格
        /// </summary>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public async Task <IActionResult> Save(SpecificationParameter parameter)
        {
            var result = await specificationManager.SaveAsync(parameter);

            return(Json(result));
        }