public IEnumerable <ProductDTO> GetAll()
        {
            Cronometro.Start();

            IEnumerable <ProductDTO> products = new List <ProductDTO>();

            string dataInCache = _distributedCache.GetString("Products");

            if (!string.IsNullOrEmpty(dataInCache))
            {
                Console.Write("#### Recuperando do Cache");
                products = JsonSerializer.Deserialize <IEnumerable <ProductDTO> >(dataInCache);
            }
            else
            {
                Console.Write("#### Recuperando do Banco de Dados");
                products = _repository.GetAll().Select(p => new ProductDTO()
                {
                    Id = p.Id, Name = p.Name, Price = p.Price, Group = p.Group
                });
                _distributedCache.SetString("Products", JsonSerializer.Serialize <IEnumerable <ProductDTO> >(products));
            }

            Cronometro.Stop();

            return(products);
        }
 public void stop()
 {
     Cronometro.Stop();
     BarraProgreso.Value = 0;
     ObjCasosDeUso.Reset();
     ContadorLabel.Text = ObjCasosDeUso.TIEMPO.ToString() + " SEG.";
 }
Exemple #3
0
        static void Main(string[] args)
        {
            Cronometro.Start();

            // aqui estamos criando uma Thread para cada método, ou seja, eles irão executar em paralelo:
            var threadA = new Thread(Processos.ProcessoA);
            var threadB = new Thread(Processos.ProcessoB);
            var threadC = new Thread(Processos.ProcessoC);

            threadA.Start();
            threadB.Start();
            threadC.Start();

            // enquanto a thread xpto não concluir o processamento:
            while (threadA.IsAlive || threadB.IsAlive || threadC.IsAlive)
            {
                // Esse loop pode ficar rodando inúmeras vezes sem necessidade e consumindo processamento.
                // Logo, fazer os processos dessas threads dormirem, nem q seja por poucos miléssimos de segundo irá reduzir o número de processamento
                // e ganhar desempenho:
                Thread.Sleep(250);
            }

            Console.WriteLine("\nProceso concluído!");

            Cronometro.Stop();
        }
