public IActionResult RegisterUser(RegisterUser newUser) { if (_context.Users.Where(user => user.Email == newUser.Email).SingleOrDefault() != null) { ModelState.AddModelError("Email", "Email already in use"); } PasswordHasher <RegisterUser> hasher = new PasswordHasher <RegisterUser>(); if (ModelState.IsValid) { User theUser = new User { FirstName = newUser.FirstName, LastName = newUser.LastName, Email = newUser.Email, Password = hasher.HashPassword(newUser, newUser.Password), CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now, }; User loggedUser = _context.Add(theUser).Entity; _context.SaveChanges(); HttpContext.Session.SetInt32("id", loggedUser.UserId); return(RedirectToAction("Index", "Activity")); } ; return(View("Index")); }
public IActionResult AddActivity(NewActivity newActivity) { if (HttpContext.Session.GetInt32("id") == null) { return(RedirectToAction("Index", "User")); } // insert part 1 here // part 1 begin var ParticipatingActivities = mycontext.Participate.Where(p => p.UserId == ActiveUser.UserId).Select(u => u.ParticipatingActivities).ToList(); foreach (var activity in ParticipatingActivities) { Console.WriteLine(activity.Date); DateTime start_date = activity.Date; DateTime end_date = start_date.AddMinutes((double)activity.Duration); Console.WriteLine(end_date); DateTime activity_date = newActivity.Date; DateTime activity_end_date = activity_date.AddMinutes((double)newActivity.Duration); // if(activity_date < start_date && activity_end_date < start_date) // { // newActivity.Date = newActivity.Date; // newActivity.Duration = newActivity.Duration; // } // else if (activity_date > start_date && activity_date > end_date ) // { // newActivity.Date = newActivity.Date; // newActivity.Duration = newActivity.Duration; // } // else // { // ModelState.AddModelError("Date", "Activity conflicts with another activity"); // } } var CreatedActivities = mycontext.Activities.Where(u => u.UserId == ActiveUser.UserId).Include(a => a.Coordinator).ToList(); foreach (var activity in CreatedActivities) { DateTime start_date = activity.Date; DateTime end_date = start_date.AddMinutes((double)activity.Duration); Console.WriteLine(end_date); DateTime activity_date = newActivity.Date; DateTime activity_end_date = activity_date.AddMinutes((double)newActivity.Duration); // if(activity_date < start_date && activity_end_date < start_date) // { // newActivity.Date = newActivity.Date; // newActivity.Duration = newActivity.Duration; // } // else if (activity_date > start_date && activity_date > end_date ) // { // newActivity.Date = newActivity.Date; // newActivity.Duration = newActivity.Duration; // } // else // { // ModelState.AddModelError("Date", "Activity conflicts with another activity"); // } } if (Request.Form["dur"] == "minutes") { newActivity.Duration = newActivity.Duration; } if (Request.Form["dur"] == "hours") { newActivity.Duration = newActivity.Duration * 60; } if (Request.Form["dur"] == "days") { newActivity.Duration = newActivity.Duration * 1440; } // end part 1 if (ModelState.IsValid) { Activity theActivity = new Activity() { Title = newActivity.Title, Date = newActivity.Date, Time = newActivity.Time, Duration = newActivity.Duration, Description = newActivity.Description, CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now, UserId = ActiveUser.UserId, }; mycontext.Add(theActivity); mycontext.SaveChanges(); Activity currentActivity = mycontext.Activities.Where(a => a.UserId == ActiveUser.UserId).Last(); int currentActivityId = currentActivity.ActivityId; return(Redirect($"ActivityDetails/{currentActivityId}")); } return(View("NewActivity")); }