Пример #1
0
        private void synchroniserToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if ((presences != null ? presences.Count > 0 : false) && (Constantes.POINTEUSES != null ? Constantes.POINTEUSES.Count > 0 : false))
            {
                Presence p   = presences[position];
                Employe  emp = p.Employe;
                Utils.WriteLog("Demande de synchronisation des logs de l'employe " + emp.NomPrenom + "");
                if (Messages.Confirmation_Infos("synchroniser") == System.Windows.Forms.DialogResult.Yes)
                {
                    if (p.Id > 0)
                    {
                        if (p.Pointeuses == null)
                        {
                            p.Pointeuses = new List <string>();
                        }
                        if (p.Pointeuses.Count < 1)
                        {
                            foreach (Pointeuse y in Constantes.POINTEUSES)
                            {
                                if (y.Logs.Count > 0)
                                {
                                    p.Pointeuses.Add(y.Id.ToString());
                                }
                            }
                        }
                        if (p.Pointeuses.Count > 0)
                        {
                            object_statut.SetValueBar(0);
                            Constantes.PBAR_WAIT = pbar_statut;

                            List <IOEMDevice> logs = new List <IOEMDevice>();
                            foreach (string id in p.Pointeuses)
                            {
                                Pointeuse y = Constantes.POINTEUSES.Find(x => x.Id == Convert.ToInt32(id));
                                if (y != null ? y.Id > 0 : false)
                                {
                                    logs.InsertRange(logs.Count, Utils.FindLogsInFileTamponLogs(y.Logs, true, emp, true, p.DateDebut, p.DateFin));
                                }
                            }

                            if (logs.Count > 0)
                            {
                                Pointeuse y = Constantes.POINTEUSES.Find(x => x.Id == Convert.ToInt32(p.Pointeuses[0]));
                                object_statut.UpdateMaxBar(0);
                                Thread thread = new Thread(delegate() { SynchroniseFichePresence(logs, y, p); });
                                thread.Start();
                            }
                            else
                            {
                                Utils.WriteLog("-- Synchronisation impossible car le log est vide");
                            }
                        }
                    }
                }
                else
                {
                    Utils.WriteLog("-- Synchronisation des logs de l'employe " + emp.NomPrenom + " annulée");
                }
            }
        }
