Ejemplo n.º 1
0
        private void DGSalidas_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            string TarjetaValet = "";

            try
            {
                N_Personal_Enturno N_objPersonal = new N_Personal_Enturno();
                DGSelected = 3;
                rowSalidas = DGSalidas.Rows[e.RowIndex];
                LeerTarjeta LeerTarjeta = new LeerTarjeta("Por favor acerque una tarjeta al lector.", TarjetasActivas, false);
                if (LeerTarjeta.ShowDialog() == DialogResult.OK)
                {
                    TarjetaValet = LeerTarjeta.Tarjeta;//lee la propiedad
                }

                int idpersonal = 0;
                foreach (var employed in Personal)
                {
                    if (employed.CodigoTarjeta == TarjetaValet)
                    {
                        idpersonal = employed.VP_IdPersonal;
                        break;
                    }
                }

                Clases.P_DBExit objExit = new Clases.P_DBExit();
                if (Enturno.Exists(x => x.VP_IdPersonal == idpersonal))
                {
                    objExit = (from act in Clases.P_StatusActual.SalidasPendientes
                               where act.TicketNumber == rowSalidas.Cells[4].Value.ToString() //Numtiquete
                               select act).FirstOrDefault();
                    objExit.IdValetEntrega = idpersonal;
                    RegistrarSalida(objExit, "Entrega", "Procesado", false); //Se inserta movimiento como creado.

                    foreach (var turno in Enturno)
                    {
                        //Actualiza turno
                        if (turno.VP_IdPersonal == idpersonal)
                        {
                            turno.Fecha = DateTime.Now; //Actualiza fecha indicando que el empleado usó su turno y vuelve a la cola
                            N_objPersonal.ActualizandoPersonal_Enturno(turno);
                            CargarEmpleadosEnturno();   //Actualiza lista de personal en turno y datagridview
                            break;
                        }
                    }

                    ConsultarTransacciones(-16);
                }
                else if (!string.IsNullOrEmpty(TarjetaValet))
                {
                    MessageErrorOk Message = new MessageErrorOk("Usted no se encuentra en turno.", 3);
                    Message.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                //Entrada de LOG
                Clases.P_LogWriter objLog = new Clases.P_LogWriter("ValetParking - DGSalidas_CellDoubleClick " + ex.ToString());
            }
        }
Ejemplo n.º 2
0
 public void CargarEmpleadosEnturno()
 {
     try
     {
         N_Personal_Enturno objPersonal_Enturno = new N_Personal_Enturno();
         Enturno = (from pers in objPersonal_Enturno.ListandoPersonal_Enturno()
                    orderby pers.Fecha ascending
                    select new E_Personal_Enturno
         {
             Fecha = pers.Fecha,
             VP_IdPersonal = pers.VP_IdPersonal
         }).ToList();
         ActualizarDGTurnos();
     }
     catch (Exception ex)
     {
         //Entrada de LOG
         Clases.P_LogWriter objLog = new Clases.P_LogWriter("ValetParking - CargarEmpleadosEnturno " + ex.ToString());
     }
 }
Ejemplo n.º 3
0
        //Entrar o Salir de turno
        private void bunifuTileButton5_Click(object sender, EventArgs e)
        {
            try
            {
                DateTime           fecha         = DateTime.Now;
                N_Personal_Enturno N_objPersonal = new N_Personal_Enturno();
                string             TarjetaValet  = "";
                LeerTarjeta        LeerTarjeta   = new LeerTarjeta("Por favor acerque una tarjeta al lector.", TarjetasActivas, false);
                if (LeerTarjeta.ShowDialog() == DialogResult.OK)
                {
                    TarjetaValet = LeerTarjeta.Tarjeta;//lee la propiedad
                }
                else
                {
                    return;
                }

                var PersonalEnTurno = (from enturno in Enturno
                                       join persona in Personal on enturno.VP_IdPersonal equals persona.VP_IdPersonal
                                       where persona.CodigoTarjeta == TarjetaValet
                                       select persona).FirstOrDefault();

                if (PersonalEnTurno != null)
                {
                    var TurnoEliminar = (from enturno in Enturno
                                         join persona in Personal on enturno.VP_IdPersonal equals persona.VP_IdPersonal
                                         where persona.CodigoTarjeta == TarjetaValet
                                         select enturno).FirstOrDefault();

                    //Persona se encuentra en turno
                    MessageSiNo Mensaje = new MessageSiNo("¿Quiere salir de turno sr(a) " + PersonalEnTurno.Nombres + " " + PersonalEnTurno.Apellidos + "?");
                    if (Mensaje.ShowDialog() == DialogResult.Yes)
                    {
                        //Sale de turno
                        N_objPersonal.EliminandoPersonal_Enturno(TurnoEliminar);
                    }
                }
                else
                {
                    var TurnoInsertar = (from persona in Personal
                                         where persona.CodigoTarjeta == TarjetaValet
                                         select new E_Personal_Enturno
                    {
                        Fecha = fecha,
                        VP_IdPersonal = persona.VP_IdPersonal
                    }).FirstOrDefault();

                    var PersonalNuevoTurno = (from persona in Personal
                                              where persona.CodigoTarjeta == TarjetaValet
                                              select persona).FirstOrDefault();

                    //Persona entrará a turno
                    MessageErrorOk Mensaje = new MessageErrorOk("Bienvenido sr(a) " + PersonalNuevoTurno.Nombres + " " + PersonalNuevoTurno.Apellidos + Environment.NewLine + "Se inició turno con éxito.", 2);
                    Mensaje.ShowDialog();
                    //Sale de turno
                    N_objPersonal.InsertandoPersonal_Enturno(TurnoInsertar);
                }
                CargarEmpleadosEnturno();
            }
            catch (Exception ex)
            {
                //Entrada de LOG
                Clases.P_LogWriter objLog = new Clases.P_LogWriter("ValetParking - EntraroSalirTurno " + ex.ToString());
            }
        }
