/// <summary> /// Constructor del formulario atencion. Insntacia sus atributos /// </summary> public FrmAtencion() { InitializeComponent(); this.comercio = new Comercio(); this.simulador = new Simulador(this.comercio); this.listaUltimos = new List <string>(); }
private void AvancarProximoEvento(Simulador Sim) { Equipamento eq = GerarEquipamento(Sim); Sim.Equipamentos.Add(eq); if (Sim.Tecnicos.Where(x => x.Ocupado == false).Count() > 0) { var evento = new ProcederDiagnostico() { Equipamento = eq, Funcionario = Sim.Tecnicos.Where(x => x.Ocupado == false).FirstOrDefault(), TempoEntradaEmFilaEspera = Sim.Contador.TempoAtual, TempoEntrada = Sim.Contador.TempoAtual }; evento.AtualizarEstadoFuncionario(Sim.Tecnicos.ToList(), true); Sim.ListaEventos.Add(evento); } else { var evento = new ProcederDiagnostico() { Equipamento = eq, TempoEntradaEmFilaEspera = Sim.Contador.TempoAtual }; Sim.ListaEsperaProcederDiagnostico.Add(evento); } }
public int CriarSimulador(ParametrosSimuladorCRM parametros, Oportunidade oportunidade) { var simulador = new Simulador { Descricao = "Simulador CRM" }; if (parametros.Regime == Regime.LCL) { simulador.ValorCifCargaSolta = parametros.ValorCif; simulador.Regime = "1"; //LCL } else { simulador.ValorCifConteiner = parametros.ValorCif; simulador.Regime = "0"; //FCL } simulador.Periodos = parametros.Periodos; simulador.TipoDocumento = parametros.DocumentoId; simulador.VolumeM3 = parametros.VolumeM3; simulador.NumeroLotes = parametros.NumeroLotes; simulador.GrupoAtracacao = parametros.GrupoAtracacaoId; simulador.Qtde20 = parametros.Qtde20; simulador.Qtde40 = parametros.Qtde40; simulador.CriadoPor = _usuarioId; var simuladorId = _simuladorDAO.CadastrarSimulador(simulador); return(simuladorId); }
/// <summary> /// Initializes the simulator variables and events /// </summary> public void Inicializador(ValoresEntradaViewModel viewModel) { if (viewModel.ColaboradoresArmazem.Any() && viewModel.ColaboradoresLogistica.Any() && viewModel.Testers.Any()) { DateTime startTime = DateTime.Now; Sim = new Simulador(viewModel.Duracao, viewModel.NumEquipamentosSim, viewModel.AceitacaoOrcamentos, viewModel.TaxaReclamacao, viewModel.TaxaUrgencia, viewModel.Tecnicos, viewModel.ColaboradoresArmazem, viewModel.ColaboradoresLogistica, viewModel.Equipamentos, viewModel.Testers ); //Adiciona primeiro evento à lista ReceberEquipamento evento = new ReceberEquipamento(); evento.GerarEvento(Sim.ColaboradoresLogistica.ToList(), Sim.ListaEsperaReceberEquipamento, Sim.Contador, Sim.ListaEventos, Sim.NumEquipamentosSim); SnapshotsSim = new List <Simulador> { Sim }; RotinaPrincipal(); Sim.Contador.TimeSpan = (DateTime.Now - startTime); } }
public frmSegundoSistema() { InitializeComponent(); simulador = new Simulador(); testers = new List <Tester>(); txtSimulaciones.Text = "30"; txtSimulaciones.Enabled = false; }
public ActionResult Index([Bind(Include = "Id, Descricao, Regime, NumeroLotes, ArmadorId, CifConteiner, CifCargaSolta, Margem, LocalAtracacaoId, GrupoAtracacaoId, VolumeM3, Periodos, TipoDocumentoId")] SimuladorViewModel viewModel) { if (ModelState.IsValid) { var simulador = new Simulador( viewModel.Descricao, viewModel.Regime, viewModel.NumeroLotes, viewModel.ArmadorId, viewModel.CifConteiner, viewModel.CifCargaSolta, viewModel.Margem, viewModel.LocalAtracacaoId, viewModel.GrupoAtracacaoId, viewModel.VolumeM3, viewModel.Periodos, viewModel.TipoDocumentoId, User.ObterId()); if (Validar(simulador)) { if (viewModel.Id == 0) { simulador.Id = _simuladorRepositorio.CadastrarSimulador(simulador); TempData["Sucesso"] = true; TempData["Atualizacao"] = false; GravarLogAuditoria(TipoLogAuditoria.INSERT, simulador); } else { simulador.Id = viewModel.Id; _simuladorRepositorio.AtualizarSimulador(simulador); TempData["Sucesso"] = true; TempData["Atualizacao"] = true; GravarLogAuditoria(TipoLogAuditoria.UPDATE, simulador); } return(RedirectToAction("Index", "Simulador", new { id = simulador.Id })); } } PopularTiposDocumentos(viewModel); PopularLocaisAtracacao(viewModel); PopularGruposAtracacao(viewModel); PopularMargens(viewModel); PopularCargaConteiner(viewModel); PopularCargaSolta(viewModel); PopularSimuladores(viewModel); return(View(viewModel)); }
private void tsbSimulador_Click(object sender, EventArgs e) { Simulador formulario = new Simulador(); formulario.MdiParent = this; formulario.StartPosition = FormStartPosition.Manual; formulario.Location = new Point((this.Width / 2) - (formulario.Width / 2), tbcMenuppal.Location.Y + altura); formulario.comitente = comitente; formulario.Show(); }
public Simulador Run(Simulador Sim) { AtualizarContadorEvento(Sim.Contador, Sim.ListaEsperaReceberEquipamento.Count()); //Coloca o funcionario como desocupado AtualizarEstadoFuncionario(Sim.ColaboradoresLogistica.ToList(), false); AvancarProximoEvento(Sim); GerarEvento(Sim.ColaboradoresLogistica.ToList(), Sim.ListaEsperaReceberEquipamento, Sim.Contador, Sim.ListaEventos, Sim.NumEquipamentosSim); return(Sim); }
private void AvancarProximoEvento(Simulador Sim) { if (PassaTeste() == true) { AvancaEventoAposTeste(Sim.ColaboradoresLogistica.ToList(), Sim.ListaEsperaEmbalarEquipamentoParaEnvio, Sim.Contador, Sim.ListaEventos); } else { RetornaTesteParaDiagnostico(Sim.Tecnicos.ToList(), Sim.ListaEsperaProcederDiagnostico, Sim.Contador, Sim.ListaEventos); } }
public Simulador Run(Simulador Sim) { AtualizarContadorEvento(Sim.Contador, Sim.ListaEsperaEmbalarEquipamentoParaEnvio.Count()); AtualizarEstadoFuncionario(Sim.ColaboradoresLogistica.ToList(), false); if (Sim.ListaEsperaEmbalarEquipamentoParaEnvio.Count > 0) { GerarEvento(Sim.ColaboradoresLogistica.ToList(), Sim.ListaEsperaEmbalarEquipamentoParaEnvio, Sim.ListaEventos, Sim.Contador); } return(Sim); }
public Simulador Run(Simulador Sim) { AtualizarContadorEvento(Sim.Contador, Sim.ListaEsperaExecutaTeste.Count()); AtualizarEstadoFuncionario(Sim.Testers.ToList(), false); AvancarProximoEvento(Sim); if (Sim.ListaEsperaExecutaTeste.Count > 0) { GerarEvento(Sim.Testers.ToList(), Sim.ListaEsperaExecutaTeste, Sim.ListaEventos, Sim.Contador); } return(Sim); }
public Simulador Run(Simulador Sim) { AtualizarContadorEvento(Sim.Contador, Sim.ListaEsperaProcederDiagnostico.Count()); AtualizarEstadoFuncionario(Sim.Tecnicos.ToList(), false); AvancarProximoEvento(Sim); if (Sim.ListaEsperaProcederDiagnostico.Count() > 0) { GerarEvento(Sim.Tecnicos.ToList(), Sim.ListaEsperaProcederDiagnostico, Sim.ListaEventos, Sim.Contador); } return(Sim); }
//Arranca com o simulador gerando os eventos do armazem public Simulador Run(Simulador Sim) { AtualizarContadorEvento(Sim.Contador, Sim.ListaEsperaFazPedidoRecebeMaterial.Count()); AtualizarEstadoFuncionario(Sim.ColaboradoresArmazem.ToList(), false); AvancarProximoEvento(Sim.Tecnicos.ToList(), Sim.ListaEsperaProcederReparacao, Sim.Contador, Sim.ListaEventos); if (Sim.ListaEsperaFazPedidoRecebeMaterial.Count > 0) { GerarEvento(Sim.ColaboradoresArmazem.ToList(), Sim.ListaEsperaFazPedidoRecebeMaterial, Sim.ListaEventos, Sim.Contador); } return(Sim); }
static void Main(string[] args) { int valorLeitura; bool statusEquipamento; int idEquipamento; statusEquipamento = true; valorLeitura = Simulador.Leitura(statusEquipamento); DateTime date = Simulador.StatusSet(statusEquipamento); //var equipamento = new Leitura(); //Thread oThread = new Thread(); var key = "b14ca5898a4e4133bbce2ea2315a1916"; string name = string.Empty; HubConnection connection = new HubConnectionBuilder().WithUrl("https://localhost:44339/ChatHub").Build(); connection.Closed += async(error) => { await Task.Delay(new Random().Next(0, 5) * 1000); await connection.StartAsync(); }; connection.On <string>("Connected", (connectionid) => { Console.WriteLine($"Your connection id is:{connectionid}"); Console.WriteLine("Enter your name"); }); connection.On <string, string>("ReceivedMesssage", (user, message) => { Console.WriteLine($"{user}:{message}"); }); try { connection.StartAsync(); }catch (Exception ex) { Console.WriteLine(ex.Message); } name = Console.ReadLine(); Console.WriteLine($"Write your message {name}"); replay(connection, name); }
private Equipamento GerarEquipamento(Simulador Sim) { //TODO - É necessário entender este bocado de código de forma a perceber como aplicar a distribuicao //Acertar os valores aleatórios Equipamento eq = new Equipamento() { EquipamentoUrgencia = gerarValorAleatorio(0, 100, this.Funcionario.Experiencia) < Sim.TaxaUrgencia ? true: false, EquipamentoReclamacao = gerarValorAleatorio(0, 100, this.Funcionario.Experiencia) < Sim.TaxaReclamacao ? true : false, EquipamentoAceitacaoOrcamento = gerarValorAleatorio(0, 100, this.Funcionario.Experiencia) < Sim.AceitacaoOrcamentos ? true : false }; return(eq); }
static void Main(string[] args) { Stopwatch sw = new Stopwatch(); sw.Start(); var naturais = OutputNaturais.Processar(Simulador.ListarApenasMelhores()); sw.Stop(); naturais.EscreverEmArquivo("Naturais.txt"); //naturais.EscreverEmConsole(); Console.WriteLine($"Processado em {sw.Elapsed.ToString()}"); Console.ReadLine(); }
private Simulador AvancarProximoEvento(Simulador Sim) { if (Equipamento.EquipamentoAceitacaoOrcamento == false) { GerarEmbalarEquipamentoParaEnvio(Sim.ColaboradoresLogistica.ToList(), Sim.ListaEsperaEmbalarEquipamentoParaEnvio, Sim.Contador, Sim.ListaEventos); } else if (Equipamento.TempoChegadaMaterial == TempoChegadaMaterial.Nenhum) { GerarProcederReparacao(Sim.Tecnicos.ToList(), Sim.ListaEsperaProcederReparacao, Sim.Contador, Sim.ListaEventos); } else { GerarFazPedidoRecebeMaterial(Sim.ColaboradoresArmazem.ToList(), Sim.ListaEsperaFazPedidoRecebeMaterial, Sim.Contador, Sim.ListaEventos); } return(Sim); }
/* * Lee desde los archivos todas las instrucciones para luego enviarlas al simulador. */ private void BotonIniciarSimulacion_Click(object sender, EventArgs e) { //Deshabilitar botones para no entorpecer la interfaz durante la simulación (TODO agregar botón para detenerla) BotonNuevaSimulacion.Enabled = false; BotonAgregarArchivo.Enabled = false; BotonIniciarSimulacion.Enabled = false; panelProcesadores.Visible = true; //también hace este panel visible para ver los programas correr panelMemoria.Visible = true; //también hace este panel visible para ver los programas correr //Lee todas las instrucciones y las guarda en una lista List <int> instrucciones = new List <int>(); //arreglo general que almacenará todas las instrucciones leídas List <int> iniciosProgramas = new List <int>(); //arreglo pequeño que almacena los índices en el anterior donde inicia cada programa List <string> nombresProgramas = new List <string>(); String instruccionIndividual = ""; //usada para iterar por las líneas de los archivos foreach (String path in pathsArchivos) { nombresProgramas.Add(path.Substring(path.LastIndexOf('\\') + 1)); iniciosProgramas.Add(instrucciones.Count); System.IO.TextReader lector = System.IO.File.OpenText(path); //abre el archivo para Leer sus líneas una por una while ((instruccionIndividual = lector.ReadLine()) != null) { string[] partes = System.Text.RegularExpressions.Regex.Split(instruccionIndividual.Trim(), @"\s+"); if (partes.Length == 4) { for (short i = 0; i < 4; ++i) { instrucciones.Add(int.Parse(partes[i])); //agrega cada número entero al arreglo } } } lector.Close(); cantidadProcesadores = (iniciosProgramas.Count > 2 ? 3 : iniciosProgramas.Count); //para no accesar grids inexistentes } //Enviar parámetros al simulador e iniciar la simulación Simulador simulador = new Simulador(instrucciones, iniciosProgramas, nombresProgramas, this); Thread hiloSimulacion = new Thread(simulador.EjecutarSimulacion); hiloSimulacion.Start(); crearTuplasMemoriaCompartida(); //de una vez iniciarlizar las tuplas de la memoria compartida // NO hacer join al hiloSimulacion porque sino se detienen los eventos de la interfaz grafica }
// tratando o evento de clique no botao private void button1_Click(object sender, EventArgs e) { bool calculando; //variavel que tem valor true se estamos calculando os dados da simulacao //botoes da tela nao podem mais ser clicaveis button1.Enabled = false; comboBox1.Enabled = false; radioButton1.Enabled = false; radioButton2.Enabled = false; _simulacao = new Simulador(fila, utilizacao); // passando argumentos para o construtor do simulador calculando = true; data_hora_comeco = DateTime.Now; //abrindo uma thread para comeco da simulacao Task.Factory.StartNew(() => { this.Invoke((MethodInvoker) delegate { label2.Text = "Calculando rodada: " + rodadas + " Tempo comeco: " + data_hora_comeco.ToLongTimeString(); }); //iniciando a simulacao _simulacao.IniciarSimulacao(); calculando = false; }); //abrindo uma thread para interface e escrita na tela Task.Factory.StartNew(() => { //avisando qual rodada esta sendo calculada enquanto estamos calculando as estatisticas while (calculando) { this.Invoke((MethodInvoker) delegate { label2.Text = "Calculando rodada: " + rodadas + " Tempo de começo: " + data_hora_comeco.ToLongTimeString(); }); rodadas = _simulacao.listaEstatisticas.Count; } //colocando os dados recolhidos por rodada nos graficos //observe que as medias sao as medias estimadas em cada rodada e nao a media da rodada this.Invoke((MethodInvoker) delegate { chart1.Series["N° Pessoas"].Points.DataBindY(_simulacao.listaMediaPessoasRodada); chart3.Series["Variância de Pessoas"].Points.DataBindY(_simulacao.listaVarianciaP); chart1.Series["Tempo Médio"].Points.DataBindY(_simulacao.listaMediaTempoRodada); chart3.Series["Variância do Tempo"].Points.DataBindY(_simulacao.listaVarianciaT); }); data_hora_fim = DateTime.Now; //escrevendo dados finais na tela this.Invoke((MethodInvoker) delegate { label2.Text = "Fim da simulação" + " Tempo de começo: " + data_hora_comeco.ToLongTimeString() + " Tempo final: " + data_hora_fim.ToLongTimeString(); label4.Text = "E: " + _simulacao.mediaPessoasFinal + " V: " + _simulacao.varianciaPessoasFinal + "\n" + "L(E): " + _simulacao.icPessoasMedia.L + " U(E): " + _simulacao.icPessoasMedia.U + " P(E): " + _simulacao.icPessoasMedia.Precisao + "\n" + "L(V): " + _simulacao.icPessoasVariancia.L + " U(V): " + _simulacao.icPessoasVariancia.U + " P(V): " + _simulacao.icPessoasVariancia.Precisao; label5.Text = "E: " + _simulacao.tempoMedioFinal + " V: " + _simulacao.varianciaTempoFinal + "\n" + "L(E): " + _simulacao.icMedia.L + " U(E): " + _simulacao.icMedia.U + " P(E): " + _simulacao.icMedia.Precisao + "\n" + "L(V): " + _simulacao.icVariancia.L + " U(V): " + _simulacao.icVariancia.U + " P(V): " + _simulacao.icVariancia.Precisao; }); }); }
/// <summary> /// Constructor que obtiene una instancia de comercio e inicializa el simulador. /// Asocia el manejador MostrarDatos al evento del simulador. /// </summary> /// <param name="comercio"></param> public FrmSimularAtencion(Comercio comercio) : this() { this.comercio = comercio; this.simulador = new Simulador(comercio); this.simulador.MostrarInfo += MostrarDatos; }
private void btnIniciarSimulacion_Click(object sender, EventArgs e) { dataGridView1.Rows.Clear(); setearCantidadDeEventos(); Simulador.Simular(this); }
static void Main(string[] args) { //Creacion de las 3 cofiguraciones, con mapa y bitmons correspondientes. Johto config1 = new Johto(0, 3, 3); Johto config2 = new Johto(1, 4, 4); Johto config3 = new Johto(2, 5, 5); config1.crearMapa(); config2.crearMapa(); config3.crearMapa(); config1.crearBitmons(); config2.crearBitmons(); config3.crearBitmons(); string opcion1 = "[Opción 1] Dimesiones mapa: 3x3, Terrenos(N° Bitmons iniciales): \n\n"; string opcion2 = "[Opción 2] Dimesiones mapa: 4x4, Terrenos(N° Bitmons iniciales): \n\n"; string opcion3 = "[Opción 3] Dimesiones mapa: 5x5, Terrenos(N° Bitmons iniciales): \n\n"; int contadorfila = 0; foreach (Terreno terreno in config1.mapaRegion) { opcion1 += terreno.getTipoAbrev() + "(" + terreno.numBitmons() + ") - "; contadorfila++; if (contadorfila % 3 == 0) { opcion1 = opcion1.Substring(0, opcion1.Length - 2); opcion1 += "\n"; } } contadorfila = 0; foreach (Terreno terreno in config2.mapaRegion) { opcion2 += terreno.getTipoAbrev() + "(" + terreno.numBitmons() + ") - "; contadorfila++; if (contadorfila % 4 == 0) { opcion2 = opcion2.Substring(0, opcion2.Length - 2); opcion2 += "\n"; } } contadorfila = 0; foreach (Terreno terreno in config3.mapaRegion) { opcion3 += terreno.getTipoAbrev() + "(" + terreno.numBitmons() + ") - "; contadorfila++; if (contadorfila % 5 == 0) { opcion3 = opcion3.Substring(0, opcion3.Length - 2); opcion3 += "\n"; } } // Definicion de terrenos,region y mundoBitmons // Console.WindowWidth = 90; //Console.WindowHeight = 50; Console.SetWindowPosition(0, 0); MapasConsola mapas = new MapasConsola(); Console.WriteLine(mapas.logo); Console.WriteLine("Configuraciones iniciales disponibles: \n"); Console.WriteLine("\nTipos Terreno--> Ac=Acuatico , De=Desierto , Ni=Nieve , Ve=Vegetacion , Vo=Volcan \n\n"); Console.WriteLine(opcion1); Console.WriteLine(opcion2); Console.WriteLine(opcion3); Console.WriteLine("Elija una opción: "); int dimensionMapa = Convert.ToInt32(Console.ReadLine()); dimensionMapa = dimensionMapa - 1; Console.WriteLine("\nIngrese cuantos meses quiere simular: "); int mesesSimulacion = Convert.ToInt32(Console.ReadLine()); Johto regionElegida; switch (dimensionMapa) { case 0: regionElegida = config1; break; case 1: regionElegida = config2; break; case 2: regionElegida = config3; break; default: regionElegida = config1; break; } Simulador simulador = new Simulador(dimensionMapa, regionElegida, mesesSimulacion); simulador.comenzarSimulacion(); }
private void button1_Click(object sender, EventArgs e) { Simulador Form = new Simulador(); Form.Show(); }
public static void Main(string[] args) { Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; List <Fila> filas = new List <Fila>(); string caminho; if (args.Length == 1) { caminho = args[0]; } else { Console.WriteLine("Digite o caminho do arquivo desejado e pressione enter:"); caminho = Console.ReadLine(); } try { using (StreamReader leitor = new StreamReader(caminho)) { while (!leitor.EndOfStream) { string linha = leitor.ReadLine(); // TAMANHO_DA_FILA_INFINITA if (linha.StartsWith("TAMANHO_DA_FILA_INFINITA")) { string valor = leitor.ReadLine().Trim(); Simulador.TAMANHO_DA_FILA_INFINITA = Convert.ToInt32(valor); } // FILAS else if (linha.StartsWith("FILAS")) { int posicaoNoArray = 0; while (true) { string[] valores = leitor.ReadLine().Split(' '); // Linha em branco, passar para proxima entrada if (valores.Length == 0 || "".Equals(valores[0])) { break; } // Quatro valores, fila INFINITA que NAO possui entrada externa else if (valores.Length == 4) { var tAtendimento = new Intervalo(double.Parse(valores[2]), double.Parse(valores[3])); filas.Add(new Fila(valores[0], Convert.ToInt32(valores[1]), Simulador.TAMANHO_DA_FILA_INFINITA, tAtendimento)); } // Cinco valores, fila que NAO possui entrada externa else if (valores.Length == 5) { var tAtendimento = new Intervalo(double.Parse(valores[3]), double.Parse(valores[4])); filas.Add(new Fila(valores[0], Convert.ToInt32(valores[1]), Convert.ToInt32(valores[2]), tAtendimento)); } // Seis valores, fila INFINITA que possui entrada externa else if (valores.Length == 6) { var tChegada = new Intervalo(double.Parse(valores[2]), double.Parse(valores[3])); var tAtendimento = new Intervalo(double.Parse(valores[4]), double.Parse(valores[5])); filas.Add(new Fila(valores[0], Convert.ToInt32(valores[1]), Simulador.TAMANHO_DA_FILA_INFINITA, tChegada, tAtendimento)); } // Sete valores, fila que possui entrada externa else if (valores.Length == 7) { var tChegada = new Intervalo(double.Parse(valores[3]), double.Parse(valores[4])); var tAtendimento = new Intervalo(double.Parse(valores[5]), double.Parse(valores[6])); filas.Add(new Fila(valores[0], Convert.ToInt32(valores[1]), Convert.ToInt32(valores[2]), tChegada, tAtendimento)); } // Entrada inválida else { throw new ArgumentException("Ocorreu um erro ao processar o seu arquivo na tag FILAS."); } filas[filas.Count - 1].PosicaoNoArray = posicaoNoArray++; } } // PRIMEIRA_CHEGADA else if (linha.StartsWith("PRIMEIRA_CHEGADA")) { if (filas.Count == 0) { throw new ArgumentException("Você não definiu nenhum valor para a tag PRIMEIRA_CHEGADA."); } while (true) { string[] valores = leitor.ReadLine().Split(' '); // Linha em branco, passar para proxima entrada if (valores.Length == 0 || "".Equals(valores[0])) { break; } // Dois valores, nome da fila e primeira chegada else if (valores.Length == 2) { foreach (Fila fila in filas) { if (valores[0].Equals(fila.Nome)) { fila.PrimeiraChegada = double.Parse(valores[1]); break; } } } else { throw new ArgumentException("Ocorreu um erro ao processar o seu arquivo na tag PRIMEIRA_CHEGADA."); } } } // REDE else if (linha.StartsWith("REDE")) { if (filas.Count == 0) { throw new ArgumentException("Você não definiu nenhum valor para a tag REDE."); } while (true) { string[] valores = leitor.ReadLine().Split(' '); if (valores.Length == 0 || "".Equals(valores[0])) { break; } // Tres valores, nome fila origem, nome fila destino e probabilidade else if (valores.Length == 3) { foreach (Fila fila in filas) { if (valores[0].Equals(fila.Nome)) { if (fila.AdicionaDestino(valores[1], double.Parse(valores[2]))) { break; } else { throw new ArgumentException("Soma das probabilidades para " + valores[0] + " é maior que 1.0."); } } } } else { throw new ArgumentException("Ocorreu um erro ao processar o seu arquivo na tag REDE."); } } } // NUMERO_DE_ALEATORIOS_POR_SEMENTE else if (linha.StartsWith("NUMERO_DE_ALEATORIOS_POR_SEMENTE")) { string[] values = leitor.ReadLine().Split(' '); Simulador.NUMEROS_ALEATORIOS = Convert.ToInt32(values[0]); } // NUMERO_DE_SEMENTES else if (linha.StartsWith("NUMERO_DE_SEMENTES")) { string[] values = leitor.ReadLine().Split(' '); Simulador.EXECUCOES = Convert.ToInt32(values[0]); } } } } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); Console.ReadKey(); return; } Simulador s = new Simulador(); s.Executar(filas); Console.ReadKey(); }
private void btnAbrir_Click(object sender, EventArgs e) { pbarFilas.Value = 0; pbarHojas.Value = 0; using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "Archivo de excel|*.xls", ValidateNames = true }) { if (ofd.ShowDialog() == DialogResult.OK) { // Variable global Simulador.IniciarSimulador(); // Manejo archivo FileStream fs = File.Open(ofd.FileName, FileMode.Open, FileAccess.Read); lectorExcel = ExcelReaderFactory.CreateBinaryReader(fs); lectorExcel.IsFirstRowAsColumnNames = true; excel = lectorExcel.AsDataSet(); //Escribir nombre del archivo txtPath.Text = ofd.FileName; int indiceHoja = 0; foreach (DataTable dt in excel.Tables) { //Chequeo de las 4 tablas switch (dt.TableName) { case "Maestro de productos": cboxTablasMP.Checked = true; pbarHojas.Value += 25; Simulador.MaestroProd.NumeroDeHoja = indiceHoja; break; case "Stock de referencia": cboxTablasS.Checked = true; pbarHojas.Value += 25; Simulador.MaestroProd.NumeroDeHojaStock = indiceHoja; break; case "Historial de transacciones": cboxTablasH.Checked = true; pbarHojas.Value += 25; Simulador.HistorialT.NumeroDeHoja = indiceHoja; break; case "Maestro de transacciones": cboxTablasMT.Checked = true; pbarHojas.Value += 25; Simulador.MaestroOpe.NumeroDeHoja = indiceHoja; break; default: break; } indiceHoja++; } // Mapeo de hojas a clases DataTable tablaMaestroProd, tablaStockRef, tablaMaestroOpe, tablaHistorialT; Mapeo_Hojas_Clases(out tablaMaestroProd, out tablaStockRef, out tablaMaestroOpe, out tablaHistorialT); // Mapeo de datos a clases Mapeo_Datos_Clases(tablaMaestroProd, tablaStockRef, tablaMaestroOpe, tablaHistorialT); // Cierre del archivo lectorExcel.Close(); // Habilitamos el panel del analizador tabSimulador.Enabled = true; // Llenado del combo de maestro de productos comboMProd.Items.Clear(); foreach (Producto prod in Simulador.MaestroProd.productos) { comboMProd.Items.Add(prod._productId + " - " + prod._descripcion); } } } }
/// <summary> /// Constructor con Comercio por paramentro. /// </summary> /// <param name="comercio">Comercio apra asociar al simulador.</param> public FrmSimularAtencion(Comercio comercio) : this() { this.simulador = new Simulador(comercio); this.simulador.SimularAtencion += VerCliente; }