Пример #2
0
        public static List <Pointage> List(string query, bool full, string countQuery, string adresse)
        {
            List <Pointage>  list    = new List <Pointage>();
            NpgsqlConnection connect = new Connexion().Connection(adresse);

            try
            {
                NpgsqlCommand    Lcmd = new NpgsqlCommand(query, connect);
                NpgsqlDataReader lect = Lcmd.ExecuteReader();
                if (lect.HasRows)
                {
                    if (Constantes.PBAR_WAIT != null && (countQuery != null ? countQuery.Trim().Length > 0 : false))
                    {
                        int          count = Convert.ToInt32(Dao.LoadOneObject(countQuery, adresse));
                        ObjectThread o     = new ObjectThread(Constantes.PBAR_WAIT);
                        o.UpdateMaxBar(count);
                    }
                    while (lect.Read())
                    {
                        list.Add(Return(lect, full));
                        Constantes.LoadPatience(false);
                    }
                }
                return(list);
            }
            catch (Exception ex)
            {
                Messages.Exception("PointageDao (getList)", ex);
                return(list);
            }
            finally
            {
                Connexion.Close(connect);
            }
        }
        public void BackupLog()
        {
            ObjectThread o = new ObjectThread(Constantes.PBAR_WAIT);

            o.UpdateMaxBar(0);
            Fonctions.BackupLogData(lIO, currentPointeuse.Ip, true);
        }
        public void LoadLogs(List <IOEMDevice> l, bool file)
        {
            bFile = file;
            ObjectThread o_ = new ObjectThread(btn_del_doublon);

            o_.EnableButton(file);

            o_ = new ObjectThread(dgv_log);
            o_.ClearDataGridView(true);
            if (l != null ? l.Count > 0 : false)
            {
                int          i  = 0;
                ObjectThread o1 = new ObjectThread(Constantes.PBAR_WAIT);
                o1.UpdateMaxBar(Constantes.PBAR_WAIT.Maximum + l.Count);
                foreach (IOEMDevice o in l)
                {
                    ++i;
                    Employe e = EmployeBLL.OneById(o.idwSEnrollNumber);
                    if (e != null ? e.Id < 1 : true)
                    {
                        e = new Employe(o.idwSEnrollNumber, o.idwSEnrollNumber.ToString(), "");
                    }
                    DateTime date = new DateTime(o.idwYear, o.idwMonth, o.idwDay, o.idwHour, o.idwMinute, o.idwSecond);

                    o_.WriteDataGridView(new object[] { i, e.Id, e.Nom + " " + e.Prenom, date.ToShortDateString(), date.ToLongTimeString() });
                    Constantes.LoadPatience(false);
                }
                Constantes.LoadPatience(true);
            }
            else
            {
                Utils.WriteLog("La liste des logs venants " + (file ? "du fichier (" + currentFile : "de la pointeuse (" + currentPointeuse.Ip) + ") est vide");
            }
        }
        public void LoadDataBtn()
        {
            Appareil z = Utils.ReturnAppareil(currentPointeuse);

            Utils.VerifyZkemkeeper(ref z, ref currentPointeuse);
            if (z == null)
            {
                Utils.WriteLog("La liaison avec l'appareil " + currentPointeuse.Ip + " est corrompue");
                return;
            }
            currentPointeuse.Zkemkeeper = z;
            Pointeuse p = Constantes.POINTEUSES.Find(x => x.Id == currentPointeuse.Id);

            if (p != null ? p.Id > 0 : false)
            {
                currentPointeuse.Logs = p.Logs;
            }
            if (currentPointeuse.Logs != null ? currentPointeuse.Logs.Count > 0 : false)
            {
                lIO = currentPointeuse.Logs;
            }
            else
            {
                lIO = z.GetAllAttentdData(currentPointeuse.IMachine, currentPointeuse.Connecter);
            }
            ObjectThread o = new ObjectThread(Constantes.PBAR_WAIT);

            o.UpdateMaxBar(lIO.Count);
            LoadLogs(lIO, false);
        }
Пример #6
0
 private void btn_scan_Click(object sender, EventArgs e)
 {
     if (Convert.ToInt16(txt_ip_debut.Tag) == 1)
     {
         if (Convert.ToInt16(txt_ip_fin.Tag) == 1)
         {
             string[] tabDebut = null;
             string[] tabFin   = null;
             if (Utils.StringToAdress(txt_ip_debut.Text, ref tabDebut) && Utils.StringToAdress(txt_ip_fin.Text, ref tabFin))
             {
                 List <string> adresses = Utils.Adresses(tabDebut, tabFin);
                 object_pbar.UpdateMaxBar(adresses.Count);
                 if (adresses != null ? adresses.Count > 0 : false)
                 {
                     Thread thread = new Thread(delegate() { SearchPointeuse(adresses); });
                     thread.Start();
                 }
             }
         }
         else
         {
             Messages.ShowErreur("L'adresse ip de fin est incorrect");
         }
     }
     else
     {
         Messages.ShowErreur("L'adresse ip de début est incorrect");
     }
 }
