public static Action <IMappingOperationOptions> GetMappingOperations(this IStackIdentity identity) { return(opts => { opts.Items["Identity"] = identity; }); }
public async Task <PagedResult <TEntityModel, TViewModel> > Execute <TEntityModel, TViewModel>( IQueryable <TEntityModel> query, IDataFilter <TEntityModel> dataFilter, IStackIdentity identity) where TEntityModel : class where TViewModel : class { var result = new PagedResult <TEntityModel, TViewModel> { DataFilter = dataFilter }; if (dataFilter != null) { query = dataFilter.SearchQuery(query); query = dataFilter.FilterQuery(query, identity); } result.Total = query.Count(); if (dataFilter != null) { query = dataFilter.SortQuery(query); if (dataFilter.Skip > 0) { query = query.Skip(dataFilter.Skip); } if (dataFilter.Take > 0) { query = query.Take(dataFilter.Take); } } var entities = await query.ToListAsync(); var mappingOperationOptions = identity.GetMappingOperations(); if (mappingOperationOptions == null) { result.Results = entities.Select(Mapper.Map <TEntityModel, TViewModel>).ToArray(); } else { result.Results = entities.Select(e => Mapper.Map <TEntityModel, TViewModel>(e, mappingOperationOptions)).ToArray(); } return(result); }
public ExplicitIdentityResolver(IStackIdentity identity) { Identity = identity; }
public StackController(IStackIdentityResolver identityResolver) { IdentityResolver = identityResolver ?? throw new ArgumentNullException(nameof(identityResolver)); _identity = IdentityResolver.GetIdentityAsync().Result; }