Exemplo n.º 1
0
        /// <inheritdoc />
        Task <IDictionaryRange <Guid, DynamicEvent> > IRepository <Guid, DynamicEvent> .FindAllAsync(CancellationToken cancellationToken)
        {
            IEventRepository self = this;
            var request           = new DynamicEventDetailsRequest
            {
                Culture = self.Culture
            };
            var responseTask = this.serviceClient.SendAsync <EventCollectionDataContract>(request, cancellationToken);

            return(responseTask.ContinueWith(task => this.ConvertAsyncResponse(task, request.Culture), cancellationToken));
        }
Exemplo n.º 2
0
        /// <inheritdoc />
        IDictionaryRange <Guid, DynamicEvent> IRepository <Guid, DynamicEvent> .FindAll()
        {
            IEventRepository self = this;
            var request           = new DynamicEventDetailsRequest
            {
                Culture = self.Culture
            };
            var response = this.serviceClient.Send <EventCollectionDataContract>(request);
            var eventCollectionDataContract = response.Content;

            if (eventCollectionDataContract == null)
            {
                return(new DictionaryRange <Guid, DynamicEvent>(0));
            }

            var eventDataContracts = eventCollectionDataContract.Events;

            if (eventDataContracts == null)
            {
                return(new DictionaryRange <Guid, DynamicEvent>(0));
            }

            var dynamicEvents = this.converterForDynamicEventCollection.Convert(eventCollectionDataContract, null);

            if (dynamicEvents == null)
            {
                return(new DictionaryRange <Guid, DynamicEvent>(0));
            }

            var events = new DictionaryRange <Guid, DynamicEvent>(dynamicEvents.Count)
            {
                SubtotalCount = dynamicEvents.Count,
                TotalCount    = dynamicEvents.Count
            };

            foreach (var dynamicEvent in dynamicEvents)
            {
                dynamicEvent.Culture = request.Culture;
                events.Add(dynamicEvent.EventId, dynamicEvent);
            }

            return(events);
        }
Exemplo n.º 3
0
        /// <inheritdoc />
        DynamicEvent IRepository <Guid, DynamicEvent> .Find(Guid identifier)
        {
            IEventRepository self = this;
            var request           = new DynamicEventDetailsRequest
            {
                EventId = identifier,
                Culture = self.Culture
            };
            var response = this.serviceClient.Send <EventCollectionDataContract>(request);
            var eventCollectionDataContract = response.Content;

            if (eventCollectionDataContract == null)
            {
                return(null);
            }

            var eventDataContracts = eventCollectionDataContract.Events;

            if (eventDataContracts == null)
            {
                return(null);
            }

            var dynamicEvents = this.converterForDynamicEventCollection.Convert(eventCollectionDataContract, null);

            if (dynamicEvents == null)
            {
                return(null);
            }

            var dynamicEvent = dynamicEvents.SingleOrDefault();

            if (dynamicEvent == null)
            {
                return(null);
            }

            dynamicEvent.Culture = request.Culture;

            return(dynamicEvent);
        }
Exemplo n.º 4
0
        /// <inheritdoc />
        async Task <IDictionaryRange <Guid, DynamicEvent> > IRepository <Guid, DynamicEvent> .FindAllAsync(CancellationToken cancellationToken)
        {
            IEventRepository self = this;
            var request           = new DynamicEventDetailsRequest
            {
                Culture = self.Culture
            };
            var response = await this.serviceClient.SendAsync <EventCollectionDTO>(request, cancellationToken).ConfigureAwait(false);

            if (response.Content == null)
            {
                return(new DictionaryRange <Guid, DynamicEvent>(0));
            }

            if (response.Content.Events == null)
            {
                return(new DictionaryRange <Guid, DynamicEvent>(0));
            }

            var dynamicEvents = this.dynamicEventCollectionConverter.Convert(response.Content, null);

            if (dynamicEvents == null)
            {
                return(new DictionaryRange <Guid, DynamicEvent>(0));
            }

            var events = new DictionaryRange <Guid, DynamicEvent>(dynamicEvents.Count)
            {
                SubtotalCount = dynamicEvents.Count,
                TotalCount    = dynamicEvents.Count
            };

            foreach (var dynamicEvent in dynamicEvents)
            {
                dynamicEvent.Culture = request.Culture;
                events.Add(dynamicEvent.EventId, dynamicEvent);
            }

            return(events);
        }
Exemplo n.º 5
0
        /// <inheritdoc />
        async Task <DynamicEvent> IRepository <Guid, DynamicEvent> .FindAsync(Guid identifier, CancellationToken cancellationToken)
        {
            IEventRepository self = this;
            var request           = new DynamicEventDetailsRequest
            {
                EventId = identifier,
                Culture = self.Culture
            };
            var response = await this.serviceClient.SendAsync <EventCollectionDTO>(request, cancellationToken).ConfigureAwait(false);

            if (response.Content == null)
            {
                return(null);
            }

            if (response.Content.Events == null)
            {
                return(null);
            }

            var dynamicEvents = this.dynamicEventCollectionConverter.Convert(response.Content, null);

            if (dynamicEvents == null)
            {
                return(null);
            }

            var dynamicEvent = dynamicEvents.SingleOrDefault();

            if (dynamicEvent == null)
            {
                return(null);
            }

            dynamicEvent.Culture = request.Culture;

            return(dynamicEvent);
        }