public async Task SearchAsync()
 {
     try
     {
         IsLoading = true;
         var service = new SosowaBrowseService();
         var query   = new EntryQuery
         {
             SearchString = SearchString
         };
         var result = await service.SearchEntriesAsync(query);
     }
     catch (HttpRequestException ex)
     {
         var dialog = new MessageDialog(ex.Message, "通信エラーが発生しました");
         await dialog.ShowAsync();
     }
     catch (InvalidOperationException ex)
     {
         var dialog = new MessageDialog(ex.Message, "データ展開中に問題が発生しました。");
         await dialog.ShowAsync();
     }
     finally
     {
         IsLoading = false;
     }
 }
        public async Task <ActionResult <JournalEntry> > GetEntry([FromQuery, BindRequired] EntryQuery query)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            return(new OkObjectResult(await _entryService.GetEntryByDateAndId(query.Date !, query.UserId)));
        }
        public async Task <IActionResult> DeleteEntry([FromQuery, BindRequired] EntryQuery query)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            await _entryService.DeleteEntry(query.Date !, query.UserId);

            return(StatusCode(200));
        }
        private void SearchBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            var keyword = SearchBox.Text.Trim();

            if (string.IsNullOrEmpty(keyword))
            {
                UpdateList();
            }
            else
            {
                var query = EntryQuery.GetListByKeyword(keyword, _entries);
                UpdateView(query);
            }
        }
            async Task List()
            {
                //This could be more complete
                var repo = mockup.Get <IEntryRepository>();
                await repo.AddRange(new EntryInput[] { EntryTests.CreateInput(), EntryTests.CreateInput(), EntryTests.CreateInput() });

                var query  = new EntryQuery();
                var result = await repo.List(query);

                Assert.Equal(query.Limit, result.Limit);
                Assert.Equal(query.Offset, result.Offset);
                Assert.Equal(3, result.Total);
                Assert.NotEmpty(result.Items);
            }
        public async Task <EntryCollection> List(EntryQuery query)
        {
            var dbQuery = await query.Create(this.Entities);

            var total = await dbQuery.CountAsync();

            var now          = DateTime.Now;
            var firstOfMonth = new DateTime(now.Year, now.Month, 1, 0, 0, 0);
            var amountTotal  = (await dbQuery.Where(i => i.Created >= firstOfMonth).ToListAsync()).Sum(i => i.Total);

            dbQuery = dbQuery.Skip(query.SkipTo(total)).Take(query.Limit);
            var results = await dbQuery.ToListAsync();

            return(new EntryCollection(amountTotal, query, total, results.Select(i => mapper.MapEntry(i, new Entry()))));
        }
Exemple #7
0
            async Task List()
            {
                var totalItems = 3;

                var controller = mockup.Get <EntriesController>();

                for (var i = 0; i < totalItems; ++i)
                {
                    Assert.NotNull(await controller.Add(EntryTests.CreateInput()));
                }

                var query  = new EntryQuery();
                var result = await controller.List(query);

                Assert.Equal(query.Limit, result.Limit);
                Assert.Equal(query.Offset, result.Offset);
                Assert.Equal(3, result.Total);
                Assert.NotEmpty(result.Items);
            }
        public async Task <List <Entry> > SearchEntriesAsync(EntryQuery query)
        {
            //Build query
            string queryString = "search?";

            //検索文字列
            queryString += "query=" + query.SearchString;
            //タグ
            queryString += "&tags=" + query.Tags;

            var contentUri = new Uri(new Uri(BaseUrl), queryString);

            var    htmlDoc    = new HtmlDocument();
            string htmlString = await(new HttpClient()).GetStringAsync(contentUri);

            htmlDoc.LoadHtml(htmlString);

            return(RetrieveEntriesNodesFromRootNode(htmlDoc.DocumentNode));
        }
Exemple #9
0
        private async Task PlayListQueryAsync()
        {
            if (App.Beatmaps == null)
            {
                return;
            }

            //SortEnum sortEnum = (SortEnum)cbSortType.SelectedItem;
            SortMode sortMode = SortMode.Artist;

            _querySw.Restart();
            if (_queryLock)
            {
                return;
            }
            _queryLock = true;
            await Task.Run(() =>
            {
                while (_querySw.ElapsedMilliseconds < 300)
                {
                    Thread.Sleep(1);
                }
                _querySw.Stop();
                _queryLock     = false;
                string keyword = null;
                Dispatcher.Invoke(() => { keyword = SearchBox.Text.Trim(); });

                var sorted = string.IsNullOrEmpty(keyword)
                    ? App.Beatmaps.SortBy(sortMode).Transform(false)
                    : EntryQuery.GetListByKeyword(keyword, App.Beatmaps).SortBy(sortMode).Transform(false);

                Dispatcher.BeginInvoke(new Action(() =>
                {
                    ResultList.DataContext = sorted;
                }));
            });
        }
Exemple #10
0
        public async Task <ActionResult <List <JournalEntryDto> > > GetJournalEntriesAsync([FromBody] EntryQuery query)
        {
            //var appUser = await AppUsers.GetCurrentAsync().ConfigureAwait(true);

            var model = await _journalService.GetJournalEntriesAsync(query);

            return(model);
        }
 public EntryCollection(decimal amountTotal, EntryQuery query, int total, IEnumerable <Entry> items) : base(query, total, items)
 {
     this.AmountTotal = amountTotal;
 }
Exemple #12
0
 public async Task <EntryCollection> List([FromQuery] EntryQuery query)
 {
     return(await repo.List(query));
 }