コード例 #1
0
        // 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);
        }
コード例 #2
0
ファイル: dataManager.cs プロジェクト: javierfil/SocketServer
        /// <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();
                }
        }
コード例 #3
0
ファイル: dataManager.cs プロジェクト: javierfil/SocketServer
        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;
        }
コード例 #4
0
ファイル: dataManager.cs プロジェクト: javierfil/SocketServer
        /// <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();
        }