public bool ApproveReject(Guid applicationId, bool isApprove) { if (!BaseSecurity.IsSysAdmin(Context) && !BaseSecurity.IsAppTester(Context) && !BaseSecurity.IsAssessmentAdmin(Context)) { throw new ChalkableSecurityException(); } Application application; using (var uow = Read()) { var da = new ApplicationDataAccess(uow); application = da.GetApplicationById(applicationId); } if (application.State == ApplicationStateEnum.SubmitForApprove) { User person = application.Developer.User; person.ConfirmationKey = Guid.NewGuid().ToString().Replace("-", ""); application.State = isApprove ? ApplicationStateEnum.Approved : ApplicationStateEnum.Rejected; using (var uow = Update()) { new UserDataAccess(uow).Update(person); var da = new ApplicationDataAccess(uow); da.Update(application); uow.Commit(); } ServiceLocator.EmailService.SendApplicationEmailToDeveloper(application); return(true); } return(false); }