public IResult DeleteAccount(User user) { var users = new List <User> { user }; _deleteAccountService._targetUsers = users; var userId = _updatePermissionService.SysIdFinder(user); for (int i = 0; i < 3; i++) { Permission perms = new Permission(userId); foreach (string s in Enum.GetValues(typeof(AuthZEnum))) { perms.RemovePermission(s); } try { _updatePermissionService._permissions = new List <Permission> { perms }; var permResult = _updatePermissionService.Update(); if (permResult.IsSuccess) { break; } } catch (Exception e) { ErrorController handler = new ErrorController(); handler.Handle(e); } if (i == 2) { throw new Exception("Permissions failed to delete"); } } for (int i = 0; i < 3; i++) { try { var deleteResult = _deleteAccountService.Delete(); if (deleteResult.IsSuccess) { LogService.Log(deleteResult.Message); return(deleteResult); } } catch (Exception e) { ErrorController handler = new ErrorController(); handler.Handle(e); } if (i == 2) { throw new Exception("Failed to delete Account"); } } return(new CheckResult("Failed to Delete Account", false)); }
public IResult CreateAccount(Account account, User user) { var users = new List <User> { user }; var accounts = new List <Account> { account }; _createAccountService._newAccounts = accounts; _updateAccountService._newUsers = users; for (int i = 0; i < 3; i++) { try { var createAccountResult = _createAccountService.Create(); if (createAccountResult.IsSuccess) { break; } } catch (Exception e) { ErrorController handler = new ErrorController(); handler.Handle(e); } if (i == 2) { throw new Exception("Failed to create Account"); } } for (int i = 0; i < 3; i++) { try { var updateAccountResult = _updateAccountService.Update(); if (updateAccountResult.IsSuccess) { break; } } catch (Exception e) { ErrorController handler = new ErrorController(); handler.Handle(e); } if (i == 2) { throw new Exception("Failed to create Account"); } } var id = _updatePermissionService.SysIdFinder(user); Permission perms = new Permission(id); foreach (string s in Enum.GetValues(typeof(StandardUser))) { perms.AddPermission(s); } for (int i = 0; i < 3; i++) { try { _updatePermissionService._permissions = new List <Permission> { perms }; var permResult = _updatePermissionService.Update(); if (permResult.IsSuccess) { break; } } catch (Exception e) { ErrorController handler = new ErrorController(); handler.Handle(e); } if (i == 2) { throw new Exception("Failed to create Permissions"); } } var checkResult = new CheckResult("Account Successfully Created", true); LogService.Log(checkResult.Message); return(checkResult); }