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)); }
/// <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; }