Ejemplo n.º 4
0
        private void ConsultarTransacciones(Int16 seconds)
        {
            try
            {
                ConsultarTransaccionesRegistradas();
                N_Movimiento_PL    N_objMovimiento_PL = new N_Movimiento_PL();
                N_Personal_Enturno N_objPersonal      = new N_Personal_Enturno();
                //Verifica las nuevas entregas
                var NewPayments = (from payment in N_objMovimiento_PL.ListandoMovimientos_Transaction(seconds)
                                   join estacionados in ListaEstacionados on payment.NumeroTiquete equals estacionados.TicketNumber
                                   join zona in Clases.P_ListasStatus.Zonasparking on estacionados.VP_IdZona equals zona.VP_Id_ZonaParking
                                   orderby payment.Fecha descending
                                   select new Clases.P_DBExit
                {
                    TiempoEntrega = CalcularTiempoRestante(payment.Fecha),
                    Fecha = payment.Fecha,
                    Placa = payment.Placa,
                    TicketNumber = payment.NumeroTiquete,
                    Zona = zona.Nombre,
                    IdZona = zona.VP_Id_ZonaParking,
                    IdValetEntrega = 0,
                    IdValetRecepcion = 0,
                    IdValetAsignado = estacionados.VP_IdPersonal_Asignado,
                    ValetEntrega = "",
                    ValetRecepcion = "",
                    ValetAsignado = estacionados.ValetRecepcion,
                    Dispositivo = payment.DeviceName,
                    DisositivoNr = payment.DeviceNumber,
                    Carpark = payment.Carpark,
                    IdCupoLlave = estacionados.VP_Id_CupoLlave
                });

                foreach (var Payment in NewPayments)
                {
                    foreach (var turno in Enturno)
                    {
                        string sigturno = (from persona in Personal
                                           where persona.VP_IdPersonal == turno.VP_IdPersonal
                                           select persona.Nombres.Substring(0, 3).ToUpper() + persona.Apellidos.Substring(0, 3).ToUpper()).FirstOrDefault();

                        Payment.IdValetAsignado = turno.VP_IdPersonal;
                        Payment.ValetAsignado   = sigturno;

                        //Actualiza turno
                        turno.Fecha = DateTime.Now; //Actualiza fecha indicando que el empleado usó su turno y vuelve a la cola
                        N_objPersonal.ActualizandoPersonal_Enturno(turno);
                        CargarEmpleadosEnturno();   //Actualiza lista de personal en turno y datagridview
                        break;
                    }
                    if (!Clases.P_StatusActual.SalidasPendientes.Exists(x => x.TicketNumber.Contains(Payment.TicketNumber)))
                    {
                        RegistrarSalida(Payment, "Entrega", "Creado", true); //Se inserta movimiento como creado.
                        ConsultarTransaccionesRegistradas();                 //Consulta nuevamente listado de movimientos.
                    }
                }
                ActualizarDGSalidas();
                ConsultarEstacionados(); //Actualiza estacionados.
            }
            catch (Exception ex)
            {
                //Entrada de LOG
                Clases.P_LogWriter objLog = new Clases.P_LogWriter("ValetParking - ConsultarTransacciones " + ex.ToString());
            }
        }