public ActionResult Create(Micropost micropost) { if (!Request.IsAuthenticated) { return(RedirectToAction("Create", "Sessions")); } int currentUserId = int.Parse(User.Identity.Name); var currentUser = db.Users.Find(currentUserId); micropost.User = currentUser; micropost.DateCreated = DateTime.Now; try { db.Microposts.Add(micropost); db.SaveChanges(); TempData["success"] = "A new micropost was successfully created."; return(RedirectToAction("Dashboard", "Home")); } catch { TempData["error"] = "Can not create a micropost."; return(RedirectToAction("Dashboard", "Home")); } }
public int Create(string content, ApplicationUser user) { var newM = new Micropost { Content = content, User = user, CreatedAt = DateTime.Now }; context.Microposts.Add(newM); context.SaveChanges(); return(newM.Id); }
public IActionResult Create([FromBody] MicropostRequest request) { var email = User.Claims.First(c => c.Type == ClaimTypes.Email).Value; var user = Db.Users.Single(u => u.Email == email); Db.Entry(user).Collection(u => u.Microposts).Load(); var post = new Micropost { Content = request.Content }; TryValidateModel(post); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } user.Microposts.Add(post); Db.SaveChanges(); return(Ok(post)); }
protected override void Seed(ApplicationDbContext context) { var userStore = new CustomUserStore(context); var userManager = new ApplicationUserManager(userStore); userManager.UserValidator = new UserValidator <ApplicationUser, int>(userManager) { AllowOnlyAlphanumericUserNames = false }; if (!context.Roles.Any(role => role.Name.Equals("Admin"))) { var roleStore = new CustomRoleStore(context); var roleManager = new RoleManager <CustomRole, int>(roleStore); var adminRole = new CustomRole("Admin"); roleManager.Create(adminRole); } if (!context.Users.Any(user => user.Email.Equals("*****@*****.**"))) { var first = new ApplicationUser() { FullName = "Example User", Email = "*****@*****.**", UserName = "******", EmailConfirmed = true }; userManager.Create(first, "foobar"); userManager.AddToRole(first.Id, "Admin"); } for (int i = 0; i < 99; i++) { var name = Name.FullName(); var email = $"example-{i + 1}@railstutorial.org"; const string password = "******"; var newUser = new ApplicationUser() { FullName = name, Email = email, UserName = email, EmailConfirmed = true }; if (!context.Users.Any(user => user.Email.Equals(email))) { var result = userManager.Create(newUser, password); if (!result.Succeeded) { throw new Exception(string.Join("\n", result.Errors)); } } } var allUsers = context.Users.OrderBy(user => user.Id).ToList(); var users = allUsers.Take(6).ToList(); for (int i = 0; i < 50; i++) { var content = Lorem.Sentence(5); foreach (var user in users) { Micropost m = new Micropost { Content = content, User = user, CreatedAt = DateTime.Now }; user.Microposts.Add(m); } } var mainUser = allUsers.First(); var following = allUsers.Where((user, index) => index > 0 && index < 50); var followers = allUsers.Where((user, index) => index > 1 && index < 40); foreach (var user in following) { mainUser.Follow(user); } foreach (var user in followers) { user.Follow(mainUser); } }