void AuthService_PostLogin(object sender, BaseEventArgs e) { BaseUser loggedUser = ClientInfo.getInstance().LoggedUser; if(loggedUser.IsInRole(PosRole.Manager)) { // process period for manager here MainLogicEventArgs eventArgs = new MainLogicEventArgs(); eventArgs.Username = ClientInfo.getInstance().LoggedUser.Name; EventUtility.fireEvent(ProcessPeriodEvent,this,eventArgs); LoginModel userInfo = eventArgs.UserInfo; if(eventArgs.DepartmentManagement==null) { DialogResult result = MessageBox.Show("Ca trực đang trống. Bạn có muốn vào ca hay không ? ", "Vào ca trực", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); if(result == DialogResult.Yes) { EventUtility.fireEvent(StartPeriodEvent,this,eventArgs); if(eventArgs.HasErrors) { MessageBox.Show("Có lỗi khi thực hiện vào ca. Liên hệ người quản trị.", "Lỗi"); return; } } } } AuthService.PostLogin -= new EventHandler<BaseEventArgs>(AuthService_PostLogin); }
void mainView_ProcessPeriodEvent(object sender, MainLogicEventArgs e) { string UserId = e.Username; LoginModel UserInfo = LoginLogic.FindById(UserId); if(UserInfo.EmployeeInfo!=null) { e.UserInfo = UserInfo; DepartmentManagement lastManagement = DepartmentManagementLogic.FindLastPeriod(); e.DepartmentManagement = lastManagement; } }
private void mnuLeavePeriod_Click(object sender, EventArgs e) { BaseUser loggedUser = ClientInfo.getInstance().LoggedUser; if (loggedUser.IsInRole(PosRole.Manager)) { DialogResult result = MessageBox.Show("Bạn có muốn kết thúc ca trực hay không ? ", "Thoát ca trực", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); if (result == DialogResult.Yes) { MainLogicEventArgs eventArgs = new MainLogicEventArgs(); eventArgs.Username = ClientInfo.getInstance().LoggedUser.Name; EventUtility.fireEvent(ProcessPeriodEvent, this, eventArgs); LoginModel userInfo = eventArgs.UserInfo; if (eventArgs.DepartmentManagement == null) { MessageBox.Show("Chưa vào ca nên không thể chấm dứt ca.", "Lỗi"); return; } if (!userInfo.EmployeeInfo.EmployeePK.EmployeeId.Equals(eventArgs.DepartmentManagement.DepartmentManagementPK.EmployeeId)) { MessageBox.Show("Ca trực đã có người quản lý.", "Lỗi"); return; } EventUtility.fireEvent(EndPeriodEvent, this, eventArgs); if (eventArgs.HasErrors) { MessageBox.Show("Có lỗi khi thoát ca. Liên hệ người quản trị"); } else { MessageBox.Show("Bạn đã kết thúc ca trực. Nhấn OK để thoát."); } } } else { MessageBox.Show("Không đủ quyền hạn", "Lỗi"); } }
private void mnuEnterPeriod_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show("Bạn muốn vào ca trực ?", "Ca trực",MessageBoxButtons.YesNo); if(result == DialogResult.No) { return; } BaseUser loggedUser = ClientInfo.getInstance().LoggedUser; if (loggedUser.IsInRole(PosRole.Manager)) { // process period for manager here MainLogicEventArgs eventArgs = new MainLogicEventArgs(); eventArgs.Username = ClientInfo.getInstance().LoggedUser.Name; EventUtility.fireEvent(ProcessPeriodEvent, this, eventArgs); LoginModel userInfo = eventArgs.UserInfo; if (eventArgs.DepartmentManagement == null) { EventUtility.fireEvent(StartPeriodEvent, this, eventArgs); if (eventArgs.HasErrors) { MessageBox.Show("Có lỗi khi thực hiện vào ca. Liên hệ người quản trị.", "Lỗi"); return; } else { MessageBox.Show("Bạn đã vào ca trực. Nhấn OK để thoát."); } } else { if (!userInfo.EmployeeInfo.EmployeePK.EmployeeId.Equals(eventArgs.DepartmentManagement.DepartmentManagementPK.EmployeeId)) { MessageBox.Show("Ca trực đã có người quản lý.", "Lỗi"); } else { MessageBox.Show("Bạn đã vào ca rồi.", "Lỗi"); } } } else { MessageBox.Show("Không đủ quyền hạn", "Lỗi"); } }
void mainView_StartPeriodEvent(object sender, MainLogicEventArgs e) { DepartmentManagement dm = new DepartmentManagement(); dm.CreateId = e.UserInfo.Username; dm.UpdateId = e.UserInfo.Username; dm.CreateDate = DateTime.Now; dm.UpdateDate = DateTime.Now; dm.StartTime = DateTime.Now; dm.DepartmentManagementPK = new DepartmentManagementPK { DepartmentId = CurrentDepartment.Get().DepartmentId, EmployeeId = e.UserInfo.EmployeeInfo.EmployeePK.EmployeeId, WorkingDay = DateTime.Now }; DepartmentManagementLogic.Add(dm); }
void mainView_EndPeriodEvent(object sender, MainLogicEventArgs e) { DepartmentManagement curDM = e.DepartmentManagement; curDM.EndTime = DateTime.Now; DepartmentManagementLogic.Update(curDM); }