Пример #7
0
        private void SaveCurrent()
        {
            string       fileName = Chemins.CheminBackupServeur() + DateTime.Now.ToString("dd-MM-yyyy") + ".csv";
            bool         deja     = File.Exists(fileName);
            ObjectThread o_       = new ObjectThread(Constantes.PBAR_WAIT);

            o_.UpdateMaxBar(lIO.Count);

            foreach (IOEMDevice o in lIO)
            {
                Logs.WriteCsv(fileName, o);
                Constantes.LoadPatience(false);
            }
            if (!deja)
            {
                FileInfo     file = new FileInfo(fileName);
                ObjectThread o1   = new ObjectThread(dgv_backup);
                o1.WriteDataGridView(new object[] { file.Name });
            }
            File.Delete(Chemins.CheminDatabase() + "LogRecord.csv");
            File.Create(Chemins.CheminDatabase() + "LogRecord.csv");

            ObjectThread o2 = new ObjectThread(dgv_log);

            o2.ClearDataGridView(true);
            Utils.WriteLog("-- Sauvegarde du fichier courant effectuée");
            Constantes.LoadPatience(true);
        }
        public void LoadDataFile()
        {
            lIO_ = Logs.ReadCsv(Chemins.CheminBackup(currentPointeuse.Ip) + currentFile);
            ObjectThread o = new ObjectThread(Constantes.PBAR_WAIT);

            o.UpdateMaxBar(lIO.Count);
            LoadLogs(lIO_, true);
        }
Пример #9
0
        private void ReadSelectFile()
        {
            List <IOEMDevice> l = Logs.ReadCsv(Chemins.CheminBackupServeur() + currentFile);
            ObjectThread      o = new ObjectThread(Constantes.PBAR_WAIT);

            o.UpdateMaxBar(l.Count);
            LoadLogs(l);
        }
Пример #10
0
        private void LoadCurrentLog()
        {
            lIO = Logs.ReadCsv();
            ObjectThread o = new ObjectThread(Constantes.PBAR_WAIT);

            o.UpdateMaxBar(lIO.Count);
            LoadLogs(lIO);
        }
        public void DeleteDoublon()
        {
            List <IOEMDevice> l        = new List <IOEMDevice>();
            string            fileName = Chemins.CheminBackup(currentPointeuse.Ip) + currentFile;
            int          i             = 0;
            ObjectThread o             = new ObjectThread(Constantes.PBAR_WAIT);

            o.UpdateMaxBar(lIO_.Count);
            foreach (IOEMDevice p in lIO_)
            {
                bool deja = false;
                foreach (IOEMDevice s in l)
                {
                    if (s.idwSEnrollNumber == p.idwSEnrollNumber && s.idwYear == p.idwYear && s.idwMonth == p.idwMonth && s.idwDay == p.idwDay && s.idwHour == p.idwHour && s.idwMinute == p.idwMinute && s.idwSecond == p.idwSecond)
                    {
                        ++i;
                        deja = true;
                        break;
                    }
                }
                if (!deja)
                {
                    l.Add(p);
                }
                Constantes.LoadPatience(false);
            }
            File.Delete(fileName);
            o.UpdateMaxBar(Constantes.PBAR_WAIT.Maximum + l.Count);
            foreach (IOEMDevice s in l)
            {
                Logs.WriteCsv(fileName, s);
                Constantes.LoadPatience(false);
            }
            Constantes.LoadPatience(true);
            Utils.WriteLog("---- Nombre Ligne Total : " + lIO_.Count);
            Utils.WriteLog("---- Nombre Ligne Supprimée : " + i);
            Utils.WriteLog("---- Nombre Ligne Restante : " + l.Count);
            LoadDataFile();
            Utils.WriteLog("-- Fin de la suppression des doublons du fichier " + currentFile + " de l'appareil " + currentPointeuse.Ip + "...");
        }
