コード例 #1
0
 public async Task <IActionResult> GetRegisterPage()
 {
     return(new ContentResult {
         ContentType = "text/html",
         StatusCode = (int)Status200OK,
         Content = BasicTemplater.GenerateRegisterPage()
     });
 }
コード例 #2
0
        public void generateDateTimeStringTest()
        {
            var time     = new DateTime(1000, 1, 2, 3, 4, 0);
            var expected = "- 1000-01-02 @ 03:04";
            var actual   = BasicTemplater.generateDateTimeString(time);

            Assert.Equal(expected, actual);
        }
コード例 #3
0
        public async Task <IActionResult> Get404Page()
        {
            await CheckSessionForUser();

            return(new ContentResult {
                ContentType = "text/html",
                StatusCode = Status404NotFound,
                Content = BasicTemplater.Generate404Page(user)
            });
        }
コード例 #4
0
        public async Task <IActionResult> GetPublicTimeline()
        {
            await CheckSessionForUser();

            return(new ContentResult {
                ContentType = "text/html",
                StatusCode = Status200OK,
                Content = BasicTemplater.GenerateTimeline(messages: await MessageRepo.ReadAllAsync(MessageLimit), timelineType.PUBLIC, user: user)
            });
        }
コード例 #5
0
        private static ContentResult generateBadRequestLogin(string message)
        {
            BasicTemplater.errors.Add(message);
            var toReturn = new ContentResult {
                ContentType = "text/html",
                StatusCode  = Status400BadRequest,
                Content     = BasicTemplater.GenerateLoginPage()
            };

            return(toReturn);
        }
コード例 #6
0
        public async Task <ActionResult> GetUserAsync([FromRoute] string username)
        {
            await CheckSessionForUser();

            var searchedUser = await UserRepo.ReadAsync(username, MessageLimit);

            if (searchedUser is null)
            {
                return((ActionResult) await Get404Page());
            }

            return(new ContentResult
            {
                ContentType = "text/html",
                StatusCode = Status200OK,
                Content = BasicTemplater.GenerateTimeline(searchedUser.messages, timelineType.OTHER, user: user, otherPersonUsername: searchedUser.username)
            });
        }
コード例 #7
0
        public async Task <IActionResult> GetLoginPage()
        {
            await CheckSessionForUser();

            if (user == null)
            {
                return(new ContentResult()
                {
                    Content = BasicTemplater.GenerateLoginPage(),
                    StatusCode = Status200OK,
                    ContentType = "text/html"
                });
            }

            return(new ContentResult()
            {
                Content = $"User: {user.username}"
            });
        }
コード例 #8
0
        public async Task <ActionResult> GetLogs([FromRoute] string hour, [FromRoute] string day, [FromRoute] string month, [FromRoute] string year, [FromQuery] bool info)
        {
            string page;

            try
            {
                page = await BasicTemplater.GenerateLogPage(hour, day, month, year, info, HttpContext.Request.Host.ToString());
            }
            catch (Exception)
            {
                page = $"<h1 style=\"text-align:center\">{hour}@{day}/{month}/{year} is not a valid date</h1><p style=\"text-align:center\">Format: hh@dd-mm-yyyy</p>";
            }

            return(new ContentResult
            {
                ContentType = "text/html",
                StatusCode = Status200OK,
                Content = page
            });
        }
コード例 #9
0
        public async Task <IActionResult> GetTimeline()
        {
            await CheckSessionForUser();

            if (user is null)
            {
                return(Redirect("/public"));
            }

            List <MessageReadDTO> messages = user.messages;

            foreach (string follow in user.following)
            {
                messages.AddRange((await UserRepo.ReadAsync(follow)).messages);
            }
            return(new ContentResult
            {
                ContentType = "text/html",
                StatusCode = Status200OK,
                Content = BasicTemplater.GenerateTimeline(messages, timelineType.SELF, user)
            });
        }