Example #1
0
        public async Task <IApiResult <Org> > GetHost(int id, DataSource source)
        {
            var request  = SmartWalkApiFactory.CreateHostRequest(id);
            var response = await GetResponse(request, source);

            var result = default(IApiResult <Org>);

            if (response != null && response.Data != null && response.Data.Selects != null)
            {
                var entity = response.Data
                             .GetRecords <Entity>(0)
                             .FirstOrDefault();

                var eventMetadatas = response.Data
                                     .GetRecords <EventMetadata>(1)
                                     .ToArray();

                if (entity != null)
                {
                    var org = CreateOrg(entity, eventMetadatas);

                    result = new ApiResult <Org> {
                        Data   = org,
                        Source = response.Source
                    };
                }
            }

            return(result);
        }
Example #2
0
        public async Task <IApiResult <OrgEvent[]> > GetOrgEvents(Location location, DataSource source)
        {
            var request  = SmartWalkApiFactory.CreateOrgEventsRequest(location);
            var response = await GetResponse(request, source, false);

            var result = default(IApiResult <OrgEvent[]>);

            if (response != null && response.Data != null)
            {
                var eventMetadatas = response.Data
                                     .GetRecords <EventMetadata>(0)
                                     .ToArray();

                var hosts = response.Data
                            .GetRecords <Entity>(1)
                            .ToArray();

                var orgEvents = eventMetadatas
                                .Select(em =>
                                        new OrgEvent(em, hosts.First(h => h.Id == em.Host.Id())))
                                .ToArray();

                result = new ApiResult <OrgEvent[]> {
                    Data   = orgEvents,
                    Source = response.Source
                };
            }

            return(result);
        }
Example #3
0
        public async Task <IApiResult <OrgEvent> > GetOrgEventInfo(int id, DataSource source)
        {
            var request  = SmartWalkApiFactory.CreateOrgEventInfoRequest(id);
            var response = await GetResponse(request, source);

            var result = default(IApiResult <OrgEvent>);

            if (response != null && response.Data != null)
            {
                var eventMetadata = response.Data
                                    .GetRecords <EventMetadata>(0)
                                    .FirstOrDefault();

                var host = response.Data
                           .GetRecords <Entity>(1)
                           .FirstOrDefault();

                var orgEvent = new OrgEvent(eventMetadata, host);

                result = new ApiResult <OrgEvent> {
                    Data   = orgEvent,
                    Source = response.Source
                };
            }

            return(result);
        }
Example #4
0
        public async Task <IApiResult <OrgEvent> > GetOrgEvent(int id, DataSource source)
        {
            var request  = SmartWalkApiFactory.CreateOrgEventRequest(id);
            var response = await GetResponse(request, source);

            var result = default(IApiResult <OrgEvent>);

            if (response != null && response.Data != null)
            {
                var eventMetadata = response.Data
                                    .GetRecords <EventMetadata>(0)
                                    .FirstOrDefault();

                var host = response.Data
                           .GetRecords <Entity>(1)
                           .FirstOrDefault();

                var shows = response.Data
                            .GetRecords <Show>(2)
                            .ToArray();

                var venueDetails = response.Data
                                   .GetRecords <EventVenueDetail>(3)
                                   .ToArray();

                var venues = response.Data
                             .GetRecords <Entity>(4)
                             .Select(e =>
                {
                    var venue = CreateVenue(e, venueDetails, shows);
                    return(venue);
                })
                             .OrderBy(venueDetails, eventMetadata.VenueOrderType)
                             .ToArray();

                var orgEvent = new OrgEvent(eventMetadata, host, venues);

                result = new ApiResult <OrgEvent> {
                    Data   = orgEvent,
                    Source = response.Source
                };
            }

            return(result);
        }