/// <summary> /// Cập nhật đăng ký ăn trưa /// </summary> private void UpdateLunch() { frmMessage frmMessage = new frmMessage(); string LunchMessage = ""; int STT = 0; int ret = 0; try { dsLunch = lunchDO.GetLunch((int)departmentTreeView.SelectedNode.Tag, dtpWorkingDay.Value.Date); LunchDataRows = dsLunch.Tables[0].Select(dataFilter, dataSort); for (int i=0;i<lvwLunch.SelectedIndicies.Length;i++) { // chỉ số hàng được chọn int rowIndex = (int)lvwLunch.SelectedItems[i].Tag; DataRow dr = LunchDataRows[rowIndex]; dr.BeginEdit(); if(cboLunchMoney.SelectedIndex == 0)//nếu chọn chưa thiết lập thì ghi giá trị Null vào Database { dr["LunchMoney"] = DBNull.Value; } else { dr["LunchMoney"] = cboLunchMoney.Text; } dr.EndEdit(); ret = lunchDO.UpdateLunch(dsLunch); // Thông báo và không cập nhật nếu nhân viên đăng ký ăn trưa trùng với đăng ký nghỉ hoặc đi công tác if(ret == EmployeeStatus.EMPLOYEE_LEAVE) { LunchMessage = dr["CardID"]+" - "+dr["EmployeeName"]+" đã đi công tác"; STT++; frmMessage.AddMessage(STT.ToString() + ". " + LunchMessage); } if(ret == EmployeeStatus.EMPLOYEE_REST) { LunchMessage = dr["CardID"]+" - "+dr["EmployeeName"]+" đã đăng ký nghỉ"; STT++; frmMessage.AddMessage(STT.ToString() + ". " + LunchMessage); } else if(ret == EmployeeStatus.EMPLOYEE_ABSENT) { LunchMessage = dr["CardID"]+" - "+dr["EmployeeName"]+" vắng mặt"; STT++; frmMessage.AddMessage(STT.ToString() + ". " + LunchMessage); } } } catch(Exception ex) { MessageBox.Show(ex.ToString()); } if (STT != 0) { frmMessage.Show(); } else //Thông báo thiết lập ăn trưa thành công { frmMessage.Close(); string str = WorkingContext.LangManager.GetString("frmLunch_SetLunch_ThongBao1"); string str1 = WorkingContext.LangManager.GetString("frmLunch_SetLunch_Title"); MessageBox.Show(str, str1, MessageBoxButtons.OK, MessageBoxIcon.Information); } }
/// <summary> /// /// </summary> private void CopyFromPreviousLunch() { frmMessage frmMessage = new frmMessage(); string LunchMessage = ""; int STT = 0; dsEmployee = employeeDO.GetEmployeeByDepartment(1); int ret = 0; try { foreach(DataRow row in dsEmployee.Tables[0].Rows) { DataRow dr = dsLunch.Tables[0].NewRow(); dr.BeginEdit(); dr["EmployeeID"] = row["EmployeeID"]; dr["WorkingDay"] = dtpWorkingDay.Value.Date; // dr["LunchMoney"] = 0; dr.EndEdit(); dsLunch.Tables[0].Rows.Add(dr); ret = lunchDO.CopyFromPreviousLunch(dsLunch,DateTime.Parse(previousWorkingDay.ToShortDateString())); if(ret == EmployeeStatus.EMPLOYEE_LEAVE) { LunchMessage = row["CardID"]+" - "+row["EmployeeName"]+" đã đi công tác"; STT++; frmMessage.AddMessage(STT.ToString() + ". " + LunchMessage); } if(ret == EmployeeStatus.EMPLOYEE_REST) { LunchMessage = row["CardID"]+" - "+row["EmployeeName"]+" đã đăng ký nghỉ"; STT++; frmMessage.AddMessage(STT.ToString() + ". " + LunchMessage); } else if(ret == EmployeeStatus.EMPLOYEE_ABSENT) { LunchMessage = row["CardID"]+" - "+row["EmployeeName"]+" vắng mặt"; STT++; frmMessage.AddMessage(STT.ToString() + ". " + LunchMessage); } } } catch { } if (STT != 0) { frmMessage.Show(); } else { frmMessage.Close(); string str = WorkingContext.LangManager.GetString("frmLunch_SetLunch_Title"); string str1 = WorkingContext.LangManager.GetString("frmLunch_SetLunch_ThongBao1"); //MessageBox.Show("Thiết lập ăn trưa thành công!", "Thiết lập ăn trưa", MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(str1, str, MessageBoxButtons.OK, MessageBoxIcon.Information); } }
/// <summary> /// Đăng ký làm thêm giờ /// </summary> public void RegDepartmentOverTime() { frmMessage frmMessage = new frmMessage(); string OverTimeMessage = ""; int STT = 0; for (int i = 0; i < lvwListEmployee.SelectedIndicies.Length; i++) { // chỉ số hàng được chọn int rowIndex = (int)lvwListEmployee.SelectedItems[i].Tag; DataRow drEmployee = dsEmployee.Tables[0].Rows[rowIndex]; // dr.BeginEdit(); // foreach (DataRow drEmployee in dsEmployee.Tables[0].Rows) // { int ret = 0; try { DataRow dr = dsRegOverTime.Tables[0].NewRow(); // dr.BeginEdit(); dr.BeginEdit(); dr["EmployeeID"] = drEmployee["EmployeeID"]; dr["StartOverTime"] = dtpStartTimeOver.Value.ToShortTimeString(); dr["Length"] = dtpLength.Value.ToShortTimeString(); dr["WorkingDay"] = dtpDayWorking.Value.ToShortDateString(); DateTime dt = Convert.ToDateTime(dr["Length"]); dr["WorkOverTimeInfo"] = txtWorkOverTimeInfo.Text; if (ckHaveDinner.Checked) { dr["DinnerAmount"] = Double.Parse(cboDinnnerAmount.Text); } else { dr["DinnerAmount"] = DBNull.Value; } dr.EndEdit(); dsRegOverTime.Tables[0].Rows.Add(dr); ret = regOverTimeDO.AddRegOverTime(dsRegOverTime); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } switch (ret) { case EmployeeStatus.EMPLOYEE_LEAVE: OverTimeMessage = drEmployee["CardID"] + " - " + drEmployee["EmployeeName"] + " đã đi công tác"; STT++; frmMessage.AddMessage(STT.ToString() + ". " + OverTimeMessage); break; case EmployeeStatus.EMPLOYEE_REST: OverTimeMessage = drEmployee["CardID"] + " - " + drEmployee["EmployeeName"] + " đã đăng ký nghỉ"; STT++; frmMessage.AddMessage(STT.ToString() + ". " + OverTimeMessage); break; case EmployeeStatus.EMPLOYEE_ABSENT: OverTimeMessage = drEmployee["CardID"] + " - " + drEmployee["EmployeeName"] + " vắng mặt"; STT++; frmMessage.AddMessage(STT.ToString() + ". " + OverTimeMessage); break; case 11: OverTimeMessage = "Thời gian đăng ký đã vượt thời gian làm thêm thực tế. Vui lòng kiểm tra lại!"; STT++; frmMessage.AddMessage(STT.ToString() + ". " + OverTimeMessage); break; case 12: OverTimeMessage = "Thời gian làm thực tế không đủ để đăng ký làm thêm. Vui lòng kiểm tra lại!"; STT++; frmMessage.AddMessage(STT.ToString() + ". " + OverTimeMessage); break; case 13: OverTimeMessage = "Không thể đăng ký làm thêm với nhân viên đăng ký nghỉ không phải là nghỉ phép 1/2 ngày. Vui lòng kiểm tra lại!"; STT++; frmMessage.AddMessage(STT.ToString() + ". " + OverTimeMessage); break; } //if(ret == EmployeeStatus.EMPLOYEE_LEAVE) //{ // OverTimeMessage = drEmployee["CardID"]+" - "+drEmployee["EmployeeName"]+" đã đi công tác"; // STT++; // frmMessage.AddMessage(STT.ToString() + ". " + OverTimeMessage); //} //if(ret == EmployeeStatus.EMPLOYEE_REST) //{ // OverTimeMessage = drEmployee["CardID"]+" - "+drEmployee["EmployeeName"]+" đã đăng ký nghỉ"; // STT++; // frmMessage.AddMessage(STT.ToString() + ". " + OverTimeMessage); //} //else if(ret == EmployeeStatus.EMPLOYEE_ABSENT) //{ // OverTimeMessage = drEmployee["CardID"]+" - "+drEmployee["EmployeeName"]+" vắng mặt"; // STT++; // frmMessage.AddMessage(STT.ToString() + ". " + OverTimeMessage); //} } if (STT != 0) { frmMessage.Show(); } else { frmMessage.Close(); //Thông báo đăng ký làm thêm thành công string str = WorkingContext.LangManager.GetString("frmRegOverTime1_DangKyOT_Messa1"); string str1 = WorkingContext.LangManager.GetString("frmRegOverTime1_DangKyOT_Title"); MessageBox.Show(str, str1, MessageBoxButtons.OK, MessageBoxIcon.Information); // if ((this.Text =="Thêm đăng ký làm thêm giờ" )|| (this.Text == "Sửa đăng ký làm thêm giờ")) // { // MessageBox.Show("Đăng ký làm thêm giờ cho bộ phận " + departmentTreeView.SelectedNode.Text + " thành công!", "Đăng ký làm thêm giờ", MessageBoxButtons.OK, MessageBoxIcon.Information); // } // else // { // MessageBox.Show(departmentTreeView.SelectedNode.Text +" の部門の残業登録が正常に完了しました !","",MessageBoxButtons.OK, MessageBoxIcon.Information); // // } } }