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()); } }
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()); } }
//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()); } }
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()); } }