/// <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()); } }
//找部門 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); } }
//找職務 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); } }
//找職級 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); } }
//找人 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); } }
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()); } }
/// <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(); } }
/// <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); } } }
/// <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); } } }
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()); } }
/// <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()); } }
//單人匯出 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(); } }