Example #1
0
        private void AgregarFila(DateTime relojActual, string eventoActual, Llegada llegadas, ICola colaRecepcion,
                                 Servidor recepcion, ICola colaBalanza, Servidor balanza, ICola colaDarsenas, Servidor darsena1,
                                 Servidor darsena2, int atendidos, int noAtendidos, decimal permanenciaDiaria, IEnumerable <Cliente> clientes)
        {
            var row = dg_simulaciones.Rows.Add(
                relojActual.ToString("HH:mm:ss"),
                eventoActual,
                llegadas.ProximaLlegada?.ToString("HH:mm:ss"),
                colaRecepcion.Cantidad(),
                recepcion.Estado,
                recepcion.ProximoFinAtencion?.ToString("HH:mm:ss"),
                colaBalanza.Cantidad(),
                balanza.Estado,
                balanza.ProximoFinAtencion?.ToString("HH:mm:ss"),
                colaDarsenas.Cantidad(),
                darsena1.Estado,
                darsena1.ProximoFinAtencion?.ToString("HH:mm:ss"),
                darsena1.CantidadAtendidos,
                darsena2.Estado,
                darsena2.ProximoFinAtencion?.ToString("HH:mm:ss"),
                darsena2.CantidadAtendidos,
                atendidos,
                noAtendidos,
                DateTimeConverter.DesdeMinutos(permanenciaDiaria)
                );

            foreach (var cliente in clientes)
            {
                var num = cliente.Nombre.Split(' ')[1];

                dg_simulaciones.Rows[row].Cells[$"llegada_camion_{num}"].Value     = cliente.HoraLlegada.ToString("HH:mm:ss");
                dg_simulaciones.Rows[row].Cells[$"estado_camion_{num}"].Value      = cliente.Estado;
                dg_simulaciones.Rows[row].Cells[$"permanencia_camion_{num}"].Value = DateTimeConverter.DesdeMinutos(cliente.TiempoEnSistema);
            }
        }
Example #2
0
 public Servidor(IDistribucion atencion, ICola cola, string nombre)
 {
     DistribucionAtencion = atencion;
     Cola              = cola;
     Nombre            = nombre;
     Estado            = "Libre";
     CantidadAtendidos = 0;
 }
Example #3
0
 public Servidor(IDistribucion atencion, ICola cola, string nombre, Boolean cont)
 {
     DistribucionAtencion = atencion;
     Cola              = cola;
     Nombre            = nombre;
     Estado            = "Libre";
     CantidadAtendidos = 0;
     bContinua         = cont;
 }
Example #4
0
 public ServidorDoble(IDistribucion atencion1, IDistribucion atencion2, ICola cola, string nombre)
 {
     Distribucion1     = atencion1;
     Distribucion2     = atencion2;
     Cola              = cola;
     Nombre            = nombre;
     Estado            = "Libre";
     CantidadAtendidos = 0;
 }
Example #5
0
 public Servidor(DateTime atencion, ICola cola, string nombre, Boolean cont, Boolean tiempoFijo)
 {
     TiempoAtencion    = atencion;
     bTiempoFijo       = tiempoFijo;
     Cola              = cola;
     Nombre            = nombre;
     Estado            = "Libre";
     CantidadAtendidos = 0;
     bContinua         = cont;
 }
Example #6
0
        private void AgregarFila(DateTime relojActual, string eventoActual, Llegada local,
                                 ICola colaLocal, ICola colaMozo, ServidorDoble mozo, ICola colaCocina, ServidorDoble cocina,
                                 List <Ocupacion> mesas, int atendidos, int perdidos, decimal esperaPromedio,
                                 List <VectorCliente> clientes)
        {
            var row = dg_simulaciones.Rows.Add(
                relojActual.ToString("HH:mm:ss"),
                eventoActual,
                local.ProximaLlegada?.ToString("HH:mm:ss"),
                colaLocal.Cantidad(),
                colaMozo.Cantidad(),
                mozo.Estado,
                mozo.ProximoFinAtencion?.ToString("HH:mm:ss"),
                colaCocina.Cantidad(),
                cocina.Estado,
                cocina.ProximoFinAtencion?.ToString("HH:mm:ss")
                );

            foreach (var mesa in mesas)
            {
                var num = mesa.Mesa.Nombre.Split(' ')[1];

                dg_simulaciones.Rows[row].Cells[$"estado_mesa_{num}"].Value =
                    mesa.EstaLibre() ? "Libre" : $"Ocupada por {mesa.Cliente.Nombre}";
                dg_simulaciones.Rows[row].Cells[$"proximo_fin_mesa_{num}"].Value =
                    mesa.Mesa.ProximoFinAtencion?.ToString("HH:mm:ss");
            }

            dg_simulaciones.Rows[row].Cells["total_atendidos"].Value = atendidos.ToString();
            dg_simulaciones.Rows[row].Cells["total_perdidos"].Value  = perdidos.ToString();
            dg_simulaciones.Rows[row].Cells["espera_promedio"].Value =
                DateTimeConverter.DesdeMinutos(esperaPromedio);

            foreach (var cliente in clientes)
            {
                var num = cliente.Cliente.Nombre.Split(' ')[1];

                if (cliente.Cliente.Estado.Equals("En mozo"))
                {
                    var subestado = cliente.Cliente.Prioridad == 1 ? "Carta" : "Pedido";

                    cliente.Cliente.AgregarSubestado(subestado);
                }

                dg_simulaciones.Rows[row].Cells[$"llegada_cliente_{num}"].Value =
                    cliente.Cliente.HoraLlegada.ToString("HH:mm:ss");
                dg_simulaciones.Rows[row].Cells[$"estado_cliente_{num}"].Value   = cliente.Cliente.Estado;
                dg_simulaciones.Rows[row].Cells[$"cantidad_cliente_{num}"].Value = cliente.Cantidad;
                dg_simulaciones.Rows[row].Cells[$"mesa_cliente_{num}"].Value     = cliente.Mesa;
                dg_simulaciones.Rows[row].Cells[$"menu_cliente_{num}"].Value     = cliente.Menu;
                dg_simulaciones.Rows[row].Cells[$"espera_cliente_{num}"].Value   =
                    DateTimeConverter.DesdeMinutos(cliente.Cliente.TiempoEspera);
            }
        }
