private void calcularParametros() { if (nometbx.Text == "" || litragemtbx.Text == "0" || volumePreFervuratbx.Text == "0" || volumePosFervuratbx.Text == "0" || realOGtbx.Text == "0") { ms.camposNaoPreenchidos(); } else { ConversaoFuncoes converteUnidades = new ConversaoFuncoes(); Double totalMalte = 0.0; //Total Mate(base seca) //Double quantidadeMalte = 0.0; //Quantidade de malte utilizado Double potencialMedio = 0.0; //Potencial Médio Double teorSolidoSoluvel = 0.0; //Teor de sólidos solúveis //Double agua = 0.0; Double concentracaoFinalIdealKgSS = 0.0; //Concentração Final Ideal Double concentracaoFinalIdeal = 0.0; //Concentração Final Ideal Double ogEsperado = 0.0; //OG esperado Double ogReal = 0.0; //OG real //Double volumeFinal = 0.0; //Volume final Double rendimentoMalte = 0.0; //Rendimento Malte Double rendimentoLitros = 0.0; //Rendimento Litros Double rendimentoTotal = 0.0; //Rendimento total string tipoMalte = ""; string nomeMalte = ""; NunConvFuncao nunFuncao = new NunConvFuncao(); //*********************************************************************************************************** // Inicio percorrer listagem de ingredientes e realizar calculos de insumos //*********************************************************************************************************** if (gvIngredientes.Rows != null) { ingrediente = new Ingredientes(); foreach (DataGridViewRow row in gvIngredientes.Rows) { if (row.Cells["Descricao"].Value != null) { string insumo = Convert.ToString(row.Cells["TipoDoIngrediente"].Value); String nomeInsumo = Convert.ToString(nunFuncao.Converter(row.Cells["Descricao"].Value)); //*********************************************************************************************************** // Calculo rendimentos Malte //*********************************************************************************************************** if (insumo == "Malte") { totalMalte += Convert.ToDouble(row.Cells["Quantidade"].Value); MalteDAO dao = new MalteDAO(); MalteFuncoes funcao = new MalteFuncoes(); malteCollection = null; malteCollection = dao.GetMaltesPorNome(nomeInsumo); foreach (var _malte in malteCollection) { potencialMedio += (_malte.Aproveitamento * 0.01) * totalMalte; } potencialMedio = potencialMedio / totalMalte; totalMalte = totalMalte * 0.96; // Retira 4% do valor total teorSolidoSoluvel = potencialMedio * totalMalte; concentracaoFinalIdealKgSS = (potencialMedio * totalMalte) / Convert.ToDouble(litragemtbx.Text); concentracaoFinalIdeal = concentracaoFinalIdealKgSS * 100; ogEsperado = (1000 + concentracaoFinalIdeal * 4) / 1000; estimativaOGtbx.Text = Convert.ToString(converteUnidades.GravityParaBrix(ogEsperado)); rendimentoMalte = (1 - converteUnidades.BrixParaGravity(Convert.ToDouble(realOGtbx.Text))) / (1 - ogEsperado); eficienciaMalteTxt.Text = Convert.ToString(rendimentoMalte * 100); rendimentoLitros = Convert.ToDouble(volumePosFervuratbx.Text) / Convert.ToDouble(litragemtbx.Text); eficienciaVolumeTxt.Text = Convert.ToString(rendimentoLitros * 100); rendimentoTotal = rendimentoLitros * rendimentoMalte; eficienciaTotalTxt.Text = Convert.ToString(rendimentoTotal * 100); } //*********************************************************************************************************** // Calculo IBU //*********************************************************************************************************** else if (insumo == "Lupulo") { LupuloDAO lupuloDao = new LupuloDAO(); lupuloCollection = null; lupuloCollection = lupuloDao.GetLupulosPorNome(nomeInsumo); CalculoIBU calcIBU = new CalculoIBU(); foreach (var _lupulo in lupuloCollection) { estimativaIBUtbx.Text = Convert.ToString( calcIBU.CalculaIBU( Convert.ToDouble(row.Cells["Quantidade"].Value), calcIBU.Utilizacao(Convert.ToString(row.Cells["TempoAdicao"].Value), _lupulo.Forma), (_lupulo.AcidoAlfa / 100), Convert.ToDouble(volumePreFervuratbx.Text), calcIBU.DencidadeCorrigida(Convert.ToDouble(realOGtbx.Text)))).Substring(0, 5); } } //*********************************************************************************************************** // Calculo Adjunto //*********************************************************************************************************** else if (insumo == "Adjunto") { } //*********************************************************************************************************** // Calculo Ação e viabilização na recomendação de leveduras e atenuação de dencidade final //*********************************************************************************************************** else if (insumo == "Levedura") { LeveduraDAO leveduraoDao = new LeveduraDAO(); leveduraCollection = null; leveduraCollection = leveduraoDao.GetLevedurasPorNome(nomeInsumo); //CalculoIBU calcIBU = new CalculoIBU(); foreach (var _levedurao in leveduraCollection) { Double celulasNecessarias = ((Convert.ToDouble(pitchRateLb.Text) * 1000000) * ((Convert.ToDouble(volumePosFervuratbx.Text) * 1000) * Convert.ToDouble(realOGtbx.Text)) / 1000000000); celulasNecessariastbx.Text = Convert.ToString(celulasNecessarias).Substring(0, 4); Double recomendacao = celulasNecessarias / (_levedurao.CelulasPacote / (_levedurao.Viabilidade / 100)); recomendacaotbx.Text = Convert.ToString(recomendacao).Substring(0, 3); leveduraPacotesNecessariosTxt.Text = Convert.ToString(recomendacao / _levedurao.GramasPacote).Substring(0, 2); volumeAtivacaotbx.Text = Convert.ToString(recomendacao * 0.4).Substring(0, 3); } } } } } //*********************************************************************************************************** //***************Final percorrer listagem de ingredientes e realizar calculos de insumos********************* //*********************************************************************************************************** //*********************************************************************************************************** // Calculo teor de alcool //*********************************************************************************************************** CalculoSimples calculoSimples = new CalculoSimples(); realABVtbx.Text = Convert.ToString(calculoSimples.abv(Convert.ToDouble(realOGtbx.Text), Convert.ToDouble(realFGtbx.Text))); estimativaABVtbx.Text = Convert.ToString(calculoSimples.abv(Convert.ToDouble(estimativaOGtbx.Text), Convert.ToDouble(estimativaFGtbx.Text))); } }
private ReceitaModel setReceita() { NunConvFuncao nunFuncao = new NunConvFuncao(); if (receita.id == null) { receita = new ReceitaModel(); } if (gvIngredientes.Rows != null) { List <Ingredientes> ingredientesList = new List <Ingredientes>(); foreach (DataGridViewRow row in gvIngredientes.Rows) { if (row.Cells["Descricao"].Value != null) { ingrediente = new Ingredientes(); ingrediente.Ordem = Convert.ToInt32(nunFuncao.Converter(row.Cells["Ordem"].Value)); ingrediente.Quantidade = Convert.ToInt32(nunFuncao.Converter(row.Cells["Quantidade"].Value)); ingrediente.Descricao = Convert.ToString(nunFuncao.Converter(row.Cells["Descricao"].Value)); ingrediente.TempoAdicao = Convert.ToString(row.Cells["TempoAdicao"].Value); ingrediente.Tipo = Convert.ToString(row.Cells["Tipo"].Value); //ingrediente.PercentualIBU = Convert.ToDouble(row.Cells["IBU"].Value); ingrediente.PercentualIBU = Convert.ToDouble(nunFuncao.Converter(row.Cells["IBU"].Value)); ingrediente.Volume = Convert.ToDouble(nunFuncao.Converter(row.Cells["Volume"].Value)); ingrediente.Custo = Convert.ToDouble(nunFuncao.Converter(row.Cells["Custo"].Value)); ingrediente.TipoDoIngrediente = Convert.ToString(row.Cells["TipoDoIngrediente"].Value); ingredientesList.Add(ingrediente); } } if (ingredientesList != null) { receita.Ingredientes = ingredientesList; } } if (gvRampa.Rows != null) { List <RampaModel> rampaList = new List <RampaModel>(); foreach (DataGridViewRow row in gvRampa.Rows) { if (row.Cells["RDescricao"].Value != null) { rampa = new RampaModel(); rampa.Descricao = Convert.ToString(row.Cells["RDescricao"].Value); rampa.Temperatura = Convert.ToDouble(nunFuncao.Converter(row.Cells["RTemperatura"].Value)); rampa.Duracao = Convert.ToString(row.Cells["RDuracao"].Value); rampaList.Add(rampa); } } if (rampaList != null) { receita.Rampas = rampaList; } } if (gvFermentacao.Rows != null) { List <RampaModel> fermentacaoList = new List <RampaModel>(); foreach (DataGridViewRow row in gvFermentacao.Rows) { if (row.Cells["FDescricao"].Value != null) { etapaFermentacao = new RampaModel(); etapaFermentacao.Descricao = Convert.ToString(row.Cells["FDescricao"].Value); etapaFermentacao.Temperatura = Convert.ToDouble(nunFuncao.Converter(row.Cells["FTemperatura"].Value)); etapaFermentacao.Duracao = Convert.ToString(row.Cells["FDuracao"].Value); fermentacaoList.Add(etapaFermentacao); } } if (fermentacaoList != null) { receita.Fermentacao = fermentacaoList; } } receita.Nome = nometbx.Text; //receita.Cervejeiro = cervejeirotbx.SelectedIndex receita.Tipo = tipotbx.Text; //receita.Estilo = estilotbx.Text; receita.Litragem = Convert.ToDouble(nunFuncao.Converter(litragemtbx.Text)); receita.Versao = Convert.ToDouble(nunFuncao.Converter(versaotbx.Text)); receita.Data = Convert.ToDateTime(databx.Text); receita.VolPreFervura = Convert.ToDouble(nunFuncao.Converter(volumePosFervuratbx.Text)); receita.VolPosFervura = Convert.ToDouble(nunFuncao.Converter(volumePosFervuratbx.Text)); //receita.Cor = Convert.ToDouble(estimativaCORtbx.Text); receita.ABV = Convert.ToDouble(nunFuncao.Converter(realABVtbx.Text)); receita.Notas = notastbx.Text; //receita.Eficiencia receita.DuracaoFervura = tempoFervuratbx.Text; receita.OGBrix = Convert.ToDouble(nunFuncao.Converter(realOGtbx.Text)); receita.FGBrix = Convert.ToDouble(nunFuncao.Converter(realFGtbx.Text)); receita.CelulasNecessarias = Convert.ToDouble(nunFuncao.Converter(celulasNecessariastbx.Text)); receita.VolumeAtivacao = Convert.ToDouble(nunFuncao.Converter(volumeAtivacaotbx.Text)); //receita.VolumeRecomendado = Convert.ToDouble(nunFuncao.Converter(volumeRecomendadotbx.Text)); receita.RecomendacaoGramas = Convert.ToDouble(nunFuncao.Converter(recomendacaotbx.Text)); return(receita); }