public IHttpActionResult CalcularAreaM2([FromBody] Models.Produtos.V1.CalculoAreaM2.DadosProdutoDto dadosProduto) { if (dadosProduto == null) { return(this.ErroValidacao("Os dados do produto são obrigatórios.")); } dadosProduto.DadosAdicionaisValidacao = new ConversorDadosAdicionaisParaValidacao() .ConverterDadosCodificados(dadosProduto.DadosAdicionaisValidacao); var estrategiaValidacao = ValidacaoFactory.ObterEstrategiaCalculoAreaM2(this, dadosProduto.TipoValidacao); using (var sessao = new GDATransaction()) { var validacao = estrategiaValidacao.ValidarAntesCalculo(sessao, dadosProduto.DadosAdicionaisValidacao); if (validacao != null) { return(validacao); } var areaCalculada = new AreaCalculadaDto { AreaM2 = this.CalcularAreaM2Real(sessao, dadosProduto), AreaM2Calculo = this.CalcularAreaM2Calculo(sessao, dadosProduto, true), AreaM2CalculoSemChapaDeVidro = this.CalcularAreaM2Calculo(sessao, dadosProduto, false), }; validacao = estrategiaValidacao.ValidarDepoisCalculo(sessao, areaCalculada, dadosProduto.DadosAdicionaisValidacao); if (validacao != null) { return(validacao); } return(this.Item(areaCalculada)); } }
/// <inheritdoc/> public IHttpActionResult ValidarDepoisCalculo(GDASession sessao, AreaCalculadaDto areaCalculada, string dadosAdicionaisValidacao) { return(null); }