Example #7
0
 public Servidor(IDistribucion atencion, ICola cola, string nombre, Boolean cont, IDistribucion bloqueo, IDistribucion litros, IDistribucion distrK, int tipoCont)
 {
     DistribucionAtencion = atencion;
     Cola   = cola;
     Nombre = nombre;
     Estado = "Libre";
     DistribucionBloqueo = bloqueo;
     CantidadAtendidos   = 0;
     bContinua           = cont;
     DistribucionLitros  = litros;
     nTipoContinua       = tipoCont;
     DistribucionK       = distrK;
 }
Example #8
0
 public Servidor(Uniforme distribucionCargaAuto, Uniforme distribucionCargaCamion,
                 Uniforme distribucionCursoAgua, ICola cola, string nombre, int capacidad)
 {
     DistribucionCargaAuto   = distribucionCargaAuto;
     DistribucionCargaCamion = distribucionCargaCamion;
     DistribucionCursoAgua   = distribucionCursoAgua;
     Cola              = cola;
     Nombre            = nombre;
     Estado            = "Libre";
     CantidadMaxima    = capacidad;
     CantidadAtendidos = 0;
     Ubicacion         = "Continente";
     VehiculosABordo   = new List <Cliente>();
 }
Example #9
0
        private void AgregarFila(DateTime relojActual, string eventoActual, Llegada llegadas,
                                 ICola colaQA, Servidor quitadoAlfombras, ICola colaAA, Servidor aspiradoAlfombras, ICola colaLS, Servidor lavadero1,
                                 Servidor lavadero2, Servidor secadora, ICola colaPA, Servidor ponerAlfombras,
                                 int atendidos, decimal permanenciaDiaria, IEnumerable <Cliente> clientes)

        {
            var row = dgv_simulaciones.Rows.Add(
                relojActual.ToString("HH:mm:ss"),
                eventoActual,
                llegadas.ProximaLlegada?.ToString("HH:mm:ss"),
                colaQA.Cantidad(),
                quitadoAlfombras.Estado,
                quitadoAlfombras.ProximoFinAtencion?.ToString("HH:mm:ss"),
                colaAA.Cantidad(),
                aspiradoAlfombras.Estado,
                aspiradoAlfombras.ProximoFinAtencion?.ToString("HH:mm:ss"),
                colaLS.Cantidad(),
                lavadero1.Estado,
                lavadero1.ProximoFinAtencion?.ToString("HH:mm:ss"),
                lavadero1.CantidadAtendidos,
                lavadero2.Estado,
                lavadero2.ProximoFinAtencion?.ToString("HH:mm:ss"),
                lavadero2.CantidadAtendidos,
                secadora.Estado,
                secadora.ProximoFinAtencion?.ToString("HH:mm:ss"),
                colaPA.Cantidad(),
                ponerAlfombras.Estado,
                ponerAlfombras.ProximoFinAtencion?.ToString("HH:mm:ss"),
                atendidos,
                Colas.DateTimeConverter.DesdeMinutos(permanenciaDiaria)
                );

            foreach (var cliente in clientes) //actualiza el estado de los clientes
            {
                var num = cliente.Nombre.Split(' ')[1];

                dgv_simulaciones.Rows[row].Cells[$"llegada_auto_{num}"].Value     = cliente.HoraLlegada.ToString("HH:mm:ss");
                dgv_simulaciones.Rows[row].Cells[$"estado_auto_{num}"].Value      = cliente.Estado;
                dgv_simulaciones.Rows[row].Cells[$"tipo_auto_{num}"].Value        = cliente.tipoAuto;
                dgv_simulaciones.Rows[row].Cells[$"permanencia_auto_{num}"].Value = Colas.DateTimeConverter.DesdeMinutos(cliente.TiempoEnSistema);
                dgv_simulaciones.Rows[row].Cells[$"humedad_auto_{num}"].Value     = cliente.Humedad;
            }
        }