コード例 #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);
            }
        }
コード例 #2
0
ファイル: Servidor.cs プロジェクト: fgarciareyna/colas-mozo
 public Servidor(IDistribucion atencion, ICola cola, string nombre)
 {
     DistribucionAtencion = atencion;
     Cola              = cola;
     Nombre            = nombre;
     Estado            = "Libre";
     CantidadAtendidos = 0;
 }
コード例 #3
0
 public Servidor(IDistribucion atencion, ICola cola, string nombre, Boolean cont)
 {
     DistribucionAtencion = atencion;
     Cola              = cola;
     Nombre            = nombre;
     Estado            = "Libre";
     CantidadAtendidos = 0;
     bContinua         = cont;
 }
コード例 #4
0
 public ServidorDoble(IDistribucion atencion1, IDistribucion atencion2, ICola cola, string nombre)
 {
     Distribucion1     = atencion1;
     Distribucion2     = atencion2;
     Cola              = cola;
     Nombre            = nombre;
     Estado            = "Libre";
     CantidadAtendidos = 0;
 }
コード例 #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;
 }
コード例 #6
0
ファイル: Tp7.cs プロジェクト: fgarciareyna/colas-mozo
        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);
            }
        }
コード例 #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;
 }
コード例 #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>();
 }
コード例 #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;
            }
        }