Пример #12
0
        private void Download()
        {
            Utils.WriteLog("-- Début du téléchargement des empreintes");
            ObjectThread o = new ObjectThread(Constantes.PBAR_WAIT);

            o.UpdateMaxBar(empreintes.Count);
            foreach (Empreinte e in empreintes)
            {
                Employe y = EmployeBLL.OneById((int)e.Employe.Id);
                if (y != null ? y.Id > 0 : false)
                {
                    if (IS_DIGITAL)
                    {
                        Empreinte e_ = EmpreinteBLL.OneByEmployeFinger(e.Employe.Id, e.Digital);
                        if (e_ != null ? e_.Id < 1 : true)
                        {
                            if (EmpreinteBLL.Insert(e))
                            {
                                Finger f = (Finger)Finger.Get(e.Digital);
                                Utils.WriteLog("---- Ajout de l'empreinte Doigt(" + f.Doigt + ") Main(" + f.Main + ")  de l'employé " + e.Employe.NomPrenom + " effectue!");
                            }
                            else
                            {
                                Utils.WriteLog("---- Ajout de l'empreinte de l'employé " + e.Employe.NomPrenom + " echoué!");
                            }
                        }
                    }
                    else
                    {
                        Empreinte e_ = EmpreinteBLL.OneByEmployeFacial(e.Employe.Id, e.Facial);
                        if (e_ != null ? e_.Id < 1 : true)
                        {
                            if (EmpreinteBLL.Insert(e))
                            {
                                Utils.WriteLog("---- Ajout de l'empreinte faciale de l'employé " + e.Employe.NomPrenom + " effectue!");
                            }
                            else
                            {
                                Utils.WriteLog("---- Ajout de l'empreinte de l'employé " + e.Employe.NomPrenom + " echoué!");
                            }
                        }
                    }
                }
                else
                {
                    Utils.WriteLog("---- Ajout de l'empreinte de l'employé " + e.Employe.NomPrenom + " echoué! Car ce tiers n'est pas un employé");
                }
                Constantes.LoadPatience(false);
            }
            Utils.WriteLog("-- Fin du téléchargement des empreintes");
            Constantes.LoadPatience(true);
        }
Пример #13
0
        private void LoadEmpreinte(List <Empreinte> l)
        {
            ObjectThread o = new ObjectThread(dgv_empreinte);

            o.ClearDataGridView(true);
            ObjectThread o_ = new ObjectThread(Constantes.PBAR_WAIT);

            o_.UpdateMaxBar(Constantes.PBAR_WAIT.Maximum + l.Count);
            int i = 1;

            foreach (Empreinte e in l)
            {
                Finger f = (Finger)Finger.Get(e.Digital);
                o.WriteDataGridView(new object[] { e.Id, false, i, e.Employe.Id, e.Employe.NomPrenom, f.Main, f.Doigt });
                i++;
                Constantes.LoadPatience(false);
            }
            Constantes.LoadPatience(true);
        }
Пример #14
0
        private void Synchrone()
        {
            ObjectThread o = new ObjectThread(Constantes.PBAR_WAIT);

            o.UpdateMaxBar(empreintes.Count);
            Utils.WriteLog("-- Début de la synchronisation des empreintes");
            if (IS_INFOS)
            {
                foreach (Pointeuse p in destinations)
                {
                    Utils.WriteLog("---- Début de la synchronisation sur l'appareil " + p.Ip);
                    Fonctions.SynchroniseInfosServeur(p, empreintes);
                    Utils.WriteLog("---- Fin de la synchronisation sur l'appareil " + p.Ip);
                    Constantes.LoadPatience(false);
                }
            }
            else
            {
                if (IS_DIGITAL)
                {
                    foreach (Pointeuse p in destinations)
                    {
                        Utils.WriteLog("---- Début de la synchronisation sur l'appareil " + p.Ip);
                        Fonctions.SynchroniseTmpOneServeur(p, empreintes);
                        Utils.WriteLog("---- Fin de la synchronisation sur l'appareil " + p.Ip);
                        Constantes.LoadPatience(false);
                    }
                }
                else
                {
                    foreach (Pointeuse p in destinations)
                    {
                        Utils.WriteLog("---- Début de la synchronisation sur l'appareil " + p.Ip);
                        Fonctions.SynchroniseFaceOneServeur(p, empreintes);
                        Utils.WriteLog("---- Fin de la synchronisation sur l'appareil " + p.Ip);
                        Constantes.LoadPatience(false);
                    }
                }
            }
            Utils.WriteLog("-- Fin de la synchronisation des empreintes");
            Constantes.LoadPatience(true);
        }