Exemple #4
0
 private void Cronometro_Tick(object sender, EventArgs e)
 {
     Cronometro.Stop();
     this.Hide();
     GUI.PerfilesPrincipal f = new PerfilesPrincipal();
     f.ShowDialog();
 }
        private void Cronometro_Tick(object sender, EventArgs e)
        {
            try
            {
                ObjCasosDeUso.aumentar();
                ContadorLabel.Text  = ObjCasosDeUso.TIEMPO.ToString() + " SEG.";
                BarraProgreso.Value = ObjCasosDeUso.TIEMPO;

                if (BarraProgreso.Value == 11)
                {
                    Cronometro.Stop();
                    BarraProgreso.Value = 0;
                    ObjCasosDeUso.Reset();
                    ContadorLabel.Text = ObjCasosDeUso.TIEMPO.ToString() + " SEG.";

                    Btn_iniciar.Enabled = false;

                    Limpiar();

                    dataGridView1.Enabled = true;

                    ObjCasosDeUso.Actualizar(TurnoBox2.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString(),      //Obtengo el ID DEL USUARIO QUE ESTA JUGANDO.,
                                             "Perdedor");

                    MessageBox.Show($"Perdedor");

                    MostrarTodosLosDatos();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show($"{ex}");
            }
        }
Exemple #6
0
 private void Cronometro_Tick(object sender, EventArgs e)
 {
     pbCargar.Increment(1);
     if (pbCargar.Value == 100)
     {
         Cronometro.Stop();
         Close();
     }
 }
Exemple #7
0
        protected override void OnPause()
        {
            //avisamos pausa del servicio
            elMensaje.WriteEntry("Se pauso el servicio - ServicioArchivos");

            //iniciamos el timer por si se freno
            Cronometro.Enabled = false;
            Cronometro.Stop();
        }
 /// <summary>
 /// Inicia una cuenta regresiva
 /// </summary>
 /// <param name="SegundosAContar">int</param>
 private void RealizarConteo(int SegundosAContar)
 {
     CronometroInicioDePartida?.Stop();
     SegundosCuentaRegresiva   = SegundosAContar;
     CronometroInicioDePartida = new Cronometro(1000, (SegundosAContar * 1000));
     CronometroInicioDePartida.TranscurrioUnIntervalo += ActualizarSegundosContador;
     CronometroInicioDePartida.FinalizoElTimepo       += DesactivarPausa;
     CronometroInicioDePartida.Start();
 }
Exemple #9
0
        static void Execute()
        {
            Cronometro.Start();

            Processos.ProcessoA();
            Processos.ProcessoB();
            Processos.ProcessoC();

            Cronometro.Stop();
        }
 private void FrmEvaluacion_FormClosing(object sender, FormClosingEventArgs e)
 {
     Cronometro.Stop();
     foreach (Thread item in Listas.hilos)
     {
         if (item.IsAlive)
         {
             item.Abort();
         }
     }
 }
Exemple #11
0
        static void ExecuteAsync()
        {
            Cronometro.Start();

            Parallel.Invoke(
                () => Processos.ProcessoA(),
                () => Processos.ProcessoB(),
                () => Processos.ProcessoC());

            Cronometro.Stop();
        }
Exemple #12
0
        static void Main(string[] args)
        {
            Cronometro.Start();

            // Apenas uma Thread executando os métodos de forma síncrona:
            Processos.ProcessoA();
            Processos.ProcessoB();
            Processos.ProcessoC();

            Console.WriteLine("\nProceso concluído!");

            Cronometro.Stop();
        }
Exemple #13
0
 public string CerrarTraza(string mensaje)
 {
     Cronometro.Stop();
     mensaje = $"Petición finalizada" + Environment.NewLine +
               $"Total SQLs:     {duraciAcomulada,9:0.000}" + Environment.NewLine +
               $"Total petición: {Cronometro.ElapsedMilliseconds,9:0.000}" + Environment.NewLine +
               Environment.NewLine +
               Environment.NewLine +
               $"Total Sentencias:{sentenciasEjecutadas}" + Environment.NewLine +
               mensaje;
     Registrar(mensaje);
     Cerrar();
     return(mensaje);
 }
Exemple #14
0
 private void Cronometro_Tick(object sender, EventArgs e)
 {
     Cronometro.Stop();
     this.Close();
 }
        private void Cronometro_Tick(object sender, EventArgs e)
        {
            if (TiempoRestante > 0)
            {
                Cont.Text = (++TiempoTotal).ToString();
                TT.Text   = (++TiempoTranscurrido).ToString();
                TR.Text   = (--TiempoRestante).ToString();
            }
            else if (LoteActual.Procesos.Count > 0)
            {
                bandera = true;
                if (ProcesoActual != null)
                {
                    Concluidos.Add(ProcesoActual);
                    Resultados.Add(ProcesoActual.Resultado);
                    if (Concluidos.Count > 0)
                    {
                        Terminado.DataSource = SetCompletados(Concluidos);
                    }
                }
                ProcesoActual        = LoteActual.Procesos.Dequeue();
                Espera.DataSource    = Lotes;
                Ejecucion.DataSource = SetActual(ProcesoActual);
                TiempoRestante       = ProcesoActual.TiempoMaximo;
                TiempoTotal          = 0;
                TR.Text           = TiempoRestante.ToString();
                TT.Text           = TiempoTotal.ToString();
                Espera.DataSource = SetEspera(LoteActual, bandera);
            }
            else if (Lotes.Count > 0)
            {
                LoteActual        = Lotes.Dequeue();
                Espera.DataSource = SetEspera(LoteActual, bandera);
            }
            else
            {
                if (ProcesoActual != null)
                {
                    Concluidos.Add(ProcesoActual);
                    Resultados.Add(ProcesoActual.Resultado);
                    Terminado.DataSource = SetCompletados(Concluidos);
                    ProcesoActual        = null;
                    Ejecucion.DataSource = null;
                    int Contador = 0;
                    int numLote  = 1;
                    foreach (int resultado in Resultados)
                    {
                        try
                        {
                            if (!File.Exists(RutaResultados))
                            {
                                using (StreamWriter sw = File.CreateText(RutaResultados))
                                {
                                    numLote = 1;
                                    sw.WriteLine("Resultado: " + resultado + " Numero de Lote: " + numLote);
                                    sw.Close();
                                }
                            }
                            else
                            {
                                using (StreamWriter sw = File.AppendText(RutaResultados))
                                {
                                    if (Contador == 6)
                                    {
                                        Contador = 0;
                                        numLote++;
                                    }
                                    sw.WriteLine("Resultado: " + resultado + " Numero de Lote: " + numLote);
                                    sw.Close();
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("Exepcion: " + ex.Message);
                        }
                        Contador++;
                    }
                    Cronometro.Stop();
                }
            }
            ContadorLotes.Text = Lotes.Count.ToString();

            System.Threading.Thread.Sleep(1000);
        }
Exemple #16
0
        public override void ExecutarMetaheuristica()
        {
            //return Task.Factory.StartNew(() =>
            //{
            int iterAtual = 0, melhor_i = -1, melhor_j = -1, foMenorCutwidthSolucaoAtual = 0, foMenorSomaCutwidthSolucaoAtual = 0, foMenorQuantidadeVerticesMaiorCutwidthSolucaoAtual = 0;

            var estruturaTabu = new EstruturaTabu(base.NumeroVertices, this.NumeroIteracoesProibicaoLista, this.NumeroMaximoIteracoesProibicaoLista, this.IncrementoTamanhoListaTabu);

            var solucaoAtual = GerarSolucaoLiteraturaC1(); // GerarSolucaoAleatoria(); // GerarSolucaoInicial(); // GerarSolucaoLiteraturaC1() // new List<int> { 1, 15, 6, 2, 5, 9, 8, 13, 11, 3, 10, 7, 4, 12, 19, 17, 16, 14, 18 };

            MelhorSolucao = new List <int>(solucaoAtual);

            ExecutarFuncaoAvaliacao(solucaoAtual);
            foMenorCutwidthSolucaoAtual     = FOMenorCutwidthMelhorSolucao = CutwidthGrafo.Max(x => x.Value);
            foMenorSomaCutwidthSolucaoAtual = FOMenorSomaCutwidthMelhorSolucao = CutwidthGrafo.Sum(x => x.Value);
            foMenorQuantidadeVerticesMaiorCutwidthSolucaoAtual = FOMenorQuantidadeVerticesMaiorCutwidthMelhorSolucao = CutwidthGrafo.Where(x => x.Value == foMenorCutwidthSolucaoAtual).Count();

            GravarLogDuranteExecucao($"{ melhor_i }; { melhor_j }; { foMenorCutwidthSolucaoAtual }; {  string.Join(" | ", solucaoAtual.Select(x => x.ToString().PadLeft(2, '0'))) }\n");

            Cronometro.Start();

            while (iterAtual - this.MelhorIteracao < this.NumeroMaximoIteracoesSemMelhora)
            {
                iterAtual++;

                melhor_i = melhor_j = -1;
                CalcularMelhorVizinhoBestImprovementTroca(solucaoAtual, iterAtual, estruturaTabu, ref melhor_i, ref melhor_j, ref foMenorCutwidthSolucaoAtual, ref foMenorSomaCutwidthSolucaoAtual);

                if (melhor_i >= 0 && melhor_j >= 0)
                {
                    CutwidthGrafo = ExecutarFuncaoAvaliacaoMovimentoTroca(solucaoAtual, melhor_i, melhor_j);

                    // Troca os elementos de acordo com a melhor vizinhança retornada
                    int aux = solucaoAtual[melhor_i];
                    solucaoAtual[melhor_i] = solucaoAtual[melhor_j];
                    solucaoAtual[melhor_j] = aux;

                    GravarLogDuranteExecucao($"{ melhor_i.ToString().PadLeft(2, '0') }; { melhor_j.ToString().PadLeft(2, '0') }; { foMenorCutwidthSolucaoAtual.ToString().PadLeft(2, '0') }; {  string.Join(" | ", solucaoAtual.Select(x => x.ToString().PadLeft(2, '0'))) }");

                    estruturaTabu.DefinirTabu(melhor_i, melhor_j, iterAtual);

                    if (foMenorCutwidthSolucaoAtual < FOMenorCutwidthMelhorSolucao ||
                        (foMenorCutwidthSolucaoAtual == FOMenorCutwidthMelhorSolucao && foMenorSomaCutwidthSolucaoAtual < FOMenorSomaCutwidthMelhorSolucao))
                    {
                        this.MelhorIteracao              = iterAtual;
                        FOMenorCutwidthMelhorSolucao     = foMenorCutwidthSolucaoAtual;
                        FOMenorSomaCutwidthMelhorSolucao = foMenorSomaCutwidthSolucaoAtual;

                        MelhorSolucao = new List <int>(solucaoAtual);

                        this.IteracoesMelhoraSolucaoGlobal.Add(iterAtual);

                        estruturaTabu.ResetarTamanhoLista();
                    }
                    else
                    {
                        if ((iterAtual - this.MelhorIteracao) % this.ModuloIteracaoSemMelhoraIncrementoListaTabu == 0)
                        {
                            estruturaTabu.IncrementarTamanhoLista();
                        }
                    }
                }
                else
                {
                    estruturaTabu.DecrementarTamanhoLista();
                }
            }

            Cronometro.Stop();

            ExecutarFuncaoAvaliacao(MelhorSolucao);

            GravarLogDuranteExecucao($"\n\nMelhorias solução global: {string.Join(" | ", base.IteracoesMelhoraSolucaoGlobal) }");
            GravarLogDuranteExecucao($"Cutdwidth: { base.FOMenorCutwidthMelhorSolucao }");
            GravarLogDuranteExecucao($"Solução Final: {  string.Join(" | ", MelhorSolucao.Select(x => x.ToString().PadLeft(2, '0'))) }");

            //Console.WriteLine(estruturaTabu.QuantidadeIteracoesProibicao);
            //estruturaTabu.ImprimirTrocasListaTabu(base.Instancia);
            //estruturaTabu.ImprimirQuantidadeIteracoesProibicaoListaTabu(base.Instancia);
            //});
        }
Exemple #17
0
 private void timer1_Tick(object sender, EventArgs e)
 {
     Cronometro.Stop();
     Close();
 }