Beispiel #1
0
        public async Task <IActionResult> GetEventDetailsById([FromQuery] EventVendorParameters eventVendorParameters)
        {
            var getEventDetailsQuery = new GetEventDetailsQueryByVendorId(eventVendorParameters);
            var result = await mediator.Send(getEventDetailsQuery);

            return(StatusCode((int)result.Code, result.Value));
        }
        public async Task <APIResponse> GetEventDetailsById(EventVendorParameters eventVendorParameters)
        {
            try
            {
                string serializedStories;
                // List<AssetResponse> stories;

                /* var encodedStories = await distributedCache.GetAsync(BlogServiceOperation.GetStoriesCacheName);
                 *
                 * if (encodedStories != null)
                 * {
                 *   serializedStories = Encoding.UTF8.GetString(encodedStories);
                 *   stories = JsonConvert.DeserializeObject<List<StoryResponse>>(serializedStories);
                 * }
                 * else
                 * {*/
                var client = httpClientFactory.CreateClient(VendorServiceOperation.serviceName);

                UriBuilder url = new UriBuilder(servicesConfig.Blog + VendorServiceOperation.GetEventDetailsById());
                url.Query = QueryStringHelper.ConvertToQueryString(eventVendorParameters);

                var response = await client.GetAsync(url.ToString());

                var eventResponse = JsonConvert.DeserializeObject <EventResponse>(await response.Content.ReadAsStringAsync());

                serializedStories = JsonConvert.SerializeObject(eventResponse);

                /* encodedStories = Encoding.UTF8.GetBytes(serializedStories);
                 * var options = new DistributedCacheEntryOptions()
                 *               .SetSlidingExpiration(TimeSpan.FromMinutes(1))
                 *               .SetAbsoluteExpiration(DateTime.Now.AddHours(1));
                 *
                 * await distributedCache.SetAsync(VendorServiceOperation.GetStoriesCacheName, encodedStories, options);
                 * }*/

                return(new APIResponse(eventResponse, HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Exception in method 'GetEventDetailsById()'");
                var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                return(new APIResponse(exMessage, HttpStatusCode.InternalServerError));
            }
        }
        /// <summary>
        /// Gets  event by vendor.
        /// </summary>
        /// <param name="eventParameters">The event parameters.</param>
        /// <returns></returns>
        public async Task <PagedList <Entity> > GetEventByVendor(EventVendorParameters eventVendorParameters)
        {
            var getEventParams = new object[] {
                new MySqlParameter("@limit", null),
                new MySqlParameter("@offset", null),
                new MySqlParameter("@value", eventVendorParameters.Value),
                new MySqlParameter("@IsForVendor", eventVendorParameters.IsForVendor),
                new MySqlParameter("@IsForEvent", eventVendorParameters.IsForEvent),
                new MySqlParameter("@fromDate", null),
                new MySqlParameter("@toDate", null),
                new MySqlParameter("@ApprovalStatusId", eventVendorParameters.ApprovalStatus)
            };

            var events = await FindAll("CALL SpSelectActiveEvent(@limit, @offset, @value, @ApprovalStatusId, @IsForVendor, @IsForEvent,@fromDate,@toDate)", getEventParams).ToListAsync();

            var mappedevents = events.AsQueryable().ProjectTo <EventResponse>(mapper.ConfigurationProvider);
            var sortedevents = sortHelper.ApplySort(mappedevents, eventVendorParameters.OrderBy);
            var shapedevents = dataShaper.ShapeData(sortedevents, eventVendorParameters.Fields);

            return(await PagedList <Entity> .ToPagedList(shapedevents, eventVendorParameters.PageNumber, eventVendorParameters.PageSize));
        }
Beispiel #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GetEventDetailsQueryByVendorId"/> class.
 /// </summary>
 /// <param name="eventParameters">The event parameters.</param>
 public GetEventDetailsQueryByVendorId(EventVendorParameters eventVendorParameters)
 {
     EventVendorParameters = eventVendorParameters;
 }
        public async Task <IActionResult> GetEventDetailsById([FromQuery] EventVendorParameters eventVendorParameters)
        {
            var result = await eventService.GetEventDetailsById(eventVendorParameters);

            return(StatusCode((int)result.Code, result.Value));
        }