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(); } }
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(); } }