private async void Nombres_Completed(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(cedula.Text)) { await DisplayAlert("Error", "Debe Ingresar Cedula", "Aceptar"); cedula.Focus(); return; } if (string.IsNullOrEmpty(Nombres.Text)) { await DisplayAlert("Error", "Debe Ingresar nombres y apellidos", "Aceptar"); Nombres.Focus(); return; } Visitas visita = new Visitas { Cedula = cedula.Text, Nombres = Nombres.Text, Empresa = empresa.Text, VisitaA = visitaA.Text, }; using (var datos = new DataAccess()) { datos.InsertVisita(visita); listaGrupo.ItemsSource = datos.GetVisitas(); } cedula.Text = string.Empty; Nombres.Text = string.Empty; await DisplayAlert("Confirmacion", "Visita agregada", "Aceptar"); } catch (Exception ea) { Debug.WriteLine("Error en Nombres_Completed, motivo: " + ea.Message); Analytics.TrackEvent("Error al ingresar nombre seleccionadas: " + ea.Message + "\n Escaner: " + Preferences.Get("LECTOR", "N/A")); } }
public void DeleteVisita(Visitas visita) { connection.Delete(visita); connection.Close(); connection.Dispose(); }
public void UpdateVisita(Visitas visita) { connection.Update(visita); connection.Close(); connection.Dispose(); }
public void InsertVisita(Visitas visita) { connection.Insert(visita); connection.Close(); connection.Dispose(); }
public async void entrada(String inString) { try { if (inString != "") { if (inString.Length == 11 || inString.StartsWith("ID")) { var db = new SQLiteConnection(Preferences.Get("DB_PATH", "")); //Vamos a ver si es un ID de salida. if (inString.StartsWith("ID")) { // var querry = "SELECT * FROM Invitados WHERE INVIDATO_ID = " + inString.Replace("ID", "") + " AND FECHA_SALIDA is null AND Fecha_Verificacion is not null"; var querrys = "SELECT * FROM Invitados WHERE INVIDATO_ID= " + inString.Replace("ID", "") + " AND FECHA_SALIDA is null"; //var registroInv = db.Query<Invitados>(querry); var registroVer = db.Query <Invitados>(querrys); if (registroVer.Any()) { if (Preferences.Get("VERIFICA", false)) { if (registroVer.First().Fecha_Verificacion is null) { registroVer.First().Fecha_Verificacion = DateTime.Now; registroVer.First().Puerta_Registro = Convert.ToInt32(Preferences.Get("PUERTA", "1459").ToString()); registroVer.First().verificacionSubida = null; db.UpdateAll(registroVer); DependencyService.Get <IToastMessage>().DisplayMessage("Se ha verificado correctamente."); await Navigation.PushAsync(new Verificacion(registroVer.First())); } else { var time = (DateTime.Now - registroVer.First().Fecha_Verificacion.Value).TotalSeconds; var pref = Convert.ToDouble(Preferences.Get("TIEMPOS", "1")) * 60; if (time < pref) //REVISAR// { DependencyService.Get <IToastMessage>().DisplayMessage("Se ha acaba de verificar este id."); } else { if (registroVer.First().Fecha_Salida is null) { registroVer.First().Fecha_Salida = DateTime.Now; registroVer.First().salidaSubida = null; db.UpdateAll(registroVer); DependencyService.Get <IToastMessage>().DisplayMessage("Se ha dado salida correctamente."); } } } } else { registroVer.First().Fecha_Verificacion = DateTime.Now; registroVer.First().Puerta_Registro = Convert.ToInt32(Preferences.Get("PUERTA", "1459").ToString()); registroVer.First().verificacionSubida = null; registroVer.First().Fecha_Salida = DateTime.Now; registroVer.First().salidaSubida = null; db.UpdateAll(registroVer); DependencyService.Get <IToastMessage>().DisplayMessage("Se ha dado salida correctamente."); } } else { if (!Preferences.Get("SYNC_VSU", false)) { var querrySal = "SELECT * FROM SalidaOffline WHERE INVIDATO_ID = " + inString.Replace("ID", ""); var registroSal = db.Query <SalidaOffline>(querrySal); if (!registroSal.Any()) { //Hacer el insert a la base de datos local para subirlo mas tarde var SalOF = new SalidaOffline(); SalOF.INVIDATO_ID = int.Parse(inString.Replace("ID", "")); SalOF.Fecha_Salida = DateTime.Now; SalOF.Subida = null; db.Insert(SalOF); } else { DependencyService.Get <IToastMessage>().DisplayMessage("Este ID de Salida ya se encuentra en la base de datos"); } } else { DependencyService.Get <IToastMessage>().DisplayMessage("Este ID de Salida no existe."); } } } else { //Vamos a verificar si la persona ya entro. var querry = "SELECT * FROM INVITADOS WHERE CARGO = '" + inString + "' AND FECHA_SALIDA is NULL"; var registroVerifInv = db.Query <Invitados>(querry); if (registroVerifInv.Any()) { //Esto quiere decir que aun la persona no ha salido. registroVerifInv.First().Fecha_Salida = DateTime.Now; registroVerifInv.First().salidaSubida = null; db.UpdateAll(registroVerifInv); DependencyService.Get <IToastMessage>().DisplayMessage("Se ha dado salida correctamente."); } else { // Como no tiene reserva entramos. //Buscamos la cedula en el padron. querry = "SELECT * FROM PADRON WHERE CEDULA = '" + inString + "'"; //var que = "select * from VW_RESERVA_VISITA where VISITAS_DOCUMENTO='" + inString + "'"; //var registro2 = db.Query<VW_RESERVA_VISITA>(que); try { //Ejecutamos el query. var registro = db.Query <PADRON>(querry); // var registro2 = db.Query<VW_RESERVA_VISITA>(que); var x = string.IsNullOrEmpty(registro.First().CEDULA); if (string.IsNullOrEmpty(registro.First().CEDULA)) { await DisplayAlert("Error", "No puede dejar este campo vacio", "Aceptar"); cedula.Text = registro.First().CEDULA; Nombres.Text = registro.First().NOMBRES + " " + registro.First().APELLIDO1 + " " + registro.First().APELLIDO2; } else { cedula.Text = registro.First().CEDULA; Nombres.Text = registro.First().NOMBRES + " " + registro.First().APELLIDO1 + " " + registro.First().APELLIDO2; Visitas visita = new Visitas { Cedula = cedula.Text, Nombres = Nombres.Text, Empresa = empresa.Text, VisitaA = visitaA.Text, }; using (var datos = new DataAccess()) { datos.InsertVisita(visita); listaGrupo.ItemsSource = datos.GetVisitas(); } cedula.Text = string.Empty; Nombres.Text = string.Empty; //DisplayAlert("Confirmacion", "Visita agregada", "Aceptar"); DependencyService.Get <IToastMessage>().DisplayMessage("Visita agregada"); } db.Close(); } catch (Exception ey) { await Navigation.PushAsync(new RegistroPage(inString, false)); //Documento no econtrado { Nombres.Text = string.Empty; cedula.Text = inString; /*var properties = new Dictionary<string, string> { * { "Category", "Documento NO EXISTE?" }, * { "Code", "MainPage.xaml.cs Line: 179" }, * { "Lector", Preferences.Get("LECTOR", "0")} * }; */ //Crashes.TrackError(ey, properties); //ppCedulaNoExiste.IsVisible = true; await PopupNavigation.PushAsync(new PopUpCedulaNoEncontradaGrupo()); // Analytics.TrackEvent("Documento No-Existe: " + inString + " en el escaner " + Preferences.Get("LECTOR", "N/A")); // await TextToSpeech.SpeakAsync("Documento No Existe"); try { var duration = TimeSpan.FromSeconds(1); Vibration.Vibrate(duration); } catch { //TODO: HANDLE NO VIBRATE } Debug.WriteLine(ey); } } } } } else { DependencyService.Get <IToastMessage>().DisplayMessage("Ha escaneado un codigo que no es la cedula"); } } } catch (Exception ea) { Debug.WriteLine("Ha ocurrido una excepcion en el metodo entrada, motivo: " + ea.Message); Analytics.TrackEvent("Error al verificar si es un id de salida " + ea.Message + "\n Escaner: " + Preferences.Get("LECTOR", "N/A")); } }