예제 #1
0
        public async Task <ClientResponse <EventDetailViewModel> > GetEventDetailAsync(int id, DateTime startDate)
        {
            try
            {
                var @event = await _eventApiClient.GetEventAsync(id, startDate);

                if (@event == null)
                {
                    return(ResponseHelper.FailFrom <EventDetailViewModel>(
                               "Event Not Found."));
                }

                var memberIds = @event.Members?.Select(x => x.Id).ToArray();
                IEnumerable <Member> members = null;
                if (memberIds?.Any() == true)
                {
                    members = _memberApiClient.GetMembersByIds(memberIds);
                }
                var mapToEventViewModel = MapToEventViewModel(@event, members);
                return(ResponseHelper.SuccessFrom(mapToEventViewModel));
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message, e);
                return(ResponseHelper.FailFrom <EventDetailViewModel>(e.Message));
            }
        }
예제 #2
0
        public async Task <ClientResponse <IEnumerable <EventViewModel> > > GetEventsAsync(EventRequest eventRequest)
        {
            try
            {
                var events = await _eventApiClient.GetEventsAsync(eventRequest);

                var payload = MapToEventViewModel(events);

                return(ResponseHelper.SuccessFrom(payload));
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message, e);
                return(ResponseHelper.FailFrom <IEnumerable <EventViewModel> >(e.Message));
            }
        }