コード例 #1
0
        public static TEntity PartialQueryIdentity <TKey, TEntity>(
            this IPartialQueryRepository <TEntity> repository,
            Expression <Func <TEntity, bool> > filter,
            IIdentityQuery <TKey> identityQuery)
            where TEntity : class
        {
            if (repository == null)
            {
                throw new ArgumentNullException("repository");
            }
            if (filter == null)
            {
                throw new ArgumentNullException("filter");
            }
            if (identityQuery == null)
            {
                throw new ArgumentNullException("identityQuery");
            }
            var entity = repository.Find(identityQuery.Id);

            if (entity == null || filter.Compile()(entity) == false)
            {
                return(null);
            }
            return(entity);
        }
コード例 #2
0
 public AccountsController(
     Club club,
     IIdentityQuery identityQuery
     )
 {
     this.club          = club;
     this.identityQuery = identityQuery;
 }
コード例 #3
0
 public static DbQuery <TEntity> ToDbQuery <TEntity, T>(this IIdentityQuery <T> id)
     where TEntity : Entity <T>
 {
     if (id == null)
     {
         throw new ArgumentNullException("id");
     }
     return(id.ToDbQuery <TEntity, T>(x => x.Id));
 }
コード例 #4
0
 public static TEntity QueryIdentity <TKey, TEntity>(this IRepository <TEntity> repository,
                                                     IIdentityQuery <TKey> identityQuery)
     where TEntity : class
 {
     if (repository == null)
     {
         throw new ArgumentNullException("repository");
     }
     if (identityQuery == null)
     {
         throw new ArgumentNullException("identityQuery");
     }
     return(repository.Find(identityQuery.Id));
 }
コード例 #5
0
 public static TModel ProjectIdentity <TKey, TEntity, TModel>(
     this IRepository <TEntity> repository,
     IIdentityQuery <TKey> identityQuery)
     where TEntity : class
     where TModel : class
 {
     if (repository == null)
     {
         throw new ArgumentNullException("repository");
     }
     if (identityQuery == null)
     {
         throw new ArgumentNullException("identityQuery");
     }
     return(repository.FindAndProject <TModel>(identityQuery.Id));
 }
コード例 #6
0
        public static DbQuery <TEntity> ToDbQuery <TEntity, TProperty>(this IIdentityQuery <TProperty> id, Expression <Func <TEntity, TProperty> > idSelector)
            where TEntity : class
        {
            if (id == null)
            {
                throw new ArgumentNullException("id");
            }
            if (idSelector == null)
            {
                throw new ArgumentNullException("idSelector");
            }
            var equals             = Expression.Equal(idSelector.Body, Expression.Constant(id.Id));
            var identityExpression = (Expression <Func <TEntity, bool> >)Expression.Lambda(equals, idSelector.Parameters[0]);

            return(DbQuery.For <TEntity>().FilterBy(identityExpression));
        }
コード例 #7
0
 public PaymentsLookupModel GetLookup(IIdentityQuery <Guid> userId)
 {
     EnsureIsValid(userId);
     try
     {
         var operationsByUser = DbQuery.For <UserBankOperation>()
                                .FilterBy(x => x.User.Id == userId.Id);
         var codes = _deps.UserBankOperations
                     .Select(operationsByUser, x => x.Operation.Category.Code)
                     .Distinct()
                     .ToList();
         var query = DbQuery.For <PaymentCategoryModel>().FilterBy(x => codes.Contains(x.Code));
         return(new PaymentsLookupModel
         {
             Categories = _deps.CardPayments.ProjectThenQuery <PaymentCategoryModel>(query).DistinctBy(x => x.Code).ToList()
         });
     }
     catch (Exception ex)
     {
         throw new ServiceException("Can't get payments lookup.", ex);
     }
 }
コード例 #8
0
ファイル: AccountsController.cs プロジェクト: r15h1/heyteam
 public AccountsController(
     Club club,
     IIdentityQuery identityQuery,
     UserManager <ApplicationUser> userManager,
     SignInManager <ApplicationUser> signInManager,
     IEmailSender emailSender,
     ILogger <AccountsController> logger,
     IIdentityInitializer initializer,
     IAccountsService accountService,
     IIdentityManager identityManager
     )
 {
     this.club            = club;
     this.identityQuery   = identityQuery;
     this.userManager     = userManager;
     this.signInManager   = signInManager;
     this.emailSender     = emailSender;
     this.logger          = logger;
     this.initializer     = initializer;
     this.accountService  = accountService;
     this.identityManager = identityManager;
 }
コード例 #9
0
 public PaymentsLookupModel GetLookup(IIdentityQuery<Guid> userId)
 {
     EnsureIsValid(userId);
     try
     {
         var operationsByUser = DbQuery.For<UserBankOperation>()
             .FilterBy(x => x.User.Id == userId.Id);
         var codes = _deps.UserBankOperations
             .Select(operationsByUser, x => x.Operation.Category.Code)
             .Distinct()
             .ToList();
         var query = DbQuery.For<PaymentCategoryModel>().FilterBy(x => codes.Contains(x.Code));
         return new PaymentsLookupModel
         {
             Categories = _deps.CardPayments.ProjectThenQuery<PaymentCategoryModel>(query).DistinctBy(x => x.Code).ToList()
         };
     }
     catch (Exception ex)
     {
         throw new ServiceException("Can't get payments lookup.", ex);
     }
 }
コード例 #10
0
 public static DbQuery <TEntity> ToPropertyQuery <TEntity, TProperty>(this IIdentityQuery <TProperty> id, Expression <Func <TEntity, TProperty> > idSelector)
     where TEntity : class
 {
     //just an alias method
     return(ToDbQuery(id, idSelector));
 }