예제 #1
0
        private async Task ShowAllAsync()
        {
            ConsoleHelper.ShowHeading("Show all superstars");

            await ConsoleHelper.RunWithTryCatchAsync(async() =>
            {
                ListResponseDto <SuperstarReadDto> listResponseDto = await _superstarApi.GetAllAsync();
                ConsoleHelper.ShowListResponse(listResponseDto);
            }, "An Error occurred while retriving data.");
        }
예제 #2
0
        private async Task ShowAllAsync()
        {
            ConsoleHelper.ShowHeading("Show all cities");

            await ConsoleHelper.RunWithTryCatchAsync(async() =>
            {
                ListResponseDto <CityReadDto> listResponseDto = await _cityApi.GetAllAsync();
                ConsoleHelper.ShowListResponse(listResponseDto);
            }, "An error occurred while retriving data.");
        }
예제 #3
0
        public async Task <IActionResult> GetEvents(string appId, [FromQuery] QueryDto q)
        {
            var topics = await eventStore.QueryAsync(appId, q.ToQuery <EventQuery>(), HttpContext.RequestAborted);

            var response = new ListResponseDto <EventDto>();

            response.Items.AddRange(topics.Select(x => EventDto.FromDomainObject(x, App)));
            response.Total = topics.Total;

            return(Ok(response));
        }
예제 #4
0
        public async Task <IActionResult> GetLogs(string appId, [FromQuery] QueryDto q)
        {
            var medias = await logStore.QueryAsync(appId, q.ToQuery <LogQuery>(true), HttpContext.RequestAborted);

            var response = new ListResponseDto <LogEntryDto>();

            response.Items.AddRange(medias.Select(LogEntryDto.FromDomainObject));
            response.Total = medias.Total;

            return(Ok(response));
        }
예제 #5
0
        public async Task <IActionResult> GetArchive()
        {
            var notifications = await userNotificationsStore.QueryAsync(App.Id, UserId, ArchiveQuery, HttpContext.RequestAborted);

            var response = new ListResponseDto <NotificationDto>
            {
                Items = notifications.Select(NotificationDto.FromNotification).ToList()
            };

            return(Ok(response));
        }
예제 #6
0
        public async Task <IActionResult> GetSubscriptions(string appId, string id, [FromQuery] QueryDto q)
        {
            var subscriptions = await subscriptionStore.QueryAsync(appId, ParseQuery(id, q), HttpContext.RequestAborted);

            var response = new ListResponseDto <SubscriptionDto>();

            response.Items.AddRange(subscriptions.Select(SubscriptionDto.FromDomainObject));
            response.Total = subscriptions.Total;

            return(Ok(response));
        }
예제 #7
0
        public async Task <IActionResult> GetMySubscriptions([FromQuery] SubscriptionQueryDto q)
        {
            var subscriptions = await subscriptionStore.QueryAsync(App.Id, q.ToQuery(false, UserId), HttpContext.RequestAborted);

            var response = new ListResponseDto <SubscriptionDto>();

            response.Items.AddRange(subscriptions.Select(SubscriptionDto.FromDomainObject));
            response.Total = subscriptions.Total;

            return(Ok(response));
        }
예제 #8
0
        public async Task <IActionResult> GetUsers(string appId, [FromQuery] QueryDto q)
        {
            var users = await userStore.QueryAsync(appId, q.ToQuery <UserQuery>(), HttpContext.RequestAborted);

            var response = new ListResponseDto <UserDto>();

            response.Items.AddRange(users.Select(UserDto.FromDomainObject));
            response.Total = users.Total;

            return(Ok(response));
        }
예제 #9
0
        public async Task <IActionResult> GetUsers([FromQuery] QueryDto q)
        {
            var users = await userService.QueryAsync(q.Query, q.Take, q.Skip, HttpContext.RequestAborted);

            var response = new ListResponseDto <SystemUserDto>();

            response.Items.AddRange(users.Select(x => SystemUserDto.FromDomainObject(x, !IsUser(x.Id))));
            response.Total = users.Total;

            return(Ok(response));
        }
예제 #10
0
        public async Task <IActionResult> GetMyArchive()
        {
            var notifications = await userNotificationsStore.QueryAsync(App.Id, UserId, ArchiveQuery, HttpContext.RequestAborted);

            var response = new ListResponseDto <UserNotificationDto>();

            response.Items.AddRange(notifications.Select(UserNotificationDto.FromDomainObject));
            response.Total = notifications.Total;

            return(Ok(response));
        }
예제 #11
0
        public async Task <IActionResult> GetNotifications(string appId, string id, [FromQuery] UserNotificationQueryDto q)
        {
            var notifications = await userNotificationsStore.QueryAsync(appId, id, q.ToQuery(true), HttpContext.RequestAborted);

            var response = new ListResponseDto <UserNotificationDetailsDto>();

            response.Items.AddRange(notifications.Select(UserNotificationDetailsDto.FromDomainObjectAsDetails));
            response.Total = notifications.Total;

            return(Ok(response));
        }
