示例#1
0
        public async Task <IActionResult> GetOffers([FromQuery] OffersParameter offersParameters)
        {
            var getAllOffersQuery = new GetAllOffersQuery(offersParameters);
            var result            = await mediator.Send(getAllOffersQuery);

            if (result.Code == HttpStatusCode.OK)
            {
                Response.Headers.Add("X-Pagination", PagedList <Entity> .ToJson(result.Value as PagedList <Entity>));
            }

            return(StatusCode((int)result.Code, result.Value));
        }
        /// <summary>
        /// Gets all Offers.
        /// </summary>
        /// <param name="OfferParameter">The story parameters.</param>
        /// <returns></returns>
        public async Task <PagedList <Entity> > GetAllOffers(OffersParameter offerParameter)
        {
            {
                var getOffersParams = new object[] {
                    new MySqlParameter("@p_IsForSingleOffer", offerParameter.IsForSingleOffer),
                    new MySqlParameter("@p_IsForVendor", offerParameter.IsForVendor),
                    new MySqlParameter("@p_Value", offerParameter.Value)
                };
                var offer = await FindAll("CALL SPSelectActiveOffer(@p_IsForSingleOffer, @p_IsForVendor, @p_Value)", getOffersParams).ToListAsync();

                var mappedOffers = offer.AsQueryable().ProjectTo <OffersResponse>(mapper.ConfigurationProvider);
                var sortedOffers = sortHelper.ApplySort(mappedOffers, offerParameter.OrderBy);
                var shapedOffers = dataShaper.ShapeData(sortedOffers, offerParameter.Fields);

                return(await PagedList <Entity> .ToPagedList(shapedOffers, offerParameter.PageNumber, offerParameter.PageSize));
            }
        }
        public async Task <IActionResult> GetOffers([FromQuery] OffersParameter offersParameters)
        {
            var result = await offerService.GetOffers(offersParameters);

            return(StatusCode((int)result.Code, result.Value));
        }
示例#4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GetAllOffersQuery"/> class.
 /// </summary>
 /// <param name="offersParameter">The Offers parameters.</param>
 public GetAllOffersQuery(OffersParameter offersParameter)
 {
     OffersParameter = offersParameter;
 }