public async System.Threading.Tasks.Task Save() { RequestUnidadeMedidaSave unidadeMedidaToBeSave = new RequestUnidadeMedidaSave { Id = 0, Nome = "N" + DateTime.Now.ToString(), Representacao = "TNT", FatorConversao = 45, TipoUnidadeId = 2 }; HttpResponseMessage response = await _clientCall.Save(_baseController + "Save/", JsonConvert.SerializeObject(unidadeMedidaToBeSave)); Assert.IsTrue(response.IsSuccessStatusCode); if (response.IsSuccessStatusCode) { var retorno = await response.Content.ReadAsStringAsync(); RequestUnidadeMedidaSave unidadeMedidaRetornoJson = JsonConvert.DeserializeObject <RequestUnidadeMedidaSave>(JObject.Parse(retorno)["data"].ToString()); UnidadeMedida unidadeMedidafterSaveDataBase = _unitOfw.UnidadeMedidaRepository.Get(y => y.Id == unidadeMedidaRetornoJson.Id).FirstOrDefault(); Assert.AreEqual(unidadeMedidaRetornoJson.Id, unidadeMedidafterSaveDataBase.Id); Assert.AreEqual(unidadeMedidafterSaveDataBase.Nome, unidadeMedidaRetornoJson.Nome); Assert.AreEqual(unidadeMedidafterSaveDataBase.FatorConversao, unidadeMedidaRetornoJson.FatorConversao); Assert.AreEqual(unidadeMedidafterSaveDataBase.Representacao, unidadeMedidaRetornoJson.Representacao); Assert.AreEqual(unidadeMedidafterSaveDataBase.TipoUnidadeId, unidadeMedidaRetornoJson.TipoUnidadeId); } }
public IActionResult Post([FromBody] RequestUnidadeMedidaSave unidadeMedida) { try { if (!ModelState.IsValid) { return(new BadRequestObjectResult(ModelState.GenerateValidation())); } if (unitOfw.TipoUnidadeRepository.Count(y => y.Id == unidadeMedida.TipoUnidadeId) == 0) { BaseViewModel <string> notFound = new BaseViewModel <string>("Tipo Unidade Not Found!"); return(NotFound(notFound)); } if (unitOfw.UnidadeMedidaRepository.Count(y => y.Nome == unidadeMedida.Nome && y.Id != unidadeMedida.Id) > 0) { BaseViewModel <string> already = new BaseViewModel <string>("Nome Already!"); return(BadRequest(already)); } UnidadeMedida tobeSave = _mapper.Map <UnidadeMedida>(unidadeMedida); if (!unidadeMedida.Id.HasValue || unidadeMedida.Id == 0) { unitOfw.UnidadeMedidaRepository.Insert(tobeSave); } else { if (unitOfw.UnidadeMedidaRepository.Count(y => y.Id == unidadeMedida.Id) == 0) { return(NotFound()); } unitOfw.UnidadeMedidaRepository.Update(tobeSave); } unidadeMedida.Id = tobeSave.Id; BaseViewModel <RequestUnidadeMedidaSave> baseObj = new BaseViewModel <RequestUnidadeMedidaSave>(unidadeMedida, "Tipo Unidade Saved Successfully!", ""); return(Ok(baseObj)); } catch (Exception ex) { return(BadRequest(ex)); } }