예제 #12
0
        public async Task <ListResponseDto <ChannelTemplateDto> > GetTemplates(string appId, [FromQuery] QueryDto q)
        {
            var templates = await channelTemplateStore.QueryAsync(appId, q.ToQuery <ChannelTemplateQuery>(true), HttpContext.RequestAborted);

            var response = new ListResponseDto <ChannelTemplateDto>();

            response.Items.AddRange(templates.Select(ChannelTemplateDto.FromDomainObject));
            response.Total = templates.Total;

            return(response);
        }
예제 #13
0
        public async Task <IActionResult> GetTemplates(string appId, [FromQuery] QueryDto q)
        {
            var templates = await templateStore.QueryAsync(appId, q.ToQuery <TemplateQuery>(), HttpContext.RequestAborted);

            var response = new ListResponseDto <TemplateDto>();

            response.Items.AddRange(templates.Select(TemplateDto.FromDomainObject));
            response.Total = templates.Total;

            return(Ok(response));
        }
예제 #14
0
        public async Task <IActionResult> GetMedias(string appId, [FromQuery] QueryDto q)
        {
            var medias = await mediaStore.QueryAsync(appId, q.ToQuery <MediaQuery>(), HttpContext.RequestAborted);

            var response = new ListResponseDto <MediaDto>();

            response.Items.AddRange(medias.Select(x => MediaDto.FromDomainObject(x, appId, urlGenerator)));
            response.Total = medias.Total;

            return(Ok(response));
        }
예제 #15
0
        public async Task <IActionResult> GetTopics(string appId, [FromQuery] TopicQueryDto q)
        {
            var topics = await topicStore.QueryAsync(appId, q.ToQuery(true), HttpContext.RequestAborted);

            var response = new ListResponseDto <TopicDto>();

            response.Items.AddRange(topics.Select(TopicDto.FromDomainObject));
            response.Total = topics.Total;

            return(Ok(response));
        }
예제 #16
0
        public static IQueryable <T> GetPaged <T>(this IQueryable <T> query, int page, int pageSize, string title) where T : class
        {
            var result = new ListResponseDto <T> {
                Page = page, PageSize = pageSize, Count = query.Count()
            };
            var pageCount = (double)result.Count / pageSize;
            var pages     = (int)Math.Ceiling(pageCount);

            var skip = (page - 1) * pageSize;

            return(query.Skip(skip).Take(pageSize));
        }
예제 #17
0
        public static void ShowListResponse <TReadDto>(ListResponseDto <TReadDto> listResponseDto)
        {
            Console.WriteLine();
            ShowHeading("Response");

            if (listResponseDto.IsSuccessful)
            {
                ShowTable(listResponseDto.List, listResponseDto.PropertyInfoListOfDto);
                ShowGreenMessage(listResponseDto.Message);
            }
            else
            {
                ShowRedMessage(listResponseDto.Message);
            }
        }
예제 #18
0
        public async Task <IActionResult> GetMyToken()
        {
            var user = await userStore.GetAsync(App.Id, UserId, HttpContext.RequestAborted);

            if (user == null)
            {
                return(NotFound());
            }

            var response = new ListResponseDto <MobilePushTokenDto>();

            response.Items.AddRange(user.MobilePushTokens.Select(MobilePushTokenDto.FromDomainObject));
            response.Total = user.MobilePushTokens.Count;

            return(Ok(response));
        }
예제 #19
0
 public ListResponseDto<TableSummaryDto> GetTableSummariesByRestaurantId(long restaurantId)
 {
     var response = new ListResponseDto<TableSummaryDto>();
     try
     {
         var tables = RestaurantRepository.GetTablesByRestaurantId(restaurantId);
         var query = from table in tables
                     select new TableSummaryDto(table);
         response.IsSuccessful = true;
         response.Payload = query.ToList();
         return response;
     }
     catch (Exception ex)
     {
         throw new NotImplementedException();
     }
 }
예제 #20
0
        public async Task <IActionResult> GetUsers(string appId, [FromQuery] QueryDto q, [FromQuery] bool withDetails = false)
        {
            var users = await userStore.QueryAsync(appId, q.ToQuery <UserQuery>(true), HttpContext.RequestAborted);

            IReadOnlyDictionary <string, Instant>?lastUpdates = null;

            if (withDetails)
            {
                lastUpdates = await QueryLastNotificationsAsync(appId, users.Select(x => x.Id));
            }

            var response = new ListResponseDto <UserDto>();

            response.Items.AddRange(users.Select(x => UserDto.FromDomainObject(x, null, lastUpdates)));
            response.Total = users.Total;

            return(Ok(response));
        }