Пример #15
0
        private void LoadTemplate(bool facial, bool infos)
        {
            bool serveur = chk_via_serveur.Checked;

            if (serveur)
            {
                Utils.WriteLog("Chargement des empreintes du serveur");
                String query = "";
                if (infos)
                {
                    if (employe != null ? employe.Id < 1 : true)
                    {
                        query = "select e.* from yvs_grh_employes e inner join yvs_agences a on e.agence = a.id where a.societe = " + Constantes.SOCIETE.Id + " order by e.nom";
                    }
                    else
                    {
                        query = "select e.* from yvs_grh_employes e inner join yvs_agences a on e.agence = a.id where e.id = " + employe.Id;
                    }
                    List <Employe> list = EmployeBLL.List(query);
                    le.Clear();
                    foreach (Employe e in list)
                    {
                        le.Add(new Empreinte((long)-(le.Count + 1), e));
                    }
                }
                else
                {
                    if (employe != null ? employe.Id < 1 : true)
                    {
                        query = "select p.* from yvs_grh_empreinte_employe p inner join yvs_grh_employes e on p.employe = e.id inner join yvs_agences a on e.agence = a.id where (p.empreinte_faciale is null or p.empreinte_faciale = 0) and empreinte_digital > -1 and a.societe = " + Constantes.SOCIETE.Id + " order by e.nom";
                        if (facial)
                        {
                            query = "select p.* from yvs_grh_empreinte_employe p inner join yvs_grh_employes e on p.employe = e.id inner join yvs_agences a on e.agence = a.id where (p.empreinte_digital is null or p.empreinte_digital = 0) and empreinte_faciale > 0 and a.societe = " + Constantes.SOCIETE.Id + " order by e.nom";
                        }
                    }
                    else
                    {
                        query = "select p.* from yvs_grh_empreinte_employe p where (p.empreinte_faciale is null or p.empreinte_faciale = 0) and empreinte_digital > -1 and p.employe = " + employe.Id;
                        if (facial)
                        {
                            query = "select p.* from yvs_grh_empreinte_employe p where (p.empreinte_digital is null or p.empreinte_digital = 0) and empreinte_faciale > 0 and p.employe = " + employe.Id;
                        }
                    }
                    le = EmpreinteBLL.List(query);
                    if (chk_not_in.Checked)
                    {
                        List <Empreinte> list = new List <Empreinte>();
                        list.AddRange(le);
                        le.Clear();
                        if (currentPointeuse != null ? currentPointeuse.Id > 0 : false)
                        {
                            Appareil z = Utils.ReturnAppareil(currentPointeuse);
                            Utils.VerifyZkemkeeper(ref z, ref currentPointeuse);
                            if (z == null)
                            {
                                Utils.WriteLog("La liaison avec l'appareil " + currentPointeuse.Ip + " est corrompue");
                                return;
                            }
                            currentPointeuse.Zkemkeeper = z;
                            if (facial)
                            {
                                switch (currentPointeuse.Type)
                                {
                                case Constantes.TYPE_IFACE:
                                    foreach (Empreinte y in list)
                                    {
                                        List <Empreinte> l = z.SSR_GetAllFaceTemplate(currentPointeuse.IMachine, (int)y.Employe.Id, currentPointeuse.Connecter, false);
                                        if (l != null ? l.Count < 1 : true)
                                        {
                                            le.Add(y);
                                        }
                                    }
                                    break;

                                default:
                                    Utils.WriteLog("Les empreintes faciales ne sont pas integrées dans l'appareil " + currentPointeuse.Ip);
                                    break;
                                }
                            }
                            else
                            {
                                switch (currentPointeuse.Type)
                                {
                                case Constantes.TYPE_IFACE:
                                    foreach (Empreinte y in list)
                                    {
                                        List <Empreinte> l = z.SSR_GetAllTemplate(currentPointeuse.IMachine, (int)y.Employe.Id, currentPointeuse.Connecter, false);
                                        if (l != null ? l.Count < 1 : true)
                                        {
                                            le.Add(y);
                                        }
                                    }
                                    break;

                                default:
                                    foreach (Empreinte y in list)
                                    {
                                        List <Empreinte> l = z.GetAllTemplate(currentPointeuse.IMachine, (int)y.Employe.Id, currentPointeuse.Connecter, false);
                                        if (l != null ? l.Count < 1 : true)
                                        {
                                            le.Add(y);
                                        }
                                    }
                                    break;
                                }
                            }
                        }
                        else
                        {
                            Utils.WriteLog("Vous devez selectionner une pointeuse ou déselectionner le filtre sur les empreintes interne");
                        }
                    }
                }
            }
            else
            {
                if (currentPointeuse != null ? currentPointeuse.Id > 0 : false)
                {
                    Appareil z = Utils.ReturnAppareil(currentPointeuse);
                    Utils.VerifyZkemkeeper(ref z, ref currentPointeuse);
                    if (z == null)
                    {
                        Utils.WriteLog("La liaison avec l'appareil " + currentPointeuse.Ip + " est corrompue");
                        return;
                    }
                    currentPointeuse.Zkemkeeper = z;
                    Utils.WriteLog("Chargement des empreintes de l'appareil " + currentPointeuse.Ip);
                    if (employe != null ? employe.Id < 1 : true)
                    {
                        if (facial)
                        {
                            switch (currentPointeuse.Type)
                            {
                            case Constantes.TYPE_IFACE:
                                le = z.SSR_GetAllFaceTemplate(currentPointeuse.IMachine, currentPointeuse.Connecter, chk_not_in.Checked);
                                break;

                            default:
                                Utils.WriteLog("Les empreintes faciales ne sont pas integrées dans l'appareil " + currentPointeuse.Ip);
                                break;
                            }
                        }
                        else
                        {
                            switch (currentPointeuse.Type)
                            {
                            case Constantes.TYPE_IFACE:
                                le = z.SSR_GetAllTemplate(currentPointeuse.IMachine, currentPointeuse.Connecter, chk_not_in.Checked);
                                break;

                            default:
                                le = z.GetAllTemplate(currentPointeuse.IMachine, currentPointeuse.Connecter, chk_not_in.Checked);
                                break;
                            }
                        }
                    }
                    else
                    {
                        if (facial)
                        {
                            switch (currentPointeuse.Type)
                            {
                            case Constantes.TYPE_IFACE:
                                le = z.SSR_GetAllFaceTemplate(currentPointeuse.IMachine, (int)employe.Id, currentPointeuse.Connecter, chk_not_in.Checked);
                                break;

                            default:
                                Utils.WriteLog("Les empreintes faciales ne sont pas integrées dans l'appareil " + currentPointeuse.Ip);
                                break;
                            }
                        }
                        else
                        {
                            switch (currentPointeuse.Type)
                            {
                            case Constantes.TYPE_IFACE:
                                le = z.SSR_GetAllTemplate(currentPointeuse.IMachine, (int)employe.Id, currentPointeuse.Connecter, chk_not_in.Checked);
                                break;

                            default:
                                le = z.GetAllTemplate(currentPointeuse.IMachine, (int)employe.Id, currentPointeuse.Connecter, chk_not_in.Checked);
                                break;
                            }
                        }
                    }
                }
                else
                {
                    Utils.WriteLog("Vous devez selectionner une pointeuse");
                }
            }
            if (le != null ? le.Count > 0 : false)
            {
                ObjectThread o = new ObjectThread(Constantes.PBAR_WAIT);
                o.UpdateMaxBar(le.Count);
                LoadEmpreinte(le);
            }
            else
            {
                Constantes.LoadPatience(true);
            }
            ResetDataEmpreinte();
        }