Beispiel #1
0
        private void PostForApprovalAction_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            OfficeLeave officeLeave = (OfficeLeave)View.CurrentObject;

            View.ObjectSpace.SetModified(officeLeave);
            officeLeave.PostForApproval = true;

            if (View is DetailView && ((DetailView)View).ViewEditMode == ViewEditMode.View)
            {
                View.ObjectSpace.CommitChanges();
            }
        }
Beispiel #2
0
        private void ApproveOffiveLeaveAction_Execute(object sender, PopupWindowShowActionExecuteEventArgs e)
        {
            IObjectSpace objectSpace = Application.CreateObjectSpace();
            Employee     currentUser = objectSpace.GetObjectByKey <Employee>(SecuritySystem.CurrentUserId);

            OfficeLeave officeLeave = (OfficeLeave)View.CurrentObject;

            View.ObjectSpace.SetModified(officeLeave);
            if (officeLeave.Employee.Manager.Oid == currentUser.Oid)
            {
                officeLeave.Manager             = ObjectSpace.GetObjectByKey <Employee>(currentUser.Oid);
                officeLeave.ManagerApproval     = ((OfficeLeaveApprovalParametersObject)e.PopupWindow.View.CurrentObject).Approval;
                officeLeave.ManagerComment      = ((OfficeLeaveApprovalParametersObject)e.PopupWindow.View.CurrentObject).Comment;
                officeLeave.ManagerApprovalDate = DateTime.Now;
            }

            SystemSetting setting = objectSpace.FindObject <SystemSetting>(null);

            foreach (MarbidRole role in currentUser.MarbidRoles)
            {
                if (setting.HRRole == role)
                {
                    officeLeave.HRPersonnel    = ObjectSpace.GetObjectByKey <Employee>(currentUser.Oid);
                    officeLeave.HRApproval     = ((OfficeLeaveApprovalParametersObject)e.PopupWindow.View.CurrentObject).Approval;
                    officeLeave.HRComment      = ((OfficeLeaveApprovalParametersObject)e.PopupWindow.View.CurrentObject).Comment;
                    officeLeave.HRApprovalDate = DateTime.Now;
                }
            }

            if (officeLeave.Employee.Directorate.Manager.Oid == currentUser.Oid)
            {
                officeLeave.Director             = ObjectSpace.GetObjectByKey <Employee>(currentUser.Oid);
                officeLeave.DirectorApproval     = ((OfficeLeaveApprovalParametersObject)e.PopupWindow.View.CurrentObject).Approval;
                officeLeave.DirectorComment      = ((OfficeLeaveApprovalParametersObject)e.PopupWindow.View.CurrentObject).Comment;
                officeLeave.DirectorApprovalDate = DateTime.Now;
            }

            if (View is DetailView && ((DetailView)View).ViewEditMode == ViewEditMode.View)
            {
                View.ObjectSpace.CommitChanges();
            }
        }