Example #1
0
        public QueryResponse <GetUsersPayload> Handle(GetUsers request)
        {
            Guard.IsNotNull(request, nameof(request));

            var pageSize   = request.PageSize > 0 ? request.PageSize : 5;
            var pageNumber = request.Page > 0 ? request.Page : 1;

            var ordering = ResolveOrdering(request);

            var users = userRepository
                        .Entities
                        .Order(ordering.selector, ordering.ascending)
                        .Skip((pageNumber - 1) * pageSize)
                        .Take(pageSize + 1);

            var payload = new GetUsersPayload()
            {
                Page            = pageNumber,
                HasNextPage     = users.Count() > pageSize,
                HasPreviousPage = pageNumber > 1,
                Users           = users.Take(pageSize)
            };

            return(QueryResponse <GetUsersPayload> .Success(payload));
        }
Example #2
0
        public async Task <QueryResponse <string> > Query(BlogQueryRequest query, CancellationToken cancellationToken = default)
        {
            switch (query.Type)
            {
            case BlogQueryRequestStrings.Sitemap:
            {
                var baseAddress    = query.GetBaseAddress() ?? string.Empty;
                var siteMapBuilder = await this.BuildSitemap(baseAddress);

                StringBuilder sb = new StringBuilder();
                await using (var writer = XmlWriter.Create(sb, new XmlWriterSettings {
                        Async = true
                    }))
                    siteMapBuilder.Build().WriteTo(writer);
                return(QueryResponse.Success(sb.ToString()));
            }

            case BlogQueryRequestStrings.AtomFeed:
            {
                var baseAddress = query.GetBaseAddress() ?? string.Empty;
                var feed        = await this.BuildSyndication(baseAddress);

                StringBuilder sb = new StringBuilder();
                using (var writer = XmlWriter.Create(sb, new XmlWriterSettings {
                        Async = true
                    }))
                    feed.GetAtom10Formatter().WriteTo(writer);
                return(QueryResponse.Success(sb.ToString()));
            }

            default:
                return(QueryResponse.Error <string>());
            }
        }
Example #3
0
        public QueryResponse Query(QueryRequest request)
        {
            var response = new QueryResponse();

            response.Success();

            return(response);
        }
        public QueryResponse <U> GetFromViewModelRepository(T query, Func <T, Guid> match)
        {
            var model = _repository.Get <U>(match.Invoke(query));

            if (model == null)
            {
                return(QueryResponse.Fail <U>("Could not Find Model"));
            }

            return(QueryResponse.Success(model));
        }
        public override QueryResponse <LeadIndicatorViewModel> Handle(GetLeadIndicatorOveriewQuery query)
        {
            var leadIndicatorViewModel = new LeadIndicatorViewModel
            {
                AllIndicators   = GetAllIndicators(),
                DataSources     = GetAllDataSources(),
                BusinessMeasure = getBusinessMeasure(),
                Id            = query.LeadId,
                Indicators    = Indicators(query.LeadId),
                Name          = "Test Lead",
                RootEntityKey = query.LeadId,
                Address       = "somewhere...over the rainbow="
            };

            return(QueryResponse.Success(leadIndicatorViewModel));
        }
        public override QueryResponse <SessionViewModel> Handle(GetNewSessionViewModelQuery query)
        {
            //First Time User
            if (query.SessionId == Guid.Empty)
            {
                var sessionId = Guid.NewGuid();
                Mediator.Command(new CreateNewSessionViewModelCommand {
                    SessionId = sessionId
                });

                return(QueryResponse.Success(new SessionViewModel
                {
                    Id = sessionId,
                    RootEntityKey = sessionId,
                    Name = ""
                }));
            }


            //return user w/ cookie
            return(GetFromViewModelRepository(query, q => query.SessionId));
        }
        public QueryResponse <ServicePromoCodePayload> Handle(GetServicePromoCode request)
        {
            logger.LogInformation("GetServicePromoCode Handler call");
            Guard.IsNotNull(request, nameof(request));

            var pageSize   = request.PageSize > 0 ? request.PageSize : 5;
            var pageNumber = request.Page > 0 ? request.Page : 1;

            var ordering = ResolveOrdering(request);


            var servicePromoCodes = servicePromoCodeRepository.GetAll()
                                    .Order(ordering.selector, ordering.ascending)
                                    .Skip((pageNumber - 1) * pageSize)
                                    .Take(pageSize + 1)
                                    .Select(s => new ServicePromoCodeDto
            {
                DateAdded            = s.DateAdded,
                Description          = s.Description,
                Id                   = s.Id,
                LastModifiedDate     = s.LastModifiedDate,
                PromoCode            = s.PromoCode,
                ServiceName          = s.ServiceName,
                HasUserActivatedCode = userPromoCodeRepository.GetAll()
                                       .Where(u => u.UserId == request.UserId && u.ServicePromoCodeId == s.Id)
                                       .Count() > 0
            });

            var payload = new ServicePromoCodePayload()
            {
                Page              = pageNumber,
                HasNextPage       = servicePromoCodes.Count() > pageSize,
                HasPreviousPage   = pageNumber > 1,
                ServicePromoCodes = servicePromoCodes.Take(pageSize)
            };

            return(QueryResponse <ServicePromoCodePayload> .Success(payload));
        }
 public override QueryResponse <string> Handle(GetVersionQuery query)
 {
     return(QueryResponse.Success("V 1.0"));
 }
 public override QueryResponse <VersionModel> Handle(GetVersionQuery query)
 {
     return(QueryResponse.Success(new VersionModel {
         Version = "1.0"
     }));
 }