protected override void Context() { base.Context(); _searchAccountsRequest = Builder<SearchAccountsRequest>.CreateNew().Build(); AuthorizationService.Stub( x => x.CanExecute(Arg<string>.Is.Equal(Username), Arg<Type>.Is.Equal(typeof (SearchAccountsRequest)))) .Return(false); _expectedResponse = new SearchAccountsResponse { Success = false, Errors = new List<string> { "User is not authorized to Search Accounts", }, }; }
protected override void Context() { base.Context(); _searchAccountsRequest = Builder<SearchAccountsRequest>.CreateNew().Build(); AuthorizationService.Stub( x => x.CanExecute(Arg<string>.Is.Equal(Username), Arg<Type>.Is.Equal(typeof (SearchAccountsRequest)))) .Return(true); _searchAccountsResponseReturnedFromRepository = new SearchAccountsResponse { Accounts = new List<Account> { new Account(), new Account(), new Account(), }, }; AccountRepository.Stub(x => x.Search(Arg<SearchAccountsRequest>.Is.Equal(_searchAccountsRequest))) .Return(_searchAccountsResponseReturnedFromRepository); _expectedReponse = _searchAccountsResponseReturnedFromRepository; }
public SearchAccountsResponse SearchAccounts(string username, SearchAccountsRequest searchAccountsRequest) { if (!_authorizationService.CanExecute(username, "ViewAccounts")) return new SearchAccountsResponse { Success = false, Errors = new List<string> { "User is not authorized to View Accounts", }, }; return _accountRepository.Search(searchAccountsRequest); }
public SearchAccountsResponse Search(SearchAccountsRequest searchAccountsRequest) { using (var context = new PRToolsEntities()) { IQueryable<Account> accounts = from account in context.Accounts where account.FirstName == (searchAccountsRequest.FirstName ?? account.FirstName) && account.LastName == (searchAccountsRequest.LastName ?? account.LastName) && account.Username == (searchAccountsRequest.Username ?? account.Username) && account.Email == (searchAccountsRequest.EmailAddress ?? account.Email) && account.Username != "admin" select account; return new SearchAccountsResponse { Success = true, Accounts = accounts.Select(x => new Domain.Account { EmailAddress = x.Email, FirstName = x.FirstName, LastName = x.LastName, Role = (Domain.Role) Enum.Parse(typeof (Domain.Role), x.Role.RoleName), Username = x.Username, }), }; } }