Exemple #1
0
        private void BtCe_Click(object sender, EventArgs e)
        {
            valor1 = 0;
            valor2 = 0;

            TbResultado.Clear();
        }
Exemple #2
0
        private void BtIgual_Click(object sender, EventArgs e)
        {
            if (TbResultado.Text.Length > 0)
            {
                try
                {
                    valor2 = Convert.ToDouble(TbResultado.Text);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    TbResultado.Clear();
                }

                switch (op)
                {
                case '+':
                    TbResultado.Text = Convert.ToString(valor1 + valor2);
                    break;

                case '-':
                    TbResultado.Text = Convert.ToString(valor1 - valor2);
                    break;

                case '*':
                    TbResultado.Text = Convert.ToString(valor1 * valor2);
                    break;

                case '/':

                    if (valor2 == 0)
                    {
                        MessageBox.Show("No se puede dividir entre 0",
                                        "Error",
                                        MessageBoxButtons.OK,
                                        MessageBoxIcon.Warning);

                        TbResultado.Clear();
                    }
                    else
                    {
                        TbResultado.Text = Convert.ToString(valor1 / valor2);
                    }
                    break;

                case '%':
                    TbResultado.Text = Convert.ToString(valor1 % valor2);
                    break;

                case '√':
                    TbResultado.Text = Convert.ToString(Math.Sqrt(valor2));
                    break;

                case 'ª':
                    TbResultado.Text = Convert.ToString(Math.Pow(valor1, valor2));
                    break;
                }
            }
        }
Exemple #3
0
 private void BtPow_Click(object sender, EventArgs e)
 {
     if (TbResultado.Text.Length > 0)
     {
         valor1 = Convert.ToDouble(TbResultado.Text);
         op     = 'ª';
         TbResultado.Clear();
         TbResultado.Focus();
     }
 }
Exemple #4
0
        // Operaciones

        private void BtSuma_Click(object sender, EventArgs e)
        {
            if (TbResultado.Text.Length > 0)
            {
                if (TbResultado.Text.Length < 2 && Convert.ToChar(TbResultado.Text) == ',')
                {
                    return;
                }

                valor1 = Convert.ToDouble(TbResultado.Text);
                op     = '+';
                TbResultado.Clear();
                TbResultado.Focus();
            }
        }
        public async Task <IActionResult> Otimizar([FromBody] ParametrosCenso _formulario)
        {
            this.Formulario = _formulario;

            Stopwatch sw = new Stopwatch();

            sw.Start();

            var TaskEnade = await Task.Run(() => {
                return(this.Context.CursoCenso.ToList());
            });

            var ResId = Convert.ToInt64(DateTime.Now.ToString("yyyyMMddHHmmss"));

            try
            {
                var query = await this.Context.ProfessorCursoEmec.ToListAsync();

                var query20p = await this.Context.ProfessorCursoEmec20p.ToListAsync();

                var ListaCursoArea = await this.CursoEnquadramentoContext.CursoEnquadramento.ToListAsync();

                var ListaPrevisaoSKU = GeraListaPrevisaoSKU();

                var Cursoprofessor = MontaCursoProfessor(query, ListaCursoArea);

                // // Obtem lista dos professores escolhidos no filtro
                var lista = _formulario.MontaLista();

                List <CursoProfessor> cursoProfessorAtual = new List <CursoProfessor>();
                Cursoprofessor.ForEach((item) => {
                    cursoProfessorAtual.Add((CursoProfessor)item.Clone());
                }
                                       );

                var CursoNota = getNotaCursos(query, ListaCursoArea);

                var CursoEnade = TaskEnade.Where(x => x.IndEnade.Contains('S')).Select(c => c.CodEmec.ToString()).Distinct().ToList();

                List <Resultado> ResultadoAtual = Otm.CalculaNotaCursos(ListaPrevisaoSKU, cursoProfessorAtual, CursoEnade);

                // ######################## Alavanca 20% ######################## //

                if (_formulario.otimiza20p)
                {
                    Otm.AddProfessor20p(Cursoprofessor, query20p, ListaPrevisaoSKU, _formulario, CursoEnade);
                }

                List <Resultado> resultado = Otm.OtimizaCurso(ListaPrevisaoSKU, query, Cursoprofessor, ListaCursoArea, _formulario);

                // ############## Monta resultados a partir do cenário otimizado ################# //

                var Resumoresultado = Otm.MontaResultadoFinal(resultado);

                var ResumoresultadoAtual = Otm.MontaResultadoFinal(ResultadoAtual);


                sw.Stop();

                // ############ Monta Objeto resultado Otimizado ############## //
                Task <string> json = Task.Run(
                    () => {
                    return(JsonConvert.SerializeObject(resultado));
                }
                    );

                Task <string> formJson = Task.Run(
                    () => {
                    return(JsonConvert.SerializeObject(_formulario));
                }
                    );

                Task <string> resumoJson = Task.Run(
                    () => {
                    return((string)JsonConvert.SerializeObject(Resumoresultado));
                }
                    );

                Task <string> professorJson = Task.Run(
                    () => {
                    return(JsonConvert.SerializeObject(Cursoprofessor));
                }
                    );


                // ############ Monta Objeto resultado Atual ############## //
                Task <string> jsonAt = Task.Run(
                    () => {
                    return(JsonConvert.SerializeObject(ResultadoAtual));
                }
                    );

                Task <string> formJsonAt = Task.Run(
                    () => {
                    return(JsonConvert.SerializeObject(_formulario));
                }
                    );

                Task <string> resumoJsonAt = Task.Run(
                    () => {
                    return((string)JsonConvert.SerializeObject(ResumoresultadoAtual));
                }
                    );

                Task <string> professorJsonAt = Task.Run(
                    () => {
                    return(JsonConvert.SerializeObject(cursoProfessorAtual));
                }
                    );

                var objRes = new TbResultado();
                objRes.Id = ResId;

                var objResAtual = new TbResultadoAtual();
                objResAtual.Id = ResId;


                Task.WaitAll(json, formJson, resumoJson, professorJson);
                Task.WaitAll(jsonAt, formJsonAt, resumoJsonAt, professorJsonAt);

                objRes.Resultado     = json.Result;
                objRes.Parametro     = formJson.Result;
                objRes.Resumo        = resumoJson.Result;
                objRes.Professores   = professorJson.Result;
                objRes.TempoExecucao = DateTime.Now.ToString("HH:mm:ss");
                objRes.Observacao    = _formulario.Observacao;

                objResAtual.Resultado   = jsonAt.Result;
                objResAtual.Parametro   = formJsonAt.Result;
                objResAtual.Resumo      = resumoJsonAt.Result;
                objResAtual.Professores = professorJsonAt.Result;

                ProducaoContext.Add(objRes);
                ProducaoContext.Add(objResAtual);

                ProducaoContext.SaveChanges();

                return(Ok());
            }
            catch (System.Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Erro no processamento." + e.Message));
            }
        }
Exemple #6
0
 private void BtnDouble_Click(object sender, EventArgs e)
 {
     TbResultado.AppendText(Convert.ToString(','));
 }