コード例 #1
0
        public async Task <IActionResult> HistoryPage(HistoryPaginationModel model)
        {
            if (model.Count > 0 && model.CurrentPage >= 0 && model.Total > 0)
            {
                var userId = User.GetUserId();
                foreach (var chuser in _db.Channels.Include(i => i.Users))
                {
                    System.Diagnostics.Debug.WriteLine(chuser);
                }
                var list = await _db.Channels
                           .Include(i => i.Users)
                           .Where(i => i.OwnerId.Equals(userId) || i.Users.Any(u => u.UserId.Equals(userId)))
                           .Skip((model.CurrentPage - 1) * model.Count)
                           .Take(model.Count)
                           .Select(i => new HistoryModel()
                {
                    Id               = i.Id,
                    Title            = i.Title,
                    EndAt            = i.EndAt,
                    CreatedAt        = i.CreatedAt,
                    OwnerUserName    = i.Owner.UserName,
                    EngagedUsersName = i.Users.Select(j => j.User.UserName).ToList(),
                })
                           .ToListAsync();

                return(Json(list));
            }
            else
            {
                return(Json(null));
            }
        }
コード例 #2
0
        public async Task HistoryPageWithInvalidData()
        {
            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", MockData.AuthKey);
            HistoryPaginationModel model = new HistoryPaginationModel();

            model.Count       = -1;
            model.CurrentPage = -1;
            model.Total       = 10;
            var response = await _client.GetAsync($"/api/Channel/HistoryPage/?Count={model.Count}&CurrentPage={model.CurrentPage}&Total={model.Total}");

            response.EnsureSuccessStatusCode();
            var content = await response.Content.ReadAsStringAsync();

            //var result = JsonConvert.DeserializeObject<HistoryModel>(content);
            Assert.Equal(content, "null");
            _client.DefaultRequestHeaders.Clear();
        }
コード例 #3
0
        public async Task HistoryPageTotalCount()
        {
            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", MockData.AuthKey);
            HistoryPaginationModel model = new HistoryPaginationModel();

            model.Count       = 1;
            model.CurrentPage = 1;
            model.Total       = 1;
            var response = await _client.GetAsync($"/api/Channel/HistoryPageTotal");

            response.EnsureSuccessStatusCode();
            var content = await response.Content.ReadAsStringAsync();

            var result = JsonConvert.DeserializeObject <int>(content);

            Assert.True(result > 0);
            _client.DefaultRequestHeaders.Clear();
        }