Example #1
0
        public static async Task <TModel> Cache <TModel>(this Task <TModel> model, IWlodzimierzCachingContext cache,
                                                         object key)
        {
            var awaitedModel = await model;
            await cache.CreateAsync(awaitedModel, key);

            return(awaitedModel);
        }
Example #2
0
            private async Task <PaginatedList <GroupMessageDto> > ReadFromDatabase(ListQuery query)
            {
                var messages = await _context.GroupMessages
                               .ProjectTo <GroupMessageDto>(_mapper.ConfigurationProvider)
                               .PaginatedListAsync(query.PageNumber, query.PageSize);

                await _cache.CreateAsync(messages);

                return(messages);
            }
Example #3
0
            private async Task <GroupMessageDto> ReadFromDatabase(DetailsQuery query)
            {
                var message = await _context.GroupMessages
                              .Where(e => e.GroupMessageId == query.GroupMessageId)
                              .ProjectSingleAsync <GroupMessageDto>(_mapper.ConfigurationProvider);

                await _cache.CreateAsync(message);

                return(message);
            }
Example #4
0
            private async Task <GroupAdministratorDto> ReadFromDatabase(DetailsQuery query)
            {
                var groupAdministrator = await _context.GroupAdministrators
                                         .Where(e => e.GroupAdministratorId == query.GroupAdministratorId)
                                         .ProjectSingleAsync <GroupAdministratorDto>(_mapper.ConfigurationProvider);

                await _cache.CreateAsync(groupAdministrator);

                return(groupAdministrator);
            }
Example #5
0
            private async Task <ConversationDto> ReadFromDatabase(DetailsQuery request)
            {
                var conversation = await _context.Conversations
                                   .Where(e => e.ConversationId == request.ConversationId)
                                   .ProjectSingleAsync <ConversationDto>(_mapper.ConfigurationProvider);

                await _cache.CreateAsync(conversation);

                return(conversation);
            }
Example #6
0
            private async Task <PaginatedList <ConversationMessageDto> > ReadFromDatabase(ConversationMessagesQuery query)
            {
                var contacts = await _context.ConversationMessages
                               .Where(e => e.OwnerUserId == query.OwnerUserId)
                               .ProjectTo <ConversationMessageDto>(_mapper.ConfigurationProvider)
                               .PaginatedListAsync(query.PageNumber, query.PageSize);

                await _cache.CreateAsync(contacts);

                return(contacts);
            }
            // Helpers.

            private async Task <PaginatedList <ConversationDto> > ReadFromDatabase(ConversationsQuery query)
            {
                var conversations = await _context.Conversations
                                    .Where(e => e.LeftUserId == query.OwnerUserId || e.RightUserId == query.OwnerUserId)
                                    .OrderBy(x => x.ConversationId)
                                    .ProjectTo <ConversationDto>(_mapper.ConfigurationProvider)
                                    .PaginatedListAsync(query.PageNumber, query.PageSize)
                                    .MapMessageAsync(_context, _mapper);

                await _usersFacade.MapAsync(conversations);

                await _cache.CreateAsync(conversations);

                return(conversations);
            }
Example #8
0
            // Helpers.

            private async Task <PaginatedList <ContactDto> > ReadFromDatabase(FilterQuery query)
            {
                var model = new ContactDto
                {
                    ContactId   = query.ContactId ?? 0,
                    OwnerUserId = query.OwnerUserId,
                    FirstName   = query.FirstName ?? string.Empty,
                    LastName    = query.LastName ?? string.Empty,
                    Email       = query.Email ?? string.Empty
                };

                var contacts = await _context.Contacts
                               .Where(e => e.OwnerUserId == query.OwnerUserId)
                               .ProjectTo <ContactDto>(_mapper.ConfigurationProvider)
                               .Where(await model.FilterAsync())
                               .PaginatedListAsync(query.PageNumber, query.PageSize);

                await _cache.CreateAsync(contacts);

                return(contacts);
            }