Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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;
     }
 }
Ejemplo n.º 3
0
        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");
            }
        }
Ejemplo n.º 4
0
 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");
     }
 }
Ejemplo n.º 5
0
 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);
 }
Ejemplo n.º 6
0
 void mainView_EndPeriodEvent(object sender, MainLogicEventArgs e)
 {
     DepartmentManagement curDM = e.DepartmentManagement;
     curDM.EndTime = DateTime.Now;
     DepartmentManagementLogic.Update(curDM);
 }