public void Deactivate() { try { if (this.CurrentFormId == 0) { var f = OGEForm450.GetCurrentFormByUser(AccountName); CurrentFormId = f != null ? f.Id : 0; } // Set Current Form to Canceled if (this.CurrentFormId > 0) { var form = OGEForm450.Get(this.CurrentFormId); form.FormStatus = Constants.FormStatus.CANCELED; form.Save(); form.RemoveExtensions(); } this.Inactive = true; this.InactiveDate = DateTime.Now; this.EmployeeStatus = Constants.EmployeeStatus.INACTIVE; } catch (Exception ex) { // Couldn't find form, ignore exception SharePointHelper.HandleException(ex, "", "Employee.Deactivate"); } }
public void Deactivate() { try { // Set Current Form to Canceled if (this.CurrentFormId > 0) { var form = OGEForm450.Get(this.CurrentFormId); form.FormStatus = Constants.FormStatus.CANCELED; form.Save(); } } catch (Exception ex) { // Couldn't find form, ignore exception } // Set Pending Extensions to Canceled var extensions = ExtensionRequest.GetPendingExtensions(this.CurrentFormId); foreach (ExtensionRequest ext in extensions) { ext.Status = Constants.ExtensionStatus.CANCELED; ext.Save(); } this.InactiveDate = DateTime.Now; }
public string RunBusinessRules(UserInfo user, ExtensionRequest oldItem) { var form = OGEForm450.Get(this.OGEForm450Id); var filer = UserInfo.GetUser(form.Filer); _pendingEmails = new List <Notifications>(); if (Id == 0 && !(form.FormStatus == Constants.FormStatus.NOT_STARTED || form.FormStatus == Constants.FormStatus.DRAFT || form.FormStatus == Constants.FormStatus.MISSING_INFORMATION)) { return("Cannot make a request for a form that has been submitted or certified or cancelled"); } // ensure 90 day rule if (form.DaysExtended + this.DaysRequested > 90) { return("Cannot make a request for more than 90 days"); } if (oldItem != null && !user.IsReviewer) { return("Unauthorised: Cannot update record, you must be a reviewer to approve or deny an extension."); } if (this.DaysRequested == 0) { return("Must request at least one day"); } if (this.Reason == "") { return("Must provide a reason for extension."); } var data = this.GetEmailData(user); if (oldItem == null) { this.Status = Constants.ExtensionStatus.PENDING; _pendingEmails.Add(EmailHelper.GetEmail(NotificationTemplates.NotificationTypes.EXTENSION_RECEIVED, filer, data)); _pendingEmails.Add(EmailHelper.GetEmail(NotificationTemplates.NotificationTypes.EXTENSION_REQUEST, filer, data)); } else if (user.IsReviewer) { if (oldItem.Status == Constants.ExtensionStatus.PENDING && this.Status != Constants.ExtensionStatus.CANCELED && this.Status != Constants.ExtensionStatus.PENDING) { _pendingEmails.Add(EmailHelper.GetEmail(NotificationTemplates.NotificationTypes.EXTENSION_DECISION, filer, data)); } } // made it to the end, return empty string as success return(""); }
private DateTime GetExtensionDate() { var form = OGEForm450.Get(OGEForm450Id); return(form.DueDate.AddDays(DaysRequested)); }