private decimal CalcularAreaM2Real(GDASession sessao, Models.Produtos.V1.CalculoAreaM2.DadosProdutoDto dadosProduto) { var areaReal = (decimal)Global.CalculosFluxo.ArredondaM2( sessao, dadosProduto.Largura, (int)dadosProduto.Altura, (float)dadosProduto.Quantidade, dadosProduto.IdProduto, dadosProduto.Redondo, (float)dadosProduto.Espessura, dadosProduto.CalcularMultiploDe5); return(areaReal.Arredondar(2)); }
private decimal CalcularAreaM2Calculo(GDASession sessao, Models.Produtos.V1.CalculoAreaM2.DadosProdutoDto dadosProduto, bool usarChapaDeVidro) { var areaCalculada = (decimal)Global.CalculosFluxo.CalcM2Calculo( sessao, (uint)dadosProduto.IdCliente, (int)dadosProduto.Altura, dadosProduto.Largura, (float)dadosProduto.Quantidade, dadosProduto.IdProduto, dadosProduto.Redondo, dadosProduto.NumeroBeneficiamentosParaAreaMinima, 0, usarChapaDeVidro, (float)dadosProduto.Espessura, dadosProduto.CalcularMultiploDe5); return(areaCalculada.Arredondar(2)); }
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)); } }