private (string, object[]) resolveFilter(IAccountFilter filter) { dynamic paramsToAdd = new ExpandoObject(); StringBuilder whereToAdd = new StringBuilder(); bool hasWhere = false; if (filter != null) { if (filter.Id.HasValue) { whereToAdd.Append(" Id = @AccountId "); paramsToAdd.AccountId = filter.Id.Value; hasWhere = true; } if (!String.IsNullOrEmpty(filter.Email)) { if (hasWhere) { whereToAdd.Append(" AND "); } whereToAdd.Append(" Email = @Email "); paramsToAdd.Email = filter.Email; hasWhere = true; } } if (hasWhere) { return($" WHERE {whereToAdd.ToString()}", paramsToAdd.ToArray()); } return(String.Empty, paramsToAdd.ToArray()); }
public async Task <IAccount> GetFirstAsync(IAccountFilter filter = null, List <IOrderBy> orderBy = null, string includeProperties = null) { var query = getQueryable(); query = resolveFilter(query, filter); query = resolveOrderBy(query, orderBy); return(await Task.FromResult(query.FirstOrDefault())); }
private IQueryable <Account> resolveFilter(IQueryable <Account> query, IAccountFilter filter) { if (filter != null) { if (filter.Id.HasValue) { query = query.Where(w => w.Id == filter.Id.Value).AsQueryable(); } if (!String.IsNullOrEmpty(filter.Email)) { query = query.Where(w => w.Email == filter.Email).AsQueryable(); } } return(query); }
public async Task <IAccount> GetFirstAsync(IAccountFilter filter = null, List <IOrderBy> orderBy = null, string includeProperties = null) { Account account = null; var filterOut = resolveFilter(filter); var filterToAdd = filterOut.Item1; var filterParams = filterOut.Item2; var orderByToAdd = resolveOrderBy(orderBy); using (var connection = _connectionFactory.GetConnection()) { string sqlQuery = $"SELECT Id, Email, Password FROM Accounts {filterToAdd} {orderByToAdd} "; account = await connection.QueryFirstOrDefaultAsync <Account>(sqlQuery, filterParams); } return(account); }
public AddUserOperation(IResourceOwnerRepository resourceOwnerRepository, IClaimRepository claimRepository, ILinkProfileAction linkProfileAction, IAccountFilter accountFilter, IOpenIdEventSource openIdEventSource, IEnumerable <IUserClaimsEnricher> userClaimsEnricherLst, ISubjectBuilder subjectBuilder) { _resourceOwnerRepository = resourceOwnerRepository; _claimRepository = claimRepository; _linkProfileAction = linkProfileAction; _accountFilter = accountFilter; _openidEventSource = openIdEventSource; _userClaimsEnricherLst = userClaimsEnricherLst; _subjectBuilder = subjectBuilder; }
public async Task <bool> GetExistsAsync(IAccountFilter filter = null) { throw new NotImplementedException(); }
public async Task <int> GetCountAsync(IAccountFilter filter = null) { throw new NotImplementedException(); }
public async Task <IEnumerable <IAccount> > FindAsync(IAccountFilter filter = null, List <IOrderBy> orderBy = null, string includeProperties = null, int?skip = null, int?take = null) { throw new NotImplementedException(); }
public AccountFilterFixture() { _filterRepositoryStub = new Mock <IFilterStore>(); _accountFilter = new AccountFilter(_filterRepositoryStub.Object); }
private void InitializeFakeObjects() { _filterRepositoryStub = new Mock <IFilterRepository>(); _accountFilter = new AccountFilter(_filterRepositoryStub.Object); }