public void FindSpecialRule()
        {
            listAudit = new List <auditItem>();
            DataControl dataControl = new DataControl();
            DataTable   dataIDName  = new DataTable();

            dataControl.GetListIDSpecial(ref dataIDName);

            for (int i = 0; i < dataIDName.Rows.Count; i++)
            {
                string   ID       = dataIDName.Rows[i][0].ToString().Trim();
                string   Depart   = dataIDName.Rows[i][1].ToString().Trim();
                DateTime dateFrom = (dataIDName.Rows[i][2].ToString().Trim() != "") ? (DateTime.ParseExact(dataIDName.Rows[i][2].ToString().Trim().Substring(0, 10), "dd/MM/yyyy", CultureInfo.InvariantCulture)) : DateTime.MinValue;
                DateTime dateTo   = (dataIDName.Rows[i][3].ToString().Trim() != "") ? (DateTime.ParseExact(dataIDName.Rows[i][3].ToString().Trim().Substring(0, 10), "dd/MM/yyyy", CultureInfo.InvariantCulture)) : DateTime.MinValue;


                if (ID != "")
                {
                    DataTable            dt             = new DataTable();
                    List <m_workingData> m_WorkingDatas = dataControl.GetWorkingData(ID, ref dt, numericUpDown1.Value.ToString());
                    List <FingerData>    GetFingerDatas = new List <FingerData>();
                    GetFingerDatas = dataControl.GetFingerDatas(ID, numericUpDown1.Value.ToString());
                    if (m_WorkingDatas != null)
                    {
                        List <auditItem> auditItems = ListSpecialwrongruleFingerData(GetFingerDatas, Depart, dateFrom, dateTo);
                        if (auditItems != null)
                        {
                            foreach (var item in auditItems)
                            {
                                listAudit.Add(item);
                            }
                        }
                    }
                }
            }
            dtgv_bau.DataSource = listAudit;
        }
        public void FindListNG()
        {
            DicListNG             = new Dictionary <string, List <auditItem> >();
            listThieuFingerData   = new List <string>();
            listwrongWorkingHours = new List <auditItem>();
            DataControl dataControl = new DataControl();
            DataTable   dataIDName  = new DataTable();

            dataControl.GetListIDName(ref dataIDName, numericUpDown1.Value.ToString());

            for (int i = 0; i < dataIDName.Rows.Count; i++)
            {
                string               ID             = dataIDName.Rows[i][0].ToString().Trim();
                DataTable            dt             = new DataTable();
                List <m_workingData> m_WorkingDatas = dataControl.GetWorkingData(ID, ref dt, numericUpDown1.Value.ToString());
                List <FingerData>    GetFingerDatas = dataControl.GetFingerDatas(ID, numericUpDown1.Value.ToString());
                if (GetFingerDatas == null || GetFingerDatas.Count == 0)
                {
                    listThieuFingerData.Add(ID);
                }
                else
                {
                    List <auditItem> auditItems = GetAuditItems(dt, GetFingerDatas);
                    if (auditItems != null && auditItems.Count > 0 && DicListNG.ContainsKey(ID) == false)
                    {
                        DicListNG.Add(ID, auditItems);
                        foreach (var item in auditItems)
                        {
                            listwrongWorkingHours.Add(item);
                        }
                    }
                }
            }

            dtgv_inout.DataSource       = listThieuFingerData.Select(x => new { Value = x }).ToList();
            dtgv_workingtime.DataSource = listwrongWorkingHours;
        }