Exemplo n.º 1
0
        public Topics(
            ApplicationDbContext applicationDbContext,
            UserContext userContext,
            AccountRepository accountRepository,
            BoardRepository boardRepository,
            MessageRepository messageRepository,
            NotificationRepository notificationRepository,
            RoleRepository roleRepository,
            SettingsRepository settingsRepository,
            SmileyRepository smileyRepository,
            TopicRepository topicRepository,
            IForumViewResult forumViewResult,
            IActionContextAccessor actionContextAccessor,
            IUrlHelperFactory urlHelperFactory
            )
        {
            DbContext   = applicationDbContext;
            UserContext = userContext;

            AccountRepository      = accountRepository;
            BoardRepository        = boardRepository;
            MessageRepository      = messageRepository;
            NotificationRepository = notificationRepository;
            RoleRepository         = roleRepository;
            SettingsRepository     = settingsRepository;
            SmileyRepository       = smileyRepository;
            TopicRepository        = topicRepository;

            ForumViewResult = forumViewResult;
            UrlHelper       = urlHelperFactory.GetUrlHelper(actionContextAccessor.ActionContext);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> DisplayPartial(int id, long latest)
        {
            var latestTime = new DateTime(latest);

            var topic = DbContext.Topics.Find(id);

            if (topic is null || topic.Deleted)
            {
                throw new HttpNotFoundError();
            }

            await BoardRepository.GetTopicBoards(id);

            var messageIds = MessageRepository.GetMessageIds(id, latestTime);
            var messages   = await MessageRepository.GetMessages(messageIds);

            var latestMessageTime = messages.Max(r => r.RecordTime);
            await TopicRepository.MarkRead(id, latestMessageTime, messageIds);

            var viewModel = new ViewModels.Topics.TopicDisplayPartialPage {
                Latest   = DateTime.Now.Ticks,
                Messages = messages
            };

            return(await ForumViewResult.ViewResult(this, "DisplayPartial", viewModel));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Index(int id = 0, int page = 1, int unread = 0)
        {
            var topicIds = await TopicRepository.GetIndexIds(id, page, unread);

            var morePages = true;

            if (topicIds.Count < CurrentUser.ApplicationUser.TopicsPerPage)
            {
                morePages = false;
            }

            var topicPreviews = await TopicRepository.GetPreviews(topicIds);

            var boardRecords = await BoardRepository.Records();

            var boardRecord = id == 0 ? null : boardRecords.FirstOrDefault(item => item.Id == id);

            var viewModel = new ViewModels.Topics.TopicIndexPage {
                BoardId      = id,
                BoardName    = boardRecord?.Name ?? "All Topics",
                CurrentPage  = page,
                Topics       = topicPreviews,
                UnreadFilter = unread,
                MorePages    = morePages
            };

            return(await ForumViewResult.ViewResult(this, viewModel));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Create(InputModels.CreateBoardInput input)
        {
            if (ModelState.IsValid)
            {
                var serviceResponse = await BoardRepository.AddBoard(input);

                return(await this.RedirectFromService(serviceResponse, FailureCallback));
            }

            return(await FailureCallback());

            async Task <IActionResult> FailureCallback()
            {
                var viewModel = new ViewModels.Boards.CreatePage()
                {
                    Categories = await BoardRepository.CategoryPickList()
                };

                viewModel.Name        = input.Name;
                viewModel.Description = input.Description;

                if (!string.IsNullOrEmpty(input.Category))
                {
                    viewModel.Categories.First(item => item.Value == input.Category).Selected = true;
                }

                return(View(viewModel));
            }
        }
        public void BoardRepositoryCanCreateBoard()
        {
            /* Begin Arrange */
                var data = my_list.AsQueryable();

                mock_boards.As<IQueryable<Board>>().Setup(m => m.Provider).Returns(data.Provider);
                mock_boards.As<IQueryable<Board>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());
                mock_boards.As<IQueryable<Board>>().Setup(m => m.ElementType).Returns(data.ElementType);
                mock_boards.As<IQueryable<Board>>().Setup(m => m.Expression).Returns(data.Expression);

                // This allows BoardRepository to call Boards.Add and have it update the my_list instance and Enumerator
                // Connect DbSet.Add to List.Add so they work together
                mock_boards.Setup(m => m.Add(It.IsAny<Board>())).Callback((Board b) => my_list.Add(b));

                mock_context.Setup(m => m.Boards).Returns(mock_boards.Object);

                BoardRepository board_repo = new BoardRepository(mock_context.Object);
                string title = "My Awesome Board";
                /* End Arrange */

                /* Begin Act */
                Board added_board = board_repo.CreateBoard(title, owner);
                /* End Act */

                /* Begin Assert */
                Assert.IsNotNull(added_board);
                mock_boards.Verify(m => m.Add(It.IsAny<Board>()));
                mock_context.Verify(x => x.SaveChanges(), Times.Once());
                Assert.AreEqual(1, board_repo.GetBoardCount());
                /* End Assert */
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Edit(InputModels.EditBoardInput input)
        {
            if (ModelState.IsValid)
            {
                var serviceResponse = await BoardRepository.UpdateBoard(input);

                return(await this.RedirectFromService(serviceResponse, FailureCallback));
            }

            return(await FailureCallback());

            async Task <IActionResult> FailureCallback()
            {
                var boardRecord = (await BoardRepository.Records()).First(b => b.Id == input.Id);

                var viewModel = new ViewModels.Boards.EditPage {
                    Id         = boardRecord.Id,
                    Categories = await BoardRepository.CategoryPickList(),
                    Roles      = await RoleRepository.PickList(boardRecord.Id)
                };

                viewModel.Name        = input.Name;
                viewModel.Description = input.Description;

                if (!string.IsNullOrEmpty(input.Category))
                {
                    viewModel.Categories.First(item => item.Value == input.Category).Selected = true;
                }

                return(View(viewModel));
            }
        }
        public void BoardRepositoryEnsureICanGetAllLists()
        {
            /* Begin Arrange */

            var brello_lists = new List <BrelloList>
            {
                new BrelloList {
                    Title = "My List", BrelloListId = 1
                }
            };

            my_list.Add(new Board {
                Title = "Tim's Board", Owner = user1, BoardId = 1, Lists = brello_lists
            });
            my_list.Add(new Board {
                Title = "Sally's Board", Owner = user2, BoardId = 2, Lists = brello_lists
            });
            ConnectMocksToDataSource();
            BoardRepository board_repo = new BoardRepository(mock_context.Object);
            /* End Arrange */

            /* Begin Act */
            int expected = 2;
            int actual   = board_repo.GetAllLists().Count;

            /* End Act */

            /* Begin Assert */
            Assert.AreEqual(expected, actual);
            /* End Assert */
        }
Exemplo n.º 8
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            var data = new BoardData();

            data.Name      = lbName.Text;
            data.Email     = lbEmail.Text;
            data.Title     = tbTitle.Text;
            data.Content   = tbContent.Text;
            data.ReadCount = 0;

            DateTime time = DateTime.Now;

            data.PostDate   = time;
            data.ModifyDate = time;

            //data.Password = "******";
            //data.PostIp = "PostIp";
            //data.ModifyIp = "ModifyIp";
            //data.Encoding = "Encoding";
            //data.Homepage = "Homepage";

            if (data.Title.Length > 0)
            {
                var repository = new BoardRepository();
                repository.Add(data);

                Response.Redirect("List.aspx");
            }
            else
            {
                string script = "<script type='text/javascript'>alert('제목을 입력해 주세요.');</script>";
                this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Write", script);
            }
        }
        public void BoardRepositoryEnsureICanGetAllBoards()
        {
            /* Begin Arrange */

            // 1. Your data must be Queryable
            // 2. Mocks can only cast to an Interface (e.g. IQueryable, IDbSet, etc).
            // 3. You must ensure Provider, GetEnumerator(), ElementType, and Expression are defined
            //    with your collection class (the container class that holds your data).

            my_list.Add(new Board {
                Title = "Tim's Board", Owner = owner
            });
            my_list.Add(new Board {
                Title = "Sally's Board", Owner = owner
            });
            ConnectMocksToDataSource();

            BoardRepository board_repo = new BoardRepository(mock_context.Object);
            /* End Arrange */

            /* Begin Act */
            List <Board> boards = board_repo.GetAllBoards();

            /* End Act */

            /* Begin Assert */
            Assert.AreEqual(2, boards.Count);
            /* End Assert */
        }
        public void BoardRepositoryCanCreateBoard()
        {
            /* Begin Arrange */
            var data = my_list.AsQueryable();

            mock_boards.As <IQueryable <Board> >().Setup(m => m.Provider).Returns(data.Provider);
            mock_boards.As <IQueryable <Board> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());
            mock_boards.As <IQueryable <Board> >().Setup(m => m.ElementType).Returns(data.ElementType);
            mock_boards.As <IQueryable <Board> >().Setup(m => m.Expression).Returns(data.Expression);

            // This allows BoardRepository to call Boards.Add and have it update the my_list instance and Enumerator
            // Connect DbSet.Add to List.Add so they work together
            mock_boards.Setup(m => m.Add(It.IsAny <Board>())).Callback((Board b) => my_list.Add(b));

            mock_context.Setup(m => m.Boards).Returns(mock_boards.Object);

            BoardRepository board_repo = new BoardRepository(mock_context.Object);
            string          title      = "My Awesome Board";
            /* End Arrange */

            /* Begin Act */
            Board added_board = board_repo.CreateBoard(title, owner);

            /* End Act */

            /* Begin Assert */
            Assert.IsNotNull(added_board);
            mock_boards.Verify(m => m.Add(It.IsAny <Board>()));
            mock_context.Verify(x => x.SaveChanges(), Times.Once());
            Assert.AreEqual(1, board_repo.GetBoardCount());
            /* End Assert */
        }
Exemplo n.º 11
0
        public IActionResult Index(int id = 0, int unread = 0)
        {
            var boardRoles = RoleRepository.BoardRoles.Where(r => r.BoardId == id).Select(r => r.RoleId).ToList();

            if (!UserContext.IsAdmin && boardRoles.Any() && !boardRoles.Intersect(UserContext.Roles).Any())
            {
                throw new HttpForbiddenError();
            }

            var sidebar = new ViewModels.Sidebar {
                Birthdays     = AccountRepository.GetBirthdaysList().ToArray(),
                OnlineUsers   = AccountRepository.GetOnlineList(),
                Notifications = NotificationRepository.Index()
            };

            var page          = 1;
            var topicPreviews = TopicRepository.GetPreviews(id, page, unread);

            var boardRecord = id == 0 ? null : BoardRepository.FirstOrDefault(record => record.Id == id);

            var viewModel = new PageModels.TopicIndexPage {
                BoardId      = id,
                BoardName    = boardRecord?.Name ?? "All Topics",
                Page         = page,
                Topics       = topicPreviews,
                UnreadFilter = unread,
                Sidebar      = sidebar
            };

            return(ForumViewResult.ViewResult(this, viewModel));
        }
Exemplo n.º 12
0
        public Topics(
            ApplicationDbContext applicationDbContext,
            UserContext userContext,
            BoardRepository boardRepository,
            BookmarkRepository bookmarkRepository,
            MessageRepository messageRepository,
            RoleRepository roleRepository,
            SmileyRepository smileyRepository,
            TopicRepository topicRepository,
            IForumViewResult forumViewResult,
            IActionContextAccessor actionContextAccessor,
            IUrlHelperFactory urlHelperFactory
            )
        {
            DbContext   = applicationDbContext;
            UserContext = userContext;

            BoardRepository    = boardRepository;
            BookmarkRepository = bookmarkRepository;
            MessageRepository  = messageRepository;
            RoleRepository     = roleRepository;
            SmileyRepository   = smileyRepository;
            TopicRepository    = topicRepository;

            ForumViewResult = forumViewResult;
            UrlHelper       = urlHelperFactory.GetUrlHelper(actionContextAccessor.ActionContext);
        }
Exemplo n.º 13
0
        public async Task <IActionResult> Manage()
        {
            var viewModel = new ViewModels.Boards.IndexPage {
                Categories = await BoardRepository.CategoryIndex()
            };

            return(View(viewModel));
        }
Exemplo n.º 14
0
 public Boards(
     BoardRepository boardRepository,
     RoleRepository roleRepository
     )
 {
     BoardRepository = boardRepository;
     RoleRepository  = roleRepository;
 }
Exemplo n.º 15
0
 private Board GetBoardFromDatabase()
 {
     using (var session = RavenDatabase.GetSession())
     {
         var repo = new BoardRepository(session);
         return(repo.Get());
     }
 }
Exemplo n.º 16
0
        public async Task <IActionResult> Manage()
        {
            var viewModel = new PageViewModels.IndexPage {
                Categories = await BoardRepository.CategoryIndex()
            };

            return(await ForumViewResult.ViewResult(this, viewModel));
        }
Exemplo n.º 17
0
 public ForumViewResult(
     BoardRepository boardRepository,
     Sidebar sidebar
     )
 {
     BoardRepository = boardRepository;
     Sidebar         = sidebar;
 }
Exemplo n.º 18
0
        public IActionResult Manage()
        {
            var viewModel = new PageViewModels.IndexPage {
                Categories = BoardRepository.CategoryIndex()
            };

            return(ForumViewResult.ViewResult(this, viewModel));
        }
Exemplo n.º 19
0
        protected void btnDelete_Click(object sender, EventArgs e)
        {
            int Id = Convert.ToInt32(Request.QueryString["Id"]);

            var repository = new BoardRepository();

            repository.Delete(Id);
            Response.Redirect("LIst.aspx");
        }
Exemplo n.º 20
0
        public static async Task <string> GetPlayer()
        {
            var onlineBoard  = new BoardRepository(Connection());
            var updatedBoard = await onlineBoard.FetchCounter();

            var playerId = updatedBoard.FirstOrDefault();

            return(playerId?.Between ?? " ");
        }
Exemplo n.º 21
0
 public ForumViewResult(
     BoardRepository boardRepository,
     IActionContextAccessor actionContextAccessor,
     IUrlHelperFactory urlHelperFactory
     )
 {
     BoardRepository = boardRepository;
     UrlHelper       = urlHelperFactory.GetUrlHelper(actionContextAccessor.ActionContext);
 }
Exemplo n.º 22
0
        public IActionResult Create()
        {
            var viewModel = new PageViewModels.CreatePage()
            {
                Categories = BoardRepository.CategoryPickList()
            };

            return(ForumViewResult.ViewResult(this, viewModel));
        }
Exemplo n.º 23
0
        public async Task <IActionResult> Create()
        {
            var viewModel = new PageViewModels.CreatePage()
            {
                Categories = await BoardRepository.CategoryPickList()
            };

            return(await ForumViewResult.ViewResult(this, viewModel));
        }
Exemplo n.º 24
0
        public async Task <IActionResult> Create()
        {
            var viewModel = new ViewModels.Boards.CreatePage()
            {
                Categories = await BoardRepository.CategoryPickList()
            };

            return(View(viewModel));
        }
Exemplo n.º 25
0
        public void RepoCanEditBoard()
        {
            IBoardRepository br    = new BoardRepository();
            Board            board = new Board(1000, 350, 400, br);

            board = br.LoadBoard(1000);

            Assert.AreEqual(350, board.Length);
            Assert.AreEqual(400, board.Width);
        }
Exemplo n.º 26
0
 public UnitOfWork()
 {
     db                 = new AplicationContext();
     userManager        = new ApplicationUserManager(new UserStore <ApplicationUser>(db));
     roleManager        = new ApplicationRoleManager(new RoleStore <ApplicationRole>(db));
     taskListRepository = new TaskListRepository(db);
     userRepository     = new ClientRepository(db);
     boardRepository    = new BoardRepository(db);
     cardRepository     = new CardRepository(db);
 }
Exemplo n.º 27
0
        public void GivenBoard_WhenSetSavesBoard_GetReturnsTheSameBoard()
        {
            var board           = new Board();
            var boardRepository = new BoardRepository();

            boardRepository.Set(board);
            var result = boardRepository.Get();

            Assert.That(result.GetHashCode(), Is.EqualTo(board.GetHashCode()));
        }
Exemplo n.º 28
0
        public HttpResponseMessage Get()
        {
            var repo     = new BoardRepository();
            var response = Request.CreateResponse();

            response.Content    = new StringContent(JsonConvert.SerializeObject(repo.GetColumns()));
            response.StatusCode = HttpStatusCode.OK;

            return(response);
        }
Exemplo n.º 29
0
        public void Init()
        {
            var options = EfInMemory.CreateOptions <MWDBContext>();

            _context = new MWDBContext(options);
            DbInitializer.Initialize(_context);
            _boardRepository = new BoardRepository(_context);

            _boardController = new BoardController(_boardRepository);
        }
Exemplo n.º 30
0
        public UnitOfWork(DbContext db)
        {
            _db = db;

            Articles = new ArticleRepository(db);
            Boards   = new BoardRepository(db);
            Comments = new CommentRepository(db);
            Users    = new UserRepository(db);
            Images   = new ImageRepository(db);
        }
Exemplo n.º 31
0
 public Boards(
     BoardRepository boardRepository,
     RoleRepository roleRepository,
     IForumViewResult forumViewResult
     )
 {
     BoardRepository = boardRepository;
     RoleRepository  = roleRepository;
     ForumViewResult = forumViewResult;
 }
Exemplo n.º 32
0
        public void BoardRepositoryCanGetABoard()
        {
            /* Begin Arrange */
                my_list.Add(new Board { Title = "Tim's Board", Owner = user1 });
                my_list.Add(new Board { Title = "Sally's Board", Owner = user2 });
                ConnectMocksToDataSource();

                /* Leveraging the CreateBoard Method:
                     mock_boards.Setup(m => m.Add(It.IsAny<Board>())).Callback((Board b) => my_list.Add(b));
                     Board added_board = board_repo.CreateBoard(title, owner);
                */

                BoardRepository board_repository = new BoardRepository(mock_context.Object);
                /* Begin Act */
                List<Board> user_boards = board_repository.GetBoards(user1);
                /* Begin Assert */
                Assert.AreEqual(1, user_boards.Count());
                Assert.AreEqual("Tim's Board", user_boards.First().Title);
        }
Exemplo n.º 33
0
        public void BoardRepositoryCanGetBoardCount()
        {
            /* Begin Arrange */

                var data = my_list.AsQueryable();

                //mock_boards.Object.Add(new Board { Title = "My Awesome Board", Owner = new ApplicationUser() });

                //var data = mock_boards.Object.AsQueryable();
                mock_boards.As<IQueryable<Board>>().Setup(m => m.Provider).Returns(data.Provider);
                mock_boards.As<IQueryable<Board>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());
                mock_boards.As<IQueryable<Board>>().Setup(m => m.ElementType).Returns(data.ElementType);
                mock_boards.As<IQueryable<Board>>().Setup(m => m.Expression).Returns(data.Expression);

                mock_context.Setup(m => m.Boards).Returns(mock_boards.Object);
                //mock_context.Object.SaveChanges(); // This saves something to the Database
                BoardRepository board_repository = new BoardRepository(mock_context.Object);
                /* End Arrange */

                /* Begin Act */
                int actual = board_repository.GetBoardCount();
                /* End Act */

                /* Begin Assert */
                Assert.AreEqual(0, actual);
                /* End Assert */

                /* Begin Act */
                my_list.Add(new Board { Title = "My Awesome Board" });
                mock_boards.As<IQueryable<Board>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());
                /* End Act */

                /* Begin Assert */
                Assert.AreEqual(1, board_repository.GetBoardCount());
                /* End Assert */
        }
Exemplo n.º 34
0
        public void BoardRepositoryEnsureABoardHasZeroLists()
        {
            /* Begin Arrange */
                my_list.Add(new Board { Title = "Tim's Board", Owner = user1, BoardId = 1 });

                ConnectMocksToDataSource();
                /* Begin Act */
                BoardRepository board_repo = new BoardRepository(mock_context.Object);
                /* Begin Assert */
                int expected = 0;
                Assert.AreEqual(expected, board_repo.GetAllLists(1).Count());
        }
Exemplo n.º 35
0
        public void BoardRepositoryEnsureThereAreZeroLists()
        {
            /* Begin Arrange */
                my_list.Add(new Board { Title = "Tim's Board", Owner = user1 });
                my_list.Add(new Board { Title = "Sally's Board", Owner = user2 });

                ConnectMocksToDataSource();
                BoardRepository board_repo = new BoardRepository(mock_context.Object);
                /* End Arrange */

                int expected = 0;
                int actual = board_repo.GetListCount();
                Assert.AreEqual(expected, actual);
        }
Exemplo n.º 36
0
        public void BoardRepositoryEnsureICanGetAllLists()
        {
            /* Begin Arrange */

                var brello_lists = new List<BrelloList>
            {
                new BrelloList { Title = "My List", BrelloListId = 1}
            };

                my_list.Add(new Board { Title = "Tim's Board", Owner = user1, BoardId = 1, Lists = brello_lists });
                my_list.Add(new Board { Title = "Sally's Board", Owner = user2, BoardId = 2, Lists = brello_lists });
                ConnectMocksToDataSource();
                BoardRepository board_repo = new BoardRepository(mock_context.Object);
                /* End Arrange */

                /* Begin Act */
                int expected = 2;
                int actual = board_repo.GetAllLists().Count;
                /* End Act */

                /* Begin Assert */
                Assert.AreEqual(expected, actual);
                /* End Assert */
        }
Exemplo n.º 37
0
        public void BoardRepositoryEnsureICanGetAllBoards()
        {
            /* Begin Arrange */

                // 1. Your data must be Queryable
                // 2. Mocks can only cast to an Interface (e.g. IQueryable, IDbSet, etc).
                // 3. You must ensure Provider, GetEnumerator(), ElementType, and Expression are defined
                //    with your collection class (the container class that holds your data).

                my_game.Add(new Game { Title = "Tim's Board", Owner = owner });
                my_list.Add(new Board { Title = "Sally's Board", Owner = owner });
                ConnectMocksToDataSource();

                BoardRepository board_repo = new BoardRepository(mock_context.Object);
                /* End Arrange */

                /* Begin Act */
                List<Board> boards = board_repo.GetAllBoards();
                /* End Act */

                /* Begin Assert */
                Assert.AreEqual(2, boards.Count);
                /* End Assert */
        }