public async System.Threading.Tasks.Task Get() { int cenarioId = 2007; int noId = 26; HttpResponseMessage response = await _clientCall.Detail($"{_baseController}Detail/{cenarioId}/{noId}"); Assert.IsTrue(response.IsSuccessStatusCode); var retorno = await response.Content.ReadAsStringAsync(); FornecimentoCenarioSave FornecimentoCenarioResponseJson = JsonConvert.DeserializeObject <FornecimentoCenarioSave>(JObject.Parse(retorno)["data"].ToString()); FornecimentoCenario fornecimentoCenarioFromDataBase = _unitOfw.FornecimentoCenarioRepository.Get(y => y.NoId == FornecimentoCenarioResponseJson.NoId && y.CenarioId == cenarioId).FirstOrDefault(); Assert.AreEqual(fornecimentoCenarioFromDataBase.NoId, FornecimentoCenarioResponseJson.NoId); Assert.AreEqual(fornecimentoCenarioFromDataBase.CenarioId, FornecimentoCenarioResponseJson.CenarioId); Assert.AreEqual(fornecimentoCenarioFromDataBase.Suprimento, FornecimentoCenarioResponseJson.Suprimento); Assert.AreEqual(fornecimentoCenarioFromDataBase.CapacidadePoroes, FornecimentoCenarioResponseJson.CapacidadePoroes); Assert.AreEqual(fornecimentoCenarioFromDataBase.SuprimentoAgregado, FornecimentoCenarioResponseJson.SuprimentoAgregado); Assert.AreEqual(fornecimentoCenarioFromDataBase.SuprimentoSemiContinuo, FornecimentoCenarioResponseJson.SuprimentoSemiContinuo); Assert.AreEqual(fornecimentoCenarioFromDataBase.IncluirCalculoImpostos, FornecimentoCenarioResponseJson.IncluirCalculoImpostos); Assert.AreEqual(fornecimentoCenarioFromDataBase.SuprimentoAgregadoSemiContinuo, FornecimentoCenarioResponseJson.SuprimentoAgregadoSemiContinuo); }
private bool SaveFornecimentoCenario(RequestCenarioFluxogramaSave cenarioFluxograma) { using (var context = new VCMContext()) { using (var transaction = context.Database.BeginTransaction()) { try { FornecimentoCenario fornecimentoCenarioOld = _unitOfw.FornecimentoCenarioRepository.Get(y => y.NoId == cenarioFluxograma.NoId && y.CenarioId == cenarioFluxograma.CenarioId).FirstOrDefault(); bool incluirCalculoImpostosOld = fornecimentoCenarioOld.IncluirCalculoImpostos; bool suprimentoOld = fornecimentoCenarioOld.Suprimento; string codigo = _unitOfw.NoRepository.Get(y => y.Id == cenarioFluxograma.NoId).Select(y => y.Codigo).FirstOrDefault(); List <Simbolo> simbolos = new List <Simbolo>(); if (!cenarioFluxograma.IncluirCalculoImpostos) { simbolos = _unitOfw.SimboloRepository.Get(y => y.Codigo == SimboloCodigo.PrecoCompraNF.ToString() || y.Codigo == SimboloCodigo.PrecoVendaNF.ToString() || y.Codigo == SimboloCodigo.ICMSPorctSubstEnt.ToString() || y.Codigo == SimboloCodigo.ICMSPorctSubstSai.ToString() || y.Codigo == SimboloCodigo.ValorBenefICMS.ToString()).ToList(); } else { incluirCalculoImpostosOld = _unitOfw.ArmazenamentoCenarioRepository.Get(y => y.NoId == cenarioFluxograma.NoId && y.CenarioId == cenarioFluxograma.CenarioId) .Select(y => y.IncluirCalculoImpostos).FirstOrDefault(); } if (suprimentoOld != cenarioFluxograma.Suprimento && cenarioFluxograma.Suprimento == false) { simbolos.AddRange(_unitOfw.SimboloRepository.Get(y => y.Codigo == SimboloCodigo.SuprLo.ToString() && y.Codigo == SimboloCodigo.SuprUp.ToString()).ToList()); } EntradaDelete(cenarioFluxograma.CenarioId, codigo, simbolos.Select(y => y.Id).ToList(), context); FornecimentoCenario tobeSave = _mapper.Map <FornecimentoCenario>(cenarioFluxograma); context.FornecimentoCenario.Update(tobeSave); if (!incluirCalculoImpostosOld && cenarioFluxograma.IncluirCalculoImpostos) { LerValoresSaidaEntradaBaseCalculoImposto(cenarioFluxograma.CenarioId, codigo, context); } context.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); } } } return(true); }
public async System.Threading.Tasks.Task Save() { FornecimentoCenarioSave fornecimentoCenarioToBeSave = new FornecimentoCenarioSave { CenarioId = 2007, NoId = 26, CapacidadePoroes = true, IncluirCalculoImpostos = true, Suprimento = true, SuprimentoAgregado = true, SuprimentoAgregadoSemiContinuo = true, SuprimentoSemiContinuo = true }; HttpResponseMessage response = await _clientCall.Save(_baseController + "Save/", JsonConvert.SerializeObject(fornecimentoCenarioToBeSave)); Assert.IsTrue(response.IsSuccessStatusCode); if (response.IsSuccessStatusCode) { var retorno = await response.Content.ReadAsStringAsync(); FornecimentoCenarioSave fornecimentoCenarioRetornoJson = JsonConvert.DeserializeObject <FornecimentoCenarioSave>(JObject.Parse(retorno)["data"].ToString()); FornecimentoCenario fornecimentoCenario = _unitOfw.FornecimentoCenarioRepository.Get(y => y.NoId == fornecimentoCenarioToBeSave.NoId && y.CenarioId == fornecimentoCenarioToBeSave.CenarioId) .FirstOrDefault(); Assert.AreEqual(fornecimentoCenarioToBeSave.NoId, fornecimentoCenarioRetornoJson.NoId); Assert.AreEqual(fornecimentoCenarioToBeSave.CenarioId, fornecimentoCenarioRetornoJson.CenarioId); Assert.AreEqual(fornecimentoCenarioToBeSave.Suprimento, fornecimentoCenarioRetornoJson.Suprimento); Assert.AreEqual(fornecimentoCenarioToBeSave.SuprimentoAgregado, fornecimentoCenarioRetornoJson.SuprimentoAgregado); Assert.AreEqual(fornecimentoCenarioToBeSave.SuprimentoAgregadoSemiContinuo, fornecimentoCenarioRetornoJson.SuprimentoAgregadoSemiContinuo); Assert.AreEqual(fornecimentoCenarioToBeSave.SuprimentoSemiContinuo, fornecimentoCenarioRetornoJson.SuprimentoSemiContinuo); Assert.AreEqual(fornecimentoCenarioToBeSave.CapacidadePoroes, fornecimentoCenarioRetornoJson.CapacidadePoroes); Assert.AreEqual(fornecimentoCenarioToBeSave.IncluirCalculoImpostos, fornecimentoCenarioRetornoJson.IncluirCalculoImpostos); Assert.AreEqual(fornecimentoCenarioToBeSave.NoId, fornecimentoCenario.NoId); Assert.AreEqual(fornecimentoCenarioToBeSave.CenarioId, fornecimentoCenario.CenarioId); Assert.AreEqual(fornecimentoCenarioToBeSave.Suprimento, fornecimentoCenario.Suprimento); Assert.AreEqual(fornecimentoCenarioToBeSave.SuprimentoAgregado, fornecimentoCenario.SuprimentoAgregado); Assert.AreEqual(fornecimentoCenarioToBeSave.SuprimentoAgregadoSemiContinuo, fornecimentoCenario.SuprimentoAgregadoSemiContinuo); Assert.AreEqual(fornecimentoCenarioToBeSave.SuprimentoSemiContinuo, fornecimentoCenario.SuprimentoSemiContinuo); Assert.AreEqual(fornecimentoCenarioToBeSave.CapacidadePoroes, fornecimentoCenario.CapacidadePoroes); Assert.AreEqual(fornecimentoCenarioToBeSave.IncluirCalculoImpostos, fornecimentoCenario.IncluirCalculoImpostos); } }
public IActionResult Post([FromBody] FornecimentoCenarioSave model) { try { if (!ModelState.IsValid) { return(new BadRequestObjectResult(ModelState.GenerateValidation())); } //TODO: fazer de um jeito mais generico a validação das FK if (_unitOfw.CenarioRepository.Count(p => p.Id == model.CenarioId) == 0) { BaseViewModel <string> notFound = new BaseViewModel <string>("Cenario Not Found!"); return(NotFound(notFound)); } if (_unitOfw.NoRepository.Count(p => p.Id == model.NoId) == 0) { BaseViewModel <string> notFound = new BaseViewModel <string>("No Not Found!"); return(NotFound(notFound)); } FornecimentoCenario tobeSave = _mapper.Map <FornecimentoCenario>(model); if (_unitOfw.FornecimentoCenarioRepository.Count(y => y.NoId == model.NoId && y.CenarioId == model.CenarioId) == 0) { _unitOfw.FornecimentoCenarioRepository.Insert(tobeSave); } else { _unitOfw.FornecimentoCenarioRepository.Update(tobeSave); } BaseViewModel <FornecimentoCenarioSave> baseObj = new BaseViewModel <FornecimentoCenarioSave>(model, "Fornecimento Cenario Saved Successfully!", ""); return(Ok(baseObj)); } catch (Exception ex) { throw; } }