// Acualiza los datos en funcion de un evento de visita void actualizeVisit(object sneder, byteArrayEventArgs e) { Visita nuevaVisita = new Visita(e.textData["HHID"], e.textData["NOMBRE"], e.textData["APELLIDO"], e.textData["DOCUMENTO"], e.textData["EMPRESA"], e.textData["TARJETA"], e.textData["LATITUD"], e.textData["LONGITUD"], e.textData["HORA"], e.byteData, (TiposAcceso)Enum.Parse(typeof(TiposAcceso), e.textData["TIPOACCESO"]),int.Parse(e.textData["ORGID"])); if (!mainApp.DataManager.existeVisita(nuevaVisita)) { mainApp.DataManager.addVisita(nuevaVisita); actualizeListViewVisitas = true; } addConfirmVisitJob(e); }
/// <summary> /// insert into Visita(IdDevice,nombre,Apellido,SSNO,Empresa,Tarjeta,Latitud,Longitud,Fecha,TipoAcceso,Imagen)values(@idDevice,@nombre,@apellido,@ssno,@Empresa,@tarjeta,@Latitud,@Longitud,@fecha,@TipoAcceso,@Imagen) /// </summary> /// <param name="id_visita"></param> /// <param name="v_visita"></param> public void addVisita(Visita v_visita) { //SqlConnection cnn = new SqlConnection(conexion); //SqlCommand cmd = new SqlCommand("AgregarVisita", cnn); //cmd.CommandType = CommandType.StoredProcedure; //cmd.Parameters.AddWithValue("@idDevice", v_visita.HHID); //cmd.Parameters.AddWithValue("@Nombre", v_visita.Nombre); //cmd.Parameters.AddWithValue("@Apellido", v_visita.Apellido); //cmd.Parameters.AddWithValue("@SSNO", v_visita.Documento); //cmd.Parameters.AddWithValue("@Empresa", v_visita.Empresa); //cmd.Parameters.AddWithValue("@Tarjeta", v_visita.Tarjeta); //cmd.Parameters.AddWithValue("@Latitud", v_visita.Latitud); //cmd.Parameters.AddWithValue("@Longitud", v_visita.Longitud); //cmd.Parameters.AddWithValue("@Fecha", v_visita.Hora); //cmd.Parameters.AddWithValue("@TipoAcceso", v_visita.tipoAcceso.ToString()); //cmd.Parameters.AddWithValue("@idOrganizacion", v_visita.tipoAcceso.ToString()); string imageFileName = ""; if (v_visita.imagen != null) { if (v_visita.imagen.Length > 0) { DateTime fechaActual = DateTime.Now; // crea un identificador unico para la imagen a guardar. string idImagen = fechaActual.Year.ToString() + fechaActual.Month.ToString() + fechaActual.Day.ToString() + fechaActual.Hour.ToString() + fechaActual.Minute.ToString() + fechaActual.Second.ToString(); imageFileName = v_visita.HHID + "_V_" + idImagen + ".jpg"; Thread.Sleep(1000); // Espera un segundo para que el proximo identificador de imagenes sea DIFERENTE } } string imageParameter = ""; if (imageFileName != "") { string imagePath = SystemConfiguration.ImagesPath; File.WriteAllBytes(imagePath + @"\" + imageFileName, v_visita.imagen); imageParameter = @"~/Imagenes/" + imageFileName; //cmd.Parameters.AddWithValue("@Imagen", @"~/Imagenes/" + imageFileName); } SqlConnection cnn = new SqlConnection(conexion); try { cnn.Open(); SqlCommand cmd = cnn.CreateCommand(); cmd.CommandText = @"insert into Visita(IdDevice,nombre,Apellido,SSNO,Empresa,Tarjeta,Latitud,Longitud,Fecha,TipoAcceso,Imagen,idOrganizacion)values('" + v_visita.HHID + "','" +v_visita.Nombre+"','"+ v_visita.Apellido+"','"+v_visita.Documento + "','" + v_visita.Empresa +"','"+ v_visita.Tarjeta+"','" + v_visita.Latitud + "','"+v_visita.Longitud+"','"+v_visita.Hora + "','"+ v_visita.tipoAcceso.ToString() +"','" + imageParameter+"'," + v_visita.idOrg+")"; cmd.CommandType = CommandType.Text; cmd.ExecuteNonQuery(); } catch (Exception ex) { loguearString("Excepcion en DataManager.addVisita(): " + ex.Message, TiposLOG.ALUTRACK); } finally { cnn.Close(); } }
public Dictionary<string, Visita> LoadVisitas() { //Carga las visitas a partir de Base de Datos Sql Server Dictionary<string, Visita> listaVisitas = new Dictionary<string, Visita>(); byte[] imageBytes = null; string id = ""; string hhid = ""; string tarjeta = ""; string latitud = ""; string longitud = ""; string hora = ""; string documento = ""; string apellido = ""; string nombre = ""; string image = ""; string empresa = ""; string TipoAcceso = ""; int orgID = -1; TiposAcceso tipoAcceso = new TiposAcceso(); List<Visita> lista = new List<Visita>(); SqlConnection cnn = new SqlConnection(conexion); try { cnn.Open(); SqlCommand cmd = cnn.CreateCommand(); cmd.CommandText = "select * from Visita"; cmd.CommandType = CommandType.Text; SqlDataReader lector = cmd.ExecuteReader(); while (lector.Read()) { id = lector["Id"].ToString(); hhid = lector["IdDevice"].ToString(); nombre = lector["Nombre"].ToString(); apellido = lector["Apellido"].ToString(); empresa = lector["Empresa"].ToString(); tarjeta = lector["Tarjeta"].ToString(); latitud = lector["Latitud"].ToString(); longitud = lector["Longitud"].ToString(); hora = lector["Fecha"].ToString(); TipoAcceso = lector["Tipoacceso"].ToString(); documento = lector["SSNO"].ToString(); orgID = int.Parse(lector["IdOrganizacion"].ToString()); if (lector["Imagen"].ToString() == "") { image = ""; imageBytes = null; } else { image = lector["Imagen"].ToString(); } if (image != "") { try { string fileName = Path.GetFileName(image); string imagePath = SystemConfiguration.ImagesPath; imageBytes = File.ReadAllBytes(imagePath + @"/" + fileName); } catch (Exception ) { image = ""; imageBytes = null; } } tipoAcceso = (TiposAcceso)Enum.Parse(typeof(TiposAcceso), TipoAcceso); Visita nuevaVisita = new Visita(hhid, nombre, apellido, documento, empresa, tarjeta, latitud, longitud, hora, imageBytes, tipoAcceso, orgID); listaVisitas.Add(id, nuevaVisita); } } catch (Exception ) { } finally { cnn.Close(); } return listaVisitas; }
/// <summary> /// Verifica si ya hay un acceso con la misma hora. /// </summary> /// <param name="v_acceso"></param> /// <returns></returns> public bool existeVisita(Visita v_visit) { Dictionary<string, Visita> listaVisitas = mainApp.DataManager.getListaVisitas(); foreach (Visita _visit in listaVisitas.Values) { if (_visit.Hora.Trim() == v_visit.Hora.Trim()) { return true; } } return false; }
private void LoadVisitas() { if (File.Exists(dataSource + @"\\visitas.xml")) { XmlDocument xDoc = new XmlDocument(); xDoc.Load(dataSource + @"\\visitas.xml"); listaVisitas.Clear(); foreach (XmlElement elem in xDoc.SelectNodes("/Visitas/Visita")) { string id = elem.Attributes["id"].Value; string HHID = elem.Attributes["HHID"].Value; string nombre = elem.Attributes["nombre"].Value; string apellido = elem.Attributes["apellido"].Value; string documento = elem.Attributes["documento"].Value; string empresa = elem.Attributes["empresa"].Value; string tarjeta = elem.Attributes["tarjeta"].Value; string latitud = elem.Attributes["latitud"].Value; string longitud = elem.Attributes["longitud"].Value; string hora = elem.Attributes["hora"].Value; string imageFile = elem.Attributes["imageFile"].Value; TiposAcceso tipoAcceso = (TiposAcceso)Enum.Parse(typeof(TiposAcceso), elem.Attributes["tipoAcceso"].Value); byte[] imageBytes = null; if (imageFile != "") { imageBytes = File.ReadAllBytes(imageFile); } if (!listaVisitas.ContainsKey(id)) { Visita nuevaVisita = new Visita(HHID, nombre, apellido, documento, empresa, tarjeta, latitud, longitud, hora, imageBytes, tipoAcceso); listaVisitas.Add(id, nuevaVisita); } } } }
public void addVisita(string id_visita, Visita v_visita) { if (!listaVisitas.ContainsKey(id_visita)) { listaVisitas.Add(id_visita, v_visita); } SaveVisitas(); }