public async Task <dynamic> Submit([FromBody] Model.BrandPost.Submit.Input input) { return(await _brandPost.Submit(input)); }
public async Task <ApiResult <long> > Submit(Model.BrandPost.Submit.Input input) { var output = new ApiResult <long>(); if (string.IsNullOrWhiteSpace(input.Name)) { output.Msgs.Add(new MsgResult("name", "common.name_empty")); } if (output.Msgs.Any()) { return(output); } var name = input.Name.Trim(); var queryBrandWithName = _repository.ProductBrandGetQuery(new Model.Repository.ProductBrandGetQuery.Input { Name = name }); try { if (input.Id.HasValue) { var item = await _repository.ProductBrandGetQuery(input.Id.Value).FirstOrDefaultAsync(); if (item == null) { output.Msgs.Add(new MsgResult("general", "common.not_exists")); return(output); } if (await queryBrandWithName.Where(x => !x.Name.Equals(item.Name)).AnyAsync()) { output.Msgs.Add(new MsgResult("name", "common.name_dupplicate")); return(output); } _unitOfWork.Edit(item, nameof(item.Name), name); _unitOfWork.Edit(item, nameof(item.PopularOrderNumber), input.PopularOrderNumber); await _unitOfWork.SaveChanges(); output.Code = Const.ApiCodeEnum.Success; output.Data = item.Id; } else { if (await queryBrandWithName.AnyAsync()) { output.Msgs.Add(new MsgResult("name", "common.name_dupplicate")); return(output); } var item = new Models.ProductBrand { Name = input.Name, PopularOrderNumber = input.PopularOrderNumber, }; await _unitOfWork._dbContext.ProductBrand.AddAsync(item); await _unitOfWork.SaveChanges(); input.Id = item.Id; output.Code = Const.ApiCodeEnum.Success; output.Data = item.Id; } if (input.FileList != null) { await _fileManage.Update(new File.Model.Manage.UpdateModel.Input { CategoryId = (long)Const.FileCategory.Brand, ItemId = input.Id.ToString(), IsTemp = false, FileList = input.FileList.Select((m, index) => new File.Model.Manage.UploadModel.File { Id = m.Id, OrderNumber = index }).ToList(), }); } } catch (Exception ex) { _logger.Error(ex, ex.Message); } return(output); }