public async Task <Result <GetGoodDto> > CreateGoodAsync(CreateGoodDto goodToCreate) { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = await client.PostAsJsonAsync($"{BaseUrl}/{apiUrl}", goodToCreate); return(response.IsSuccessStatusCode ? await response.Content.ReadAsAsync <Result <GetGoodDto> >() : new Result <GetGoodDto> { IsSuccess = false, Message = ReasonPhrases.GetReasonPhrase(Convert.ToInt32(response.StatusCode)) }); } }
public JObject CreateGood(CreateGoodDto dto) { JObject jo = new JObject(); if (dto.Number == "" || dto.Number.Length > 100) { jo["stateCode"] = 400; jo["message"] = "商品编号不合法,无法添加!"; return(jo); } else if (dto.Name == "" || dto.Name.Length > 100) { jo["stateCode"] = 400; jo["message"] = "商品名称不合法,无法添加!"; return(jo); } else if (dto.Price <= 0m) { jo["stateCode"] = 400; jo["message"] = "商品价格不合法,无法添加!"; return(jo); } else if (dto.TagsId.Count() > 5) { jo["stateCode"] = 400; jo["message"] = "商品标签数超过五个,无法添加!"; return(jo); } else if (dto.Description.Length > 2000) { jo["stateCode"] = 400; jo["message"] = "商品描述超过2000个字符,无法添加!"; return(jo); } var isRepeat = WebapiDbContext.Goods.Where(o => o.Number == dto.Number).FirstOrDefault(); if (isRepeat != null) { jo["stateCode"] = 400; jo["message"] = "商品编号重复,无法添加!"; return(jo); } dto.Price = System.Decimal.Round(System.Decimal.Floor(dto.Price * 100) / 100, 2); WebapiDbContext.Goods.Add(new Repository.Entity.Good() { Number = dto.Number, Name = dto.Name, Price = dto.Price, Description = dto.Description, State = "待上架", Is_deleted = "否", Created_at = DateTime.Now, Updated_at = DateTime.Now }); WebapiDbContext.SaveChanges(); var length = dto.TagsId.Length; for (var i = 0; i < length; i++) { var result = WebapiDbContext.Goods.Where(o => o.Number == dto.Number).Select(o => new CreateGoodDto { Id = o.Id }).FirstOrDefault(); WebapiDbContext.GoodTags.Add(new Repository.Entity.Goodtags() { Tag_id = dto.TagsId[i], Good_id = result.Id }); } WebapiDbContext.SaveChanges(); jo["stateCode"] = 200; jo["message"] = "success!"; return(jo); }