예제 #1
0
        /// <summary>
        /// 更新XML
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRenewXml_Click(object sender, EventArgs e)
        {
            try
            {
                XmlDocument xmlDox = new XmlDocument();

                XElement xTree = new XElement("UserSet",
                                              from q in la
                                              where q.範圍種類.Equals("人員")
                                              select new XElement("Element", new XAttribute("type", "user"),
                                                                  new XElement("userId", q.key1)
                                                                  ),
                                              from q in la
                                              where q.範圍種類.Equals("職級")
                                              select new XElement("Element", new XAttribute("type", "jobTitle"),
                                                                  new XElement("jobTitleId", q.key1)
                                                                  ),
                                              from q in la
                                              where q.範圍種類.Equals("部門")
                                              select new XElement("Element", new XAttribute("type", "group"),
                                                                  new XElement("groupId", q.key1)
                                                                  ),
                                              from q in la
                                              where q.範圍種類.Equals("職級和部門")
                                              select new XElement("Element", new XAttribute("type", "jobTitleOfGroup"), new XAttribute("isDepth", "True"),
                                                                  new XElement("jobTitleId", q.key1),
                                                                  new XElement("groupId", q.key2)
                                                                  ),
                                              from q in la
                                              where q.範圍種類.Equals("職務和部門")
                                              select new XElement("Element", new XAttribute("type", "jobFunctionOfGroup"), new XAttribute("isDepth", "True"),
                                                                  new XElement("jobFunctionId", q.key1),
                                                                  new XElement("groupId", q.key2)
                                                                  )
                                              );
                string outxml = xTree.ToString();

                using (UOFEntities en = new UOFEntities())
                {
                    string role = dataGridView1.SelectedRows[0].Cells["ROLE_ID"].Value.ToString();

                    var data = (from q in en.TB_EB_SEC_ROLE_MEMBER
                                where q.ROLE_ID.Equals(role)
                                select q).First();
                    data.USER_SET = outxml;

                    en.SaveChanges();

                    //en.Log.Add(new Log { Id = 123,});
                    //en.Log.Remove(en.Log.Where(p => p.Id == 1).First());
                    //en.SaveChanges();
                }

                MessageBox.Show("更新成功");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
예제 #2
0
 //找部門 ex:青年廠
 private TB_EB_GROUP getGroup(string p_GroupID)
 {
     using (var en = new UOFEntities())
     {
         TB_EB_GROUP group = en.TB_EB_GROUP.Where(p => p.GROUP_ID == p_GroupID).First();
         return(group);
     }
 }
예제 #3
0
 //找職務 ex:廠長
 private TB_EB_JOB_FUNC getJobFunc(string p_FuncID)
 {
     using (var en = new UOFEntities())
     {
         TB_EB_JOB_FUNC jfunc = en.TB_EB_JOB_FUNC.Where(p => p.FUNC_ID == p_FuncID).First();
         return(jfunc);
     }
 }
예제 #4
0
 //找職級 ex:專員
 private TB_EB_JOB_TITLE getJobTitle(string p_TITLE_ID)
 {
     using (var en = new UOFEntities())
     {
         TB_EB_JOB_TITLE title = en.TB_EB_JOB_TITLE.Where(p => p.TITLE_ID == p_TITLE_ID).First();
         return(title);
     }
 }
예제 #5
0
 //找人
 private TB_EB_USER getUser(string p_EmpGUID)
 {
     using (var en = new UOFEntities())
     {
         TB_EB_USER user = en.TB_EB_USER.Where(p => p.USER_GUID == p_EmpGUID).FirstOrDefault();
         return(user);
     }
 }
예제 #6
0
        private void btnFliter_Click(object sender, EventArgs e)
        {
            try
            {
                using (var en = new UOFEntities())
                {
                    switch (comboBox1.SelectedItem.ToString())
                    {
                    case "人員":
                        dataGridView1.DataSource = (from q in en.TB_EB_USER
                                                    where q.ACCOUNT.Contains(textBox1.Text.Trim())
                                                    select new
                        {
                            id = q.ACCOUNT,
                            name = q.NAME
                        }).DefaultIfEmpty().ToList();
                        break;

                    case "職級":
                        dataGridView1.DataSource = (from q in en.TB_EB_JOB_TITLE
                                                    where q.TITLE_NAME.Contains(textBox1.Text.Trim())
                                                    select new {
                            id = q.TITLE_NAME,
                            key = q.TITLE_ID
                        }).DefaultIfEmpty().ToList();
                        break;

                    case "部門":
                        dataGridView1.DataSource = (from q in en.TB_EB_GROUP
                                                    where q.GROUP_NAME.Contains(textBox1.Text.Trim())
                                                    select new {
                            id = q.GROUP_NAME,
                            key = q.GROUP_TYPE
                        }).DefaultIfEmpty().ToList();
                        break;

                    case "職務":
                        dataGridView1.DataSource = (from q in en.TB_EB_JOB_FUNC
                                                    where q.FUNC_NAME.Contains(textBox1.Text.Trim())
                                                    select new {
                            id = q.FUNC_NAME,
                            key = q.FUNC_ID
                        }).DefaultIfEmpty().ToList();
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
예제 #7
0
        /// <summary>
        /// 選取角色
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void lbRoleID_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selectedrole = lbRoleID.SelectedItem.ToString();

            using (var en = new UOFEntities())
            {
                var member = from q in en.TB_EB_SEC_ROLE_MEMBER
                             where q.ROLE_ID == selectedrole
                             select q;

                dataGridView1.DataSource = member.ToList();
            }
        }
예제 #8
0
        /// <summary>
        /// Form Load
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void fmRoleMemberControl_Load(object sender, EventArgs e)
        {
            using (var en = new UOFEntities())
            {
                //顯示全部角色
                var rolemodule = (from q in en.TB_EB_SEC_ROLE
                                  select q)
                                 .GroupBy(p => p.MODULE_ID)
                                 .Select(q => q.Key);

                foreach (var item in rolemodule)
                {
                    lbModule.Items.Add(item);
                }
            }
        }
예제 #9
0
        /// <summary>
        /// 選取角色群組
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void lbModule_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selectedmodule = lbModule.SelectedItem.ToString();

            using (var en = new UOFEntities())
            {
                //先清除
                lbRoleID.Items.Clear();
                var roles = from q in en.TB_EB_SEC_ROLE
                            where q.MODULE_ID == selectedmodule
                            select q;

                foreach (var item in roles)
                {
                    lbRoleID.Items.Add(item.ROLE_ID);
                }
            }
        }
예제 #10
0
 private void dataGridView1_DoubleClick(object sender, EventArgs e)
 {
     try
     {
         using (var en = new UOFEntities())
         {
             //if (dataGridView1.Rows.Count != 0 && dataGridView1.CurrentRow != null)
             //{
             //    string struser = dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();
             //    finddata = en.TB_EB_USER.Where(p => p.ACCOUNT == struser).FirstOrDefault().ACCOUNT;
             //    this.DialogResult = DialogResult.OK;
             //    this.Close();
             //}
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
예제 #11
0
        /// <summary>
        /// 新增範圍
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAuthAdd_Click(object sender, EventArgs e)
        {
            try
            {
                using (var en = new UOFEntities())
                {
                    switch (cbAuthAdd.SelectedItem.ToString())
                    {
                    case "人員":
                        var emp = (from q in en.TB_EB_USER
                                   where q.ACCOUNT.Equals(txtDetail1.Text)
                                   select new Auth
                        {
                            範圍種類 = "人員",
                            範圍1 = q.NAME,
                            key1 = q.USER_GUID
                        }).First();
                        if (emp != null)
                        {
                            la.Add(emp);
                        }
                        break;

                    case "部門":
                        var group = (from q in en.TB_EB_GROUP
                                     where q.GROUP_NAME.Equals(txtDetail1.Text)
                                     select new Auth
                        {
                            範圍種類 = "部門",
                            範圍1 = q.GROUP_NAME,
                            key1 = q.GROUP_ID
                        }).First();
                        if (group != null)
                        {
                            la.Add(group);
                        }
                        break;

                    case "職級":
                        var jobtitle = (from q in en.TB_EB_JOB_TITLE
                                        where q.TITLE_NAME.Equals(txtDetail1.Text)
                                        select new Auth
                        {
                            範圍種類 = "職級",
                            範圍1 = q.TITLE_NAME,
                            key1 = q.TITLE_ID
                        }).First();
                        if (jobtitle != null)
                        {
                            la.Add(jobtitle);
                        }
                        break;

                    case "職務":
                        var jobfunc = (from q in en.TB_EB_JOB_FUNC
                                       where q.FUNC_NAME.Equals(txtDetail1.Text)
                                       select new Auth
                        {
                            範圍種類 = "職務",
                            範圍1 = q.FUNC_NAME,
                            key1 = q.FUNC_ID
                        }).First();
                        if (jobfunc != null)
                        {
                            la.Add(jobfunc);
                        }
                        break;

                    case "職級和部門":
                        var d = (from q in en.TB_EB_JOB_TITLE
                                 where q.TITLE_NAME.Equals(txtDetail1.Text)
                                 select new
                        {
                            id = q.TITLE_NAME,
                            key = q.TITLE_ID
                        }).First();

                        var d1 = (from q in en.TB_EB_GROUP
                                  where q.GROUP_NAME == txtDetail2.Text
                                  select new
                        {
                            id = q.GROUP_NAME,
                            key = q.GROUP_ID
                        }).First();
                        Auth temp = new Auth {
                            範圍種類 = "職級和部門",
                            範圍1  = d.id,
                            key1 = d.key,
                            範圍2  = d1.id,
                            key2 = d1.key
                        };
                        if (d != null && d1 != null)
                        {
                            la.Add(temp);
                        }

                        break;

                    case "職務和部門":
                        var data = (from q in en.TB_EB_JOB_FUNC
                                    where q.FUNC_NAME == txtDetail1.Text
                                    select new
                        {
                            id = q.FUNC_NAME,
                            key = q.FUNC_ID
                        }).First();
                        var data2 = (from q in en.TB_EB_GROUP
                                     where q.GROUP_NAME == txtDetail2.Text
                                     select new
                        {
                            id = q.GROUP_NAME,
                            key = q.GROUP_ID
                        }).First();


                        Auth temp1 = new Auth {
                            範圍種類 = "職務和部門",
                            範圍1  = data.id,
                            key1 = data.key,
                            範圍2  = data2.id,
                            key2 = data2.key
                        };
                        if (data != null && data2 != null)
                        {
                            la.Add(temp1);
                        }
                        break;

                    default:
                        break;
                    }

                    dgvAuth.DataSource = la.ToList();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
예제 #12
0
        //單人匯出
        private void btnPersonalCheck_Click(object sender, EventArgs e)
        {
            if (txtEmpNo.Text.Equals(""))
            {
                MessageBox.Show("請輸入員編");
                return;
            }
            lockScreen();

            List <TB_HR_JOBTIME> lJobtime = new List <TB_HR_JOBTIME>();

            //查詢是否排休
            using (var en = new UOFEntities())
            {
                lJobtime = (from q in en.TB_HR_JOBTIME
                            where txtEmpNo.Text.Equals(q.SMID)
                            select q).ToList <TB_HR_JOBTIME>();
            }

            List <DateTime> lvacation = new List <DateTime>();

            foreach (var item in lJobtime)
            {
                lvacation.Add(new DateTime(Convert.ToInt16(item.JOB_YEAR), Convert.ToInt16(item.JOB_MONTH), Convert.ToInt16(item.JOB_DAY)));
            }

            if (txtEmpNo.Text != "")
            {
                DateTime dtstart = dtpStart.Value.Date;
                DateTime dtend   = dtpEnd.Value.Date;

                List <PernalData> totalList = new List <PernalData>();
                while (dtstart <= dtend)
                {
                    string startdate = dtstart.ToString("yyyy-MM-dd");

                    DataTable dt = checkPersonalData(startdate);

                    var data = (from q in dt.AsEnumerable()
                                select new PernalData
                    {
                        原編 = q.Field <string>("EMPLOYEE_EIP"),
                        部門單位 = q.Field <string>("GROUP_NAME") + " " + q.Field <string>("TITLE_NAME"),
                        刷卡日期 = q.Field <DateTime>("DATE_TIME_MIN").ToString("yyyy/MM/dd"),
                        班時間 = q.Field <DateTime>("DATE_TIME_MIN").ToString("HH:mm").Replace(":", ""),
                        班時間 = q.Field <DateTime>("DATE_TIME_MAX").ToString("HH:mm").Replace(":", ""),
                    }).ToList();

                    foreach (PernalData item in data)
                    {
                        totalList.Add(item);

                        //檢查有沒有休假
                        int check = lvacation.Where(p => p.Equals(DateTime.Parse(item.刷卡日期))).Count();

                        if (cbvacation.Checked && check > 0)
                        {
                            totalList.Remove(item);
                        }
                    }

                    dtstart = dtstart.AddDays(1);
                }
                unlockScreen();

                dataGridView1.DataSource = totalList;
                dtforExl = ConvertToDataTable <PernalData>(totalList);
            }
            else
            {
                MessageBox.Show("一定要輸入員工編號");
                unlockScreen();
            }
        }