/// <summary> /// Finds User by given criteria /// </summary> /// <param name="criteria"> The criteria. </param> /// <returns> The <see cref="User"/>. </returns> public Task <User> ExecuteAsync(FindByEmailCriteria criteria) { var query = _unitOfWork.Context.Users.Where(u => u.Email == criteria.Email); // ToDo: Use Automapper to substitute Select clause return(query.Select(GetUserMapping()).FirstOrDefaultAsync()); }
/// <summary> /// Retrieves user by given Email /// </summary> /// <param name="email">Email of the user</param> /// <returns> Found User </returns> public async Task <UserModel> FindByEmailAsync(string email) { var criteria = new FindByEmailCriteria { Email = email }; var user = await _getByEmailQuery.ExecuteAsync(criteria); return(CreateUserModel(user)); }
/// <summary> /// Finds User by given criteria /// </summary> /// <param name="criteria"> The criteria. </param> /// <returns> The <see cref="User"/>. </returns> public Task <User> ExecuteAsync(FindByEmailCriteria criteria) { var query = _unitOfWork.Context.Users.Where(u => u.Email == criteria.Email); return(query.Select(GetUserMapping()).FirstOrDefaultAsync()); }