static void Main(string[] args) { using (var context = new BlogContext()) { var videoPost = new VideoPost { Blog = new Blog { Name = "Blog1", Author = new Author { Name = "Jan Kowalski" } }, Title = "test", VideoUrl = "http://fake/adres" }; context.Add(videoPost); var podcastPost = new PodcastPost { Blog = new Blog { Name = "Blog2", Author = new Author { Name = "Jan Kowalski" } }, Title = "test", PodcastUrl = "http://fake/adres" }; context.Add(podcastPost); var textPost = new TextPost { Blog = new Blog { Name = "Blog3", Author = new Author { Name = "Jan Kowalski" } }, Title = "test", PostContent = "test" }; context.Add(textPost); context.SaveChanges(); } }
public async Task <IActionResult> AddNewVideo([FromBody] NewVideoVM vm) { if (!ModelState.IsValid) { string errorMsg = null; foreach (var m in ModelState.Values) { foreach (var msg in m.Errors) { errorMsg = msg.ErrorMessage; } } return(BadRequest(errorMsg)); } var user = await _userManager.FindByIdAsync(User.Identity.Name); if (user == null) { return(NotFound()); } if (await _userManager.IsInRoleAsync(user, "Admin")) { VideoPost newVideoPost = new VideoPost { CareerId = vm.CareerId ?? null, CategoryId = vm.CategoryId, CountryId = vm.CountryId, UploaderId = vm.UploaderId, SalaryInfoId = vm.SalaryInfoId, Likes = vm.Likes, Title = vm.Title, UploadedDate = DateTime.UtcNow, YouTubeVideoId = vm.YouTubeVideoId, SharerId = vm.SharerId, IsGoogleDriveVideo = vm.IsGoogleDriveVideo ? (byte)1 : (byte)0 }; await _vpRepository.AddAsync(newVideoPost); await _vpRepository.CommitAsync(); var videoCommentVM = Mapper.Map <VideoPost, VideoPostVM>(newVideoPost); return(CreatedAtRoute("GetVideoPost", new { controller = "Admin", id = videoCommentVM.VideoPostId }, videoCommentVM)); } return(StatusCode(401)); }
public async Task <PostDto> CreateAsync(VideoPostCreateDto postCreateDto) { var videoPost = new VideoPost() { Url = postCreateDto.Content, UserId = postCreateDto.User.Id, }; await _context.Posts.AddAsync(videoPost); await _context.SaveChangesAsync(); return(videoPost.ToDto()); }
private VideoPost ParseVideoPost(JObject jObject, HashSet <string> checkedProperties) { VideoPost newPost = new VideoPost(); JToken current; if (CheckProperty(jObject, "caption", checkedProperties, out current)) { newPost.Caption = (string)current; } if (CheckProperty(jObject, "permalink_url", checkedProperties, out current)) { newPost.PermalinkUrl = (string)current; } if (CheckProperty(jObject, "thumbnail_url", checkedProperties, out current)) { newPost.ThumbnailUrl = (string)current; } if (CheckProperty(jObject, "thumbnail_width", checkedProperties, out current)) { newPost.ThumbnailWidth = (decimal)current; } if (CheckProperty(jObject, "thumbnail_height", checkedProperties, out current)) { newPost.ThumbnailHeight = (decimal)current; } if (CheckProperty(jObject, "html5_capable", checkedProperties, out current)) { newPost.Html5Capable = (bool)current; } if (CheckProperty(jObject, "video_url", checkedProperties, out current)) { newPost.VideoUrl = (string)current; } if (CheckProperty(jObject, "duration", checkedProperties, out current)) { newPost.Duration = (decimal)current; } if (CheckProperty(jObject, "player", checkedProperties, out current)) { newPost.Player = new List <Player>(); var children = current.Children(); foreach (JObject child in children) { newPost.Player.Add(ParsePlayer(child)); } } return(newPost); }
public static PostDto ToDto(this VideoPost vidPost) { var returnDto = new PostDto() { Id = vidPost.Id, CreatedBy = vidPost.User.ToDto(), UserId = vidPost.Id, CreatedTime = vidPost.CreatedTime, Likes = vidPost.Likes, Content = vidPost.Url, Type = PostType.ImagePost, NumberOfComments = vidPost.Comments.Count, }; return(returnDto); }
public object Deserialize(JsonValue json, JsonMapper mapper) { VideoPost post = null; if ( json != null && !json.IsNull ) { post = new VideoPost(); post.ID = json.ContainsName("id" ) ? json.GetValue<string>("id" ) : String.Empty; post.Source = json.ContainsName("source" ) ? json.GetValue<string>("source" ) : String.Empty; post.VideoId = json.ContainsName("object_id" ) ? json.GetValue<string>("object_id") : String.Empty; post.CreatedTime = json.ContainsName("created_time") ? JsonUtils.ToDateTime(json.GetValue<string>("created_time"), "yyyy-MM-ddTHH:mm:ss") : DateTime.MinValue; post.UpdatedTime = json.ContainsName("updated_time") ? JsonUtils.ToDateTime(json.GetValue<string>("updated_time"), "yyyy-MM-ddTHH:mm:ss") : DateTime.MinValue; post.From = mapper.Deserialize<Reference>(json.GetValue("from")); post.Tags = mapper.Deserialize<List<Tag>>(json.GetValue("tags")); } return post; }
public static PostThreadDto ToPostThreadDto(this VideoPost videoPost) { var threadDto = new PostThreadDto() { Id = videoPost.Id, CreatedBy = videoPost.User?.ToDto(), UserId = videoPost.Id, CreatedTime = videoPost.CreatedTime, Likes = videoPost.Likes, Comments = videoPost.Comments.ToDto().ToList(), Content = videoPost.Url, NumberOfComments = videoPost.Comments.Count, Type = PostType.QuotePost, }; return(threadDto); }
public object Deserialize(JsonValue json, JsonMapper mapper) { VideoPost post = null; if (json != null && !json.IsNull) { post = new VideoPost(); post.ID = json.ContainsName("id") ? json.GetValue <string>("id") : String.Empty; post.Source = json.ContainsName("source") ? json.GetValue <string>("source") : String.Empty; post.VideoId = json.ContainsName("object_id") ? json.GetValue <string>("object_id") : String.Empty; post.CreatedTime = json.ContainsName("created_time") ? JsonUtils.ToDateTime(json.GetValue <string>("created_time"), "yyyy-MM-ddTHH:mm:ss") : DateTime.MinValue; post.UpdatedTime = json.ContainsName("updated_time") ? JsonUtils.ToDateTime(json.GetValue <string>("updated_time"), "yyyy-MM-ddTHH:mm:ss") : DateTime.MinValue; post.From = mapper.Deserialize <Reference>(json.GetValue("from")); post.Tags = mapper.Deserialize <List <Tag> >(json.GetValue("tags")); } return(post); }
/// <summary> /// /// </summary> /// <param name="post"></param> /// <param name="jPost"></param> public static void GenerateVideoPost(ref TumblrPost post, dynamic jPost) { if (post == null) { throw new ArgumentNullException(nameof(post)); } if (jPost == null) { throw new ArgumentNullException(nameof(jPost)); } post = new VideoPost { Caption = !string.IsNullOrEmpty((string)jPost.caption) ? jPost.caption : null, VideoType = !string.IsNullOrEmpty((string)jPost.video_type) ? jPost.video_type : null, VideoUrl = !string.IsNullOrEmpty((string)jPost.permalink_url) ? jPost.permalink_url : null, ThumbnailUrl = !string.IsNullOrEmpty((string)jPost.thumbnail_url) ? jPost.thumbnail_url : null, ThumbnailWidth = !string.IsNullOrEmpty((string)jPost.thumbnail_width) ? jPost.thumbnail_width : null, ThumbnailHeight = !string.IsNullOrEmpty((string)jPost.thumbnail_height) ? jPost.thumbnail_height : null, IsHtml5Capable = !string.IsNullOrEmpty((string)jPost.html5_capable) ? jPost.html5_capable : null }; if (jPost.player != null) { post.VideoPlayers = new HashSet <VideoPostEmbedPlayer>(); foreach (dynamic jPlayer in jPost.player) { VideoPostEmbedPlayer player = new VideoPostEmbedPlayer { EmbedCode = !string.IsNullOrEmpty((string)jPlayer.embed_code) ? jPlayer.embed_code : null, Width = !string.IsNullOrEmpty((string)jPlayer.width) ? jPlayer.width : null }; post.VideoPlayers.Add(player); } } IncludeCommonPostFields(ref post, jPost); }
public static void EnsurePopulated(IApplicationBuilder app) { var context = app.ApplicationServices.GetRequiredService <WhiteBoardContext>(); context.Database.Migrate(); if (DbIsEmpty(context)) { var user1 = new User() { FirstName = "Samwise", LastName = "Gamgee", Alias = "Sam", Email = "*****@*****.**", Password = "******", }; var user2 = new User() { FirstName = "Bertha", LastName = "Baggins", Alias = "Bertha", Email = "*****@*****.**", Password = "******" }; var quotePost1 = new QuotePost() { UserId = 1, //CreatedBy = user1, Text = "We have a business strategy around here - it's called getting shit done", Likes = 5, }; var quotePost2 = new QuotePost() { UserId = 2, //CreatedBy = user2, Text = "If you can think it, you can build it", Likes = 2 }; user1.QuotePosts.Add(quotePost1); user2.QuotePosts.Add(quotePost2); var imagePost = new ImagePost() { UserId = 1, Url = "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Everest_North_Face_toward_Base_Camp_Tibet_Luca_Galuzzi_2006.jpg/560px-Everest_North_Face_toward_Base_Camp_Tibet_Luca_Galuzzi_2006.jpg" }; var videoPost = new VideoPost() { UserId = 2, Url = "https://youtu.be/fFRVFHP4GLE" }; user1.ImagePosts.Add(imagePost); user2.VideoPosts.Add(videoPost); var comment1 = new Comment() { UserId = 1, User = user1, PostId = 1, Body = "You are so right!" }; imagePost.Comments.Add(comment1); var comment2 = new Comment() { UserId = 2, User = user2, PostId = 2, Body = "Lovely Video! So motivating :) " }; videoPost.Comments.Add(comment2); Console.WriteLine("DB is being updated"); var comment3 = new Comment() { UserId = 2, User = user2, PostId = 2, Body = "What a strategy!" }; quotePost1.Comments.Add(comment3); context.Users.AddRange( user1, user2 ); context.Posts.AddRange(videoPost, imagePost, quotePost1, quotePost2); context.SaveChanges(); } }
static void Main(string[] args) { // connects to a local database Services.Services._client = new MongoClient("mongodb://127.0.0.1:27017/"); Services.Services._database = Services.Services._client.GetDatabase("SocialNetworkDb"); services.CreateCollections(); //comment this out after first run of the programme services.retrieveCollections(); SetUp setUp = new SetUp(services); string input = "0"; // insert dummydata Console.WriteLine("Want to insert dummydata? press D (Press any button if don't wish to add dummy data)"); Console.WriteLine("NOTE: if this is the first time running the program, its an good idea to insert dummyData"); input = Console.ReadLine(); switch (input) { case "D": setUp.seedData(); Console.WriteLine("DummyData inserted!"); input = "0"; break; default: Console.WriteLine("DummyData not inserted!"); input = "0"; break; } //SetUp.SeedingData(); //comment this out after first run of the programme User Currentuser = new User(); Wall wall = new Wall(services); Feed feed = new Feed(services); Console.WriteLine("WELCOME TO THE SOCIAL NETWORK"); Currentuser = setUp.UserLogin(); //string input = "0"; while (true) { switch (input) { case "0": InitMessage(); input = Console.ReadLine(); break; case "1": CreatePostPrintout(); string postType = Console.ReadLine(); string postContent; if (postType == "T") { Console.WriteLine("Please enter content for your post"); postContent = Console.ReadLine(); TextPost textPost = new TextPost() { CreationTime = DateTime.Now, TextContent = postContent, Author = Currentuser.UserName }; setUp.PostOptions(Currentuser, textPost); } else if (postType == "V") { Console.WriteLine("Please enter Video title: "); var videoContent = Console.ReadLine(); string videoInput = ""; VideoPost videoPost = new VideoPost() { CreationTime = DateTime.Now, VideoContent = videoContent, Options = new Dictionary <string, int>(), Author = Currentuser.UserName }; do { Console.WriteLine("--------------------------------------"); Console.WriteLine("|| 0 || Where to post ||"); Console.WriteLine("|| 1 || Create Video ||"); videoInput = Console.ReadLine(); if (videoInput == "1") { Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine("|| PLEASE ENTER VIDEO CONTENT ||"); Console.WriteLine("------------------------------------------------------------------------------------------"); var content = Console.ReadLine(); videoPost.Options.Add(content, 0); } } while (videoInput != "0"); setUp.PostOptions(Currentuser, videoPost); Console.WriteLine("-------------------------------------------------------------------------------------------"); Console.WriteLine("|| THE VIDEO HAS BEEN POSTED SUCCESSFULLY! ||"); Console.WriteLine("-------------------------------------------------------------------------------------------"); } input = "0"; break; case "2": Console.WriteLine("Please enter a user to visit their wall:"); var userInput = Console.ReadLine(); var findUser = services.GetUser().FirstOrDefault(u => userInput == u.UserName); if (findUser == null) { Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine("|| WARNING: USER DOES NOT EXIST - PRESS ENTER TO CONTINUE ||"); Console.WriteLine("------------------------------------------------------------------------------------------"); Console.ReadLine(); input = "0"; break; } var wallOfUser = wall.GetWall(findUser.UserId, Currentuser.UserId); int PostnumberOnWall = 1; foreach (var post in wallOfUser) { Console.WriteLine($"------------------ PostNumber: {PostnumberOnWall++} ------------------------"); post.print(); } Console.WriteLine("|| 0 || Enter to add a comment ||"); if (wallOfUser.OfType <VideoPost>().Any()) { Console.WriteLine("|| 1 || Enter to vote on meme ||"); } Console.WriteLine("|| Enter || To continue ||"); var commentWallChoice = Console.ReadLine(); if (commentWallChoice == "0") { var wallCommentNumber = 0; do { Console.WriteLine("Please enter the number of the post you wish to comment on:"); wallCommentNumber = int.Parse(Console.ReadLine()); if (wallCommentNumber <= 5 && wallCommentNumber >= 1) { break; } warningMessageNumber_NotValid(); } while (true); Console.WriteLine(wallOfUser[wallCommentNumber - 1].Author); setUp.NewComment(wallOfUser[wallCommentNumber - 1]); } else if (commentWallChoice == "1") { var wallMemeNumber = 0; do { Console.WriteLine("Please enter the number of the post you wish to vote on:"); wallMemeNumber = int.Parse(Console.ReadLine()); if (wallMemeNumber <= 5 && wallMemeNumber >= 1) { break; } if ((wallOfUser[wallMemeNumber - 1] is VideoPost)) { break; } warningMessageNumber_NotValid(); } while (true); Console.WriteLine("Choose the option to vote for: (Name of the option. Case sensitive)"); var WallMemeChoice = Console.ReadLine(); var post = wallOfUser[wallMemeNumber - 1] as VideoPost; post.Options[WallMemeChoice]++; setUp.UpdatePosts(post); } input = "0"; break; case "3": Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine("|| THIS IS YOUR FEED ||"); Console.WriteLine("------------------------------------------------------------------------------------------"); var yourFeed = feed.ShowFeed(Currentuser.UserId); int postNumberInFeed = 1; foreach (var post in yourFeed) { Console.WriteLine($"------------------ PostNumber: {postNumberInFeed++} ------------------------"); post.print(); } Console.WriteLine("|| 0 || Enter to add a comment for one of the posts ||"); if (yourFeed.OfType <VideoPost>().Any()) { Console.WriteLine("|| 1 || Enter to vote on meme ||"); } Console.WriteLine("|| Enter || To continue ||"); var choosingComment = Console.ReadLine(); if (choosingComment == "0") { var numberCommentsOfFeed = 0; do { Console.WriteLine("Please enter the number of post you wish to comment on: "); numberCommentsOfFeed = int.Parse(Console.ReadLine()); if (numberCommentsOfFeed <= 5 && numberCommentsOfFeed >= 1) { break; } warningMessageNumber_NotValid(); } while (true); setUp.NewComment(yourFeed[numberCommentsOfFeed - 1]); } else if (choosingComment == "1") { var feedMemeNumber = 0; do { Console.WriteLine("Please enter the number of the post you wish to vote on: "); feedMemeNumber = int.Parse(Console.ReadLine()); if (feedMemeNumber <= 5 && feedMemeNumber >= 1) { break; } if ((yourFeed[feedMemeNumber - 1] is VideoPost)) { break; } warningMessageNumber_NotValid(); } while (true); Console.WriteLine("Choose the option to vote for: (Name of the option. Case sensitive)"); var feedMemeChoice = Console.ReadLine(); var post = yourFeed[feedMemeNumber - 1] as VideoPost; post.Options[feedMemeChoice]++; setUp.UpdatePosts(post); } input = "0"; break; case "4": Console.WriteLine("Please enter a username you wish to add to your blocked list:"); var BlockedUser = Console.ReadLine(); var findUserToBlock = services.GetUser().FirstOrDefault(u => BlockedUser == u.UserName); if (findUserToBlock == null) { Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine("|| WARNING: USER DOES NOT EXIST! ||"); Console.WriteLine("------------------------------------------------------------------------------------------"); input = "0"; break; } if (Currentuser.BlockedList.Contains(findUserToBlock.UserId)) { Currentuser.BlockedList.Add(findUserToBlock.UserId); Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine("|| A USER HAS BEEN BLOCKED SUCCESSFULLY! ||"); Console.WriteLine("------------------------------------------------------------------------------------------"); } else { Currentuser.BlockedList.Remove(findUserToBlock.UserId); Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine("|| A USER HAS BEEN UNBLOCKED SUCCESSFULLY! ||"); Console.WriteLine("------------------------------------------------------------------------------------------"); } services.UpdateUser(Currentuser.UserId, Currentuser); input = "0"; break; case "5": Console.WriteLine("Please enter the username you want to follow/unfollow: "); var UserToFollow = Console.ReadLine(); var findUserToFollow = services.GetUser().FirstOrDefault(u => UserToFollow == u.UserName); if (findUserToFollow == null) { Console.WriteLine("\nUser does not exist"); input = "0"; break; } if (Currentuser.FriendList.Contains(findUserToFollow.UserId)) // hvis user findes i db vil den gå ind i if noget med circle { if (Currentuser.Circles == findUserToFollow.Circles) // hvis der findes et circlename i currentusers circles, som også findes i findUsertoFollows circles { Currentuser.FriendList.Add(findUserToFollow.UserId); Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine("|| A USER HAS BEEN ADDED TO YOUR FRIENDLIST SUCCESSFULLY! ||"); Console.WriteLine("------------------------------------------------------------------------------------------"); break; } Currentuser.FriendList.Add(findUserToFollow.UserId); Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine("|| A USER HAS BEEN ADDED TO YOUR FRIENDLIST SUCCESSFULLY! ||"); Console.WriteLine("------------------------------------------------------------------------------------------"); } else { Currentuser.FriendList.Remove(findUserToFollow.UserId); Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine("|| A USER HAS BEEN REMOVED FROM YOUR FRIENDLIST SUCCESSFULLY! ||"); Console.WriteLine("------------------------------------------------------------------------------------------"); } //Currentuser.FriendList.Add(findUserToFollow.UserId); services.UpdateUser(Currentuser.UserId, Currentuser); input = "0"; break; case "6": setUp.newUser(); break; case "7": setUp.AddCircle(Currentuser); input = "0"; break; case "8": Currentuser = setUp.UserLogin(); input = "0"; break; case "9": return; default: Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine("|| WARNING: WRONG COMMAND - PLEASE TRY AGAIN ||"); Console.WriteLine("------------------------------------------------------------------------------------------"); input = "0"; break; } } }