Example #1
0
        public async Task <ServiceResult <PaginatedListResult <InfoChannelMessagesDashboardResponseViewModel> > > InfoChannelMessages()
        {
            var paginatedListWithModel = await _infoChannelMessageRepository.Search(new InfoChannelMessagesRequestViewModel());

            List <InfoChannelMessagesDashboardResponseViewModel> Mapping(List <InfoChannelMessage> list)
            {
                return(list?
                       .Select(model => new InfoChannelMessagesDashboardResponseViewModel
                {
                    Id = model.Id,
                    Subject = model.Title,
                    Message = model.Message,
                    Date = model.UpdatedOn ?? model.CreatedOn
                })
                       .ToList());
            }

            var paginatedListWithViewModel = paginatedListWithModel.Copy(Mapping);

            return(ServiceResultFactory.Success(paginatedListWithViewModel));
        }
        public async Task <ServiceResult <PaginatedListResult <InfoChannelMessagesResponseViewModel> > > Search(InfoChannelMessagesRequestViewModel viewModel)
        {
            var paginatedListWithModel = await _repository.Search(viewModel);

            // Mapping
            List <InfoChannelMessagesResponseViewModel> Mapping(List <InfoChannelMessage> list)
            {
                return(list?
                       .Select(model => new InfoChannelMessagesResponseViewModel
                {
                    Id = model.Id,
                    Subject = model.Title,
                    Message = model.Message,
                    Date = model.VisibleUntil,
                    IsVisible = model.Visible
                })
                       .ToList());
            }

            var paginatedListWithViewModel = paginatedListWithModel.Copy(Mapping);

            return(ServiceResultFactory.Success(paginatedListWithViewModel));
        }