public List <Attendance_Record> fetchAttendance(AttendanceDataConfig config)
 {
     try
     {
         objZkeeper = new ZkemClient(RaiseDeviceEvent);
         bool IsDeviceConnected = objZkeeper.Connect_Net(config.IPAddress, config.PortNumber);
         int  todaysRecord      = 0;
         if (IsDeviceConnected)
         {
             string deviceInfo = manipulator.FetchDeviceInfo(objZkeeper, config.MachineNumber);                   ///tbxMachineNumber.Text.Trim()
             ///lblDeviceInfo.Text = deviceInfo;
             ICollection <MachineInfo> lstMachineInfo = manipulator.GetLogData(objZkeeper, config.MachineNumber); ///tbxMachineNumber.Text.Trim()
             var attendanceRecord = new List <Attendance_Record>();
             foreach (var item in lstMachineInfo)
             {
                 if (DateTime.Compare(item.DateOnlyRecord, config.DateTo) == 0)///DateTime.Parse(item.DateTimeRecord).Date
                 {
                     attendanceRecord.Add(new Attendance_Record()
                     {
                         Information_Id = item.IndRegID, Attendance_Timing = DateTime.Parse(item.DateTimeRecord)
                     });
                     todaysRecord++;
                 }
             }
             return(attendanceRecord);
         }
         return(new List <Attendance_Record>());
     }
     catch (Exception ex)
     {
         return(new List <Attendance_Record>());
     }
 }
Beispiel #2
0
        private static void Sincronizar(int index)
        {
            var lstMachineInfo = manipulator.GetLogData(objZkeeper, 1);

            Console.WriteLine("Machine info nula? :" + (lstMachineInfo == null));
            Console.WriteLine("Total de eventos a cargar :" + lstMachineInfo.Count());

            if (InsertarEvento("El usuario TESTMARCA ha iniciado la sincronización de la terminal " + marcadores[index].UBICACION))
            {
                try
                {
                    var total   = 0;
                    var errores = 0;

                    if (lstMachineInfo != null && lstMachineInfo.Any())
                    {
                        foreach (var item in lstMachineInfo)
                        {
                            if (InsertRecord(0, item.IndRegID, DateTime.Parse(item.DateTimeRecord), item.InOutModel, index))
                            {
                                total++;
                            }
                            else
                            {
                                errores++;
                            }
                        }

                        InsertarEvento("El proceso de sincronización iniciado por TESTMARCA en la terminal '" + marcadores[index].UBICACION + "' ha finalizado. Registros insertados: " + total);
                        //ShowStatusBar("El proceso de sincronización a finalizado exitosamente. Registros insertados: " + total, true);
                    }
                    else
                    {
                        Console.WriteLine("~> No se extrajeron resultados.");
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("~> " + ex.Message);
                }
            }
        }
Beispiel #3
0
        static ICollection <MachineInfo> GetMachineLog(DeviceManipulator manipulator, ZkemClient objZkeeper)
        {
            var machineLogs = new List <MachineInfo>();

            try
            {
                machineLogs = manipulator.GetLogData(objZkeeper, 1).ToList();
                machineLogs = machineLogs.Where(i => i.DateOnlyRecord.Date >= DateTime.Now.Date && i.DateOnlyRecord.Date <= DateTime.Now.Date).ToList();
            }
            catch (Exception ex)
            {
                WriteToErrorLog("Something wrong with GetMachineLog()", ex.ToString());
            }
            return(machineLogs);
        }
Beispiel #4
0
        //public ICollection<AttendanceInfo> GetPullData_Click(object sender, EventArgs e)
        //{
        //        ICollection<AttendanceInfo> lstMachineInfo = manipulator.GetLogData(objZkeeper, this.MachineNumber);

        //        return lstMachineInfo;
        //}

        public ICollection <BiometricLogModel> GetBiometricData()
        {
            //IPAddress[] ipaddress = Dns.GetHostAddresses(this.HostName);
            ICollection <BiometricLogModel> logs = new HashSet <BiometricLogModel>();

            //if (ipaddress.Length > 0)
            //{
            //    this.DeviceIP = ipaddress[0].ToString();
            //}

            if (this.ConnectToZKTeco())
            {
                logs = manipulator.GetLogData(objZkeeper, this.MachineNumber);
                objZkeeper.Disconnect();
            }
            else
            {
                throw new ZkTecoClientException($"Failed to connect to Biometric Device at {this.DeviceIP}: {this.PortNumber}");
            }
            return(logs);
        }
Beispiel #5
0
        public ActionResult ObtenerAsistencia()
        {
            var listaRegistros = new List <MachineInfo>();


            if (Connect())
            {
                ICollection <MachineInfo> lstMachineInfo = manipulator.GetLogData(objZkeeper, 1);


                foreach (var item in lstMachineInfo)
                {
                    MachineInfo ent = new MachineInfo();
                    ent.MachineNumber  = item.MachineNumber;
                    ent.IndRegID       = item.IndRegID;
                    ent.DateTimeRecord = item.DateTimeRecord;

                    listaRegistros.Add(ent);
                }
                listaRegistros = listaRegistros.OrderByDescending(p => p.DateTimeRecord).ToList();
            }
            return(Json(new { data = listaRegistros }, JsonRequestBehavior.AllowGet));
        }
Beispiel #6
0
        private void BtnPullData_Click(object sender, EventArgs e)
        {
            try
            {
                ShowStatusBar(string.Empty, true);

                ICollection <MachineInfo> lstMachineInfo = manipulator.GetLogData(objZkeeper, int.Parse(tbxMachineNumber.Text.Trim()));

                if (lstMachineInfo != null && lstMachineInfo.Count > 0)
                {
                    BindToGridView(lstMachineInfo);
                    ShowStatusBar(lstMachineInfo.Count + " records found !!", true);
                }
                else
                {
                    DisplayListOutput("No records found");
                }
            }
            catch (Exception ex)
            {
                DisplayListOutput(ex.Message);
            }
        }
Beispiel #7
0
        private static void Sincronizar(int index)
        {
            var lstMachineInfo = manipulator.GetLogData(objZkeeper, 1);

            if (InsertarEvento("El usuario BERIVERA ha iniciado la sincronización de la terminal " + marcadores[index].UBICACION))
            {
                try
                {
                    var total   = 0;
                    var errores = 0;

                    if (lstMachineInfo != null && lstMachineInfo.Any())
                    {
                        foreach (var item in lstMachineInfo)
                        {
                            if (InsertRecord(0, item.IndRegID, DateTime.Parse(item.DateTimeRecord), item.InOutModel, index))
                            {
                                total++;
                            }
                            else
                            {
                                errores++;
                            }
                        }

                        InsertarEvento("El proceso de sincronización iniciado por BERIVERA en la terminal '" + marcadores[index].UBICACION + "' ha finalizado. Registros insertados: " + total);
                        //ShowStatusBar("El proceso de sincronización a finalizado exitosamente. Registros insertados: " + total, true);
                    }
                    else
                    {
                    }
                }
                catch (Exception ex)
                {
                }
            }
        }
        private void PullAllData()
        {
            listBox1.Items.Clear();
            try
            {
                master.ShowStatusBar(string.Empty, true);

                lstMachineInfo          = manipulator.GetLogData(master.objZkeeper, int.Parse(master.machineNumber.Trim()));
                lstFingerPrintTemplates = manipulator.GetAllUserInfo(master.objZkeeper, int.Parse(master.machineNumber.Trim()));

                if (lstMachineInfo != null && lstMachineInfo.Count > 0)
                {
                    foreach (MachineInfo item in lstMachineInfo)
                    {
                        string g_kisi   = item.IndRegID.ToString();
                        string g_cesit  = item.dwInOutMode.ToString();
                        string g_yontem = item.dwVerifyMode.ToString();

                        if (radioButton2.Checked && g_yontem == "1")
                        {
                            continue;
                        }
                        if (radioButton3.Checked && g_yontem == "0")
                        {
                            continue;
                        }
                        if (!checkedListBox1.GetItemChecked(0) && g_cesit == "0")
                        {
                            continue;
                        }
                        if (!checkedListBox1.GetItemChecked(1) && g_cesit == "1")
                        {
                            continue;
                        }
                        if (!checkedListBox1.GetItemChecked(2) && g_cesit == "4")
                        {
                            continue;
                        }
                        if (!checkedListBox1.GetItemChecked(3) && g_cesit == "5")
                        {
                            continue;
                        }
                        if (checkBox1.Checked)
                        {
                            DateTime temp = Convert.ToDateTime(item.DateTimeRecord);
                            if (!(monthCalendar1.SelectionStart.Date <= temp && temp <= monthCalendar1.SelectionEnd.Date.AddHours(23).AddMinutes(59)))
                            {
                                continue;
                            }
                        }

                        if (lstFingerPrintTemplates != null && lstFingerPrintTemplates.Count > 0)
                        {
                            foreach (UserInfo kisi in lstFingerPrintTemplates)
                            {
                                if (g_kisi == kisi.EnrollNumber.ToString())
                                {
                                    g_kisi = kisi.Name; break;
                                }
                            }
                        }

                        switch (g_cesit)
                        {
                        case "0": g_cesit = "Giriş"; break;

                        case "1": g_cesit = "Çıkış"; break;

                        case "4": g_cesit = "Fm_Giriş"; break;

                        case "5": g_cesit = "Fm_Çıkış"; break;

                        default: break;
                        }

                        switch (g_yontem)
                        {
                        case "0": g_yontem = "Şifre"; break;

                        case "1": g_yontem = "Parmak İzi"; break;

                        default: break;
                        }

                        listBox1.Items.Add(g_kisi + " - " + g_cesit + " - "
                                           + g_yontem + " - " + item.DateTimeRecord);
                    }
                    master.ShowStatusBar(lstMachineInfo.Count + " kayıt bulundu! " + listBox1.Items.Count + " adet kayıt istenilen kriterlerde.", true);
                }
                else
                {
                    master.ShowStatusBar("Hiç kayıt bulunamadı", false);
                }
            }
            catch (Exception ex)
            {
                master.ShowStatusBar(ex.Message, false);
            }
        }
        public ICollection <MachineInfo> ReadMachineData(string machineId, string status, string ipAddress, int port, DateTime fromDate, DateTime toDate)
        {
            IList <MachineInfo> listAttandance = new List <MachineInfo>();

            {
                try
                {
                    List <TimeConfigSettings> timeConfigSettings  = new List <TimeConfigSettings>();
                    TimeConfigSettings        _timeConfigSettings = new TimeConfigSettings();
                    timeConfigSettings  = GetDynamic(" where IP = " + "'" + ipAddress + "'");
                    _timeConfigSettings = timeConfigSettings[0];
                    DateTime fromDate2 = _timeConfigSettings.LastUpdateTime;
                    if (status.Trim() == "Device Is Online")
                    {
                        objZkeeper = new ZkemClient();
                        bool IsDeviceConnected = objZkeeper.Connect_Net(ipAddress, port);

                        if (IsDeviceConnected)
                        {
                            ICollection <MachineInfo> lstMachineInfo = manipulator.GetLogData(objZkeeper, int.Parse(machineId.Trim()));

                            if (lstMachineInfo != null && lstMachineInfo.Count > 0)
                            {
                                DateTime fromDate1 = DateTime.Parse(fromDate.ToString("yyyy-MM-dd"));
                                DateTime fromDate3 = DateTime.Parse(fromDate2.ToString("yyyy-MM-dd"));
                                DateTime toDate1   = Convert.ToDateTime(toDate.ToString("yyyy-MM-dd"));

                                var myQuery = from p in lstMachineInfo
                                              where

                                              p.PunchDate > fromDate2
                                              //&& p.PunchDate <= toDate1
                                              orderby p.EmployeeID
                                              select p;

                                if (myQuery.ToList <MachineInfo>().Count > 0)
                                {
                                    listAttandance = myQuery.ToList <MachineInfo>();
                                }
                                else
                                {
                                    listAttandance = null;
                                }
                            }
                            else
                            {
                                listAttandance = null;
                            }
                        }
                        else
                        {
                            listAttandance = null;
                        }
                    }
                }
                catch (Exception ex)
                {
                    // MessageBox.Show(ex.Message);
                }
            }
            return(listAttandance);
        }