@using System.ComponentModel.DataAnnotations @using ImageBoardServerApp.Data.Repository @inject NavigationManager navigationManager
[ @toggleText ]
@if (opened) {
Comment on @post.Title in /@post.Board/
OnChange(args, "username")) Class="w-100"/>
OnChange(args, "Content")) Class="w-100"/>
} @code { private bool opened = false; private string toggleText = "Open Comment Formula"; private void ToggleOpened() { opened = !opened; toggleText = opened ? "Close Comment Formula" : "Open Comment Formula"; } [Parameter] [Required] public PostData post { get; set; } string postUsername = "Anonymous"; string postContent = ""; void OnChange(string value, string name) { switch (name) { case "username": postUsername = value; if (value == "") { postUsername = "Anonymous"; } break; case "content": postContent = value; break; default: Console.WriteLine("not found."); break; } Console.WriteLine($"Smth changed!: {value}"); } private async Task SingleUpload(InputFileChangeEventArgs e) { MemoryStream ms = new MemoryStream(); await e.File.OpenReadStream().CopyToAsync(ms); var bytes = ms.ToArray(); image = bytes; Console.WriteLine("File has been selected!"); ms.Close(); } private Byte[] image = null; private async Task onPostClick() { var userToCreate = new UserData { Ipv4Address = "192.168.178.101", Banned = false, lastActionTimeStamp = DateTime.Now.Millisecond }; int userID = await UsersRepository.createUserAsync(userToCreate); bool hasImage = image != null; CommentData commentToCreate; if (hasImage) { var imageToUpload = new ImageData { Board = post.Board, Image = image }; int imageID = await ImagesRepository.createImageAsync(imageToUpload); commentToCreate = new CommentData() { PostID = post.PostID, UserID = userID, ImageID = imageID, Content = postContent, Username = postUsername, Board = post.Board, CreatedAt = DateTimeOffset.Now.ToUnixTimeMilliseconds() }; } else { commentToCreate = new CommentData() { PostID = post.PostID, UserID = userID, Content = postContent, Username = postUsername, Board = post.Board, CreatedAt = DateTimeOffset.Now.ToUnixTimeMilliseconds() }; } int commentId = await CommentsRepository.createCommentAsync(commentToCreate); if (commentId == -1) { //Open comment unsucessfull navigationManager.NavigateTo("/UnSuccessfulPost"); Console.WriteLine("Shit sucks and did not work."); return; } //comment successfull Console.WriteLine("Post created"); navigationManager.NavigateTo($"/{post.Board}/thread/{post.PostID}", true, true); opened = false; } }