コード例 #1
0
        public IActionResult Create(DActivity active)
        {
            if (ModelState.IsValid)
            {
                DateTime ActivityDate = DateTime.Parse(active.Date);
                DateTime CurrentDate  = DateTime.Today;
                if (ActivityDate < CurrentDate)
                {
                    User User1 = context.Users.FirstOrDefault(u => u.UserId == HttpContext.Session.GetInt32("UserId"));
                    ViewBag.User = User1;
                    ModelState.AddModelError("Date", "Date cannot be in the past");
                    return(View("New"));
                }
                active.UserId = (int)HttpContext.Session.GetInt32("UserId");
                Join newJoin = new Join();
                context.Activities.Add(active);
                context.SaveChanges();
                newJoin.ActivityId = active.ActivityId;
                newJoin.UserId     = active.UserId;
                context.Joins.Add(newJoin);
                context.SaveChanges();
                // return Redirect("Dashboard");
                return(Redirect($"activity/{active.ActivityId}"));
            }
            User User = context.Users.FirstOrDefault(u => u.UserId == HttpContext.Session.GetInt32("UserId"));

            ViewBag.User = User;
            return(View("New"));
        }
コード例 #2
0
ファイル: HomeController.cs プロジェクト: luchkax/portfolio
 public IActionResult CreatePost(UserPost check)
 {
     int? id = HttpContext.Session.GetInt32("userId");
     if(id == null)
     {
         return RedirectToAction("RegisterPage", "User");                           
     }
     else
     {   
         if(ModelState.IsValid)
         {
             Post newPost = new Post
             {
                 Content = check.Content,
                 Created_At = DateTime.Now,
                 UserId = (int)id,
             };
             _context.Posts.Add(newPost);
             _context.SaveChanges();
             return RedirectToAction("Dashboard");
         }
         else
         {
             TempData["PostError"] = "Post must be at least 5 characters";
             return RedirectToAction("Dashboard");
         }
     }
 }
コード例 #3
0
        public IActionResult Dashboard()
        {
            if (HttpContext.Session.GetInt32("User") == null)
            {
                return(Redirect("/login"));
            }


            List <Wedding> expired = dbContext.weddings
                                     .Where(w => DateTime.Compare(w.Date, DateTime.Now) < 0)
                                     .ToList();

            foreach (Wedding wedding in expired)
            {
                dbContext.Remove(wedding);
            }
            dbContext.SaveChanges();

            List <Wedding> weddings = dbContext.weddings
                                      .Include(w => w.GuestList)
                                      .ThenInclude(gl => gl.Guest)
                                      .ToList();

            ViewBag.User = HttpContext.Session.GetInt32("User");
            return(View(weddings));
        }
コード例 #4
0
        public ActionResult Create([Bind(Include = "Id,Nom,Degats")] Arme arme)
        {
            if (ModelState.IsValid)
            {
                db.Armes.Add(arme);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(arme));
        }
コード例 #5
0
        public ActionResult Create([Bind(Include = "Id,Nom")] ArtMartial artMartial)
        {
            if (ModelState.IsValid)
            {
                db.ArtMartials.Add(artMartial);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(artMartial));
        }
コード例 #6
0
        public ActionResult Create(VModelSamourai vm)
        {
            if (ModelState.IsValid)
            {
                vm.Samourai.Arme = db.Armes.Find(vm.ArmeId);
                db.Samourais.Add(vm.Samourai);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(vm));
        }
コード例 #7
0
 public ActionResult Create(SamouraiViewModel svm)
 {
     if (ModelState.IsValid)
     {
         Samourai samourai = svm.Samourai;
         samourai.Arme = db.Armes.Find(svm.IdArme);
         db.Samourais.Add(samourai);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     //svm.Armes = db.Armes.Select(x => new SelectListItem() { Text = x.Nom, Value = x.Id.ToString() }).ToList();
     return(View(svm));
 }
コード例 #8
0
        public ActionResult Create(SamuraiViewModel svm)
        {
            var armesUsedIds = db.Samurais.Where(x => x.Arme != null).Select(x => x.Arme.Id).ToList();

            svm.armes       = db.Armes.Where(a => !armesUsedIds.Contains(a.Id)).Select(a => a).ToList();
            svm.ArtMartials = db.ArtMartials.ToList();
            if (ModelState.IsValid && SamuraiValidator.Validate(svm, ModelState, db))
            {
                db.Samurais.Add(svm.Samurai);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(svm));
        }
コード例 #9
0
        public IActionResult AddNinja(Ninja nin)
        {
            Ninja ninja = new Ninja
            {
                name        = nin.name,
                level       = nin.level,
                description = nin.description,
                dojo_id     = nin.dojo_id
            };

            _dContext.ninjas.Add(ninja);
            _dContext.SaveChanges();
            return(RedirectToAction("Ninjas"));
        }
コード例 #10
0
        public ActionResult Create(SamouraiViewModel vm)
        {
            if (ModelState.IsValid)
            {
                var samourai = vm.Samourai;

                samourai.Arme = db.Armes.Find(vm.ArmeIdSelected);

                db.Samourais.Add(samourai);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(GetSamouraiViewModel(vm.Samourai)));
        }
コード例 #11
0
        public ActionResult Create(SamouraiVM vm)
        {
            if (ModelState.IsValid)
            {
                vm.Samourai.ArtMartiaux = db.ArtMartials.Where(am => vm.IdArtMartiaux.Contains(am.Id)).ToList();

                db.Samourais.Add(vm.Samourai);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            vm.Armes        = db.Armes.ToList();
            vm.ArtsMartiaux = db.ArtMartials.ToList();
            return(View(vm));
        }
コード例 #12
0
 public ActionResult Create(SamouraiVM samouraiVM)
 {
     if (ModelState.IsValid)
     {
         if (samouraiVM.IdSelected.HasValue)
         {
             samouraiVM.Samourai.Arme = db.Armes.FirstOrDefault(a => a.Id == samouraiVM.IdSelected);
         }
         db.Samourais.Add(samouraiVM.Samourai);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     samouraiVM.Armes = db.Armes.ToList();
     return(View(samouraiVM));
 }
コード例 #13
0
        public IActionResult Register(Register regUser)
        {
            if (ModelState.IsValid)
            {
                User exists = _context.Users.SingleOrDefault(user => user.Email == regUser.Email);
                if (exists != null)
                {
                    ModelState.AddModelError("Email", "An account with this email already exists!");
                    return(View("Register"));
                }
                else
                {
                    PasswordHasher <Register> Hasher = new PasswordHasher <Register>();
                    string hashed  = Hasher.HashPassword(regUser, regUser.Password);
                    User   newUser = new User
                    {
                        FirstName = regUser.FirstName,
                        LastName  = regUser.LastName,
                        Email     = regUser.Email,
                        Password  = hashed
                    };
                    _context.Add(newUser);
                    _context.SaveChanges();
                    User user = _context.Users.Where(u => u.Email == regUser.Email).SingleOrDefault();
                    HttpContext.Session.SetInt32("userId", user.UserId);
                    HttpContext.Session.SetString("name", user.FirstName + " " + user.LastName);

                    return(RedirectToAction("Dashboard", "Home"));
                }
            }
            else
            {
                return(View("Register"));
            }
        }
コード例 #14
0
        public ActionResult Create(SamouraiViewModel vm)
        {
            if (ModelState.IsValid)
            {
                var samourai = vm.Samourai;

                samourai.Arme = db.Armes.Find(vm.ArmeIdSelected);

                if (vm.ListeIdArtsMartiauxSelected != null)
                {
                    vm.Samourai.ArtsMartiaux = db.ArtsMartiaux.Where(x => vm.ListeIdArtsMartiauxSelected.Contains(x.Id)).ToList();
                }

                db.Samourais.Add(samourai);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(GetSamouraiViewModel(vm.Samourai)));
        }
コード例 #15
0
        public ActionResult Create(SamouraiVM vm)
        {
            if (ModelState.IsValid)
            {
                vm.Samourai.Arme = db.Armes.Find(vm.ArmesId);
                if (vm.ArtMartialsId != null)
                {
                    foreach (var item in vm.ArtMartialsId)
                    {
                        vm.Samourai.Artmartials = db.ArtMartials.Where(x => vm.ArtMartialsId.Contains(x.Id)).ToList();
                    }
                }


                db.Samourais.Add(vm.Samourai);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(vm));
        }
コード例 #16
0
ファイル: HomeController.cs プロジェクト: luchkax/portfolio
        public IActionResult CreateActivity(ActivityCheck check)
        {
            int?id = HttpContext.Session.GetInt32("userId");

            if (id == null)
            {
                return(RedirectToAction("RegisterPage", "User"));
            }
            else
            {
                if (ModelState.IsValid)
                {
                    if (check.ActivityDate > DateTime.Now)
                    {
                        Activity newActivity = new Activity
                        {
                            Title        = check.Title,
                            ActivityTime = check.ActivityTime,
                            ActivityDate = check.ActivityDate,
                            Duration     = check.Duration,
                            Description  = check.Description,
                            UserId       = (int)HttpContext.Session.GetInt32("userId")
                        };
                        _context.Activities.Add(newActivity);
                        _context.SaveChanges();
                        return(RedirectToAction("ActivityPage", new{ activityId = newActivity.ActivityId }));
                    }
                    else
                    {
                        return(View("NewActivity"));
                    }
                }
                else
                {
                    return(View("NewActivity"));
                }
            }
        }
コード例 #17
0
        public ActionResult Create(SamouraiViewModel svm)
        {
            if (ModelState.IsValid)
            {
                if (svm.IdSelectedArme.HasValue)
                {
                    svm.Samourai.Arme = db.Armes.FirstOrDefault(a => a.Id == svm.IdSelectedArme);
                }
                if (svm.IdSelectedArtMartiaux.Count() > 0)
                {
                    svm.IdSelectedArtMartiaux.ForEach(idam => {
                        svm.Samourai.ArtsMartiaux.Add(db.ArtsMartiaux.FirstOrDefault(am => am.Id == idam));
                    });
                }

                db.Samourais.Add(svm.Samourai);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            svm.Armes        = db.Armes.Except(db.Samourais.Select(s => s.Arme)).ToList();
            svm.ArtsMartiaux = db.ArtsMartiaux.ToList();
            return(View(svm));
        }
コード例 #18
0
        public IActionResult RegProcess(RegisterForm sub)
        {
            if (dbContext.Users.FirstOrDefault(user => user.Email == sub.Email) != null)
            {
                ModelState.AddModelError("Email", "This email is already in use!");
            }
            if (sub.Password != sub.ConfirmPw)
            {
                ModelState.AddModelError("Password", "Passwords must match.");
            }
            if (sub.Password != null)
            {
                Regex regex = new Regex(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)");
                Match match = regex.Match(sub.Password);
                if (!match.Success)
                {
                    ModelState.AddModelError("Password", "Password must contain an uppercase, lowercase, numeric, and special character!");
                }
            }

            if (ModelState.IsValid)
            {
                User newUser = new User();
                newUser.Name  = sub.Name;
                newUser.Email = sub.Email;

                PasswordHasher <User> Hasher = new PasswordHasher <User>();
                newUser.PwHash = Hasher.HashPassword(newUser, sub.Password);

                System.Console.WriteLine("Id before db submit " + newUser.Id);
                dbContext.Add(newUser);
                dbContext.SaveChanges();
                HttpContext.Session.SetInt32("userID", newUser.Id);
                System.Console.WriteLine("Id after db submit " + newUser.Id);

                return(RedirectToAction("Wall", controllerName: "Home"));
            }
            else
            {
                return(View("Index"));
            }
        }
コード例 #19
0
        public IActionResult Register(User user)
        {
            if (ModelState.IsValid)
            {
                if (dbContext.users.Any(u => u.Email == user.Email))
                {
                    ModelState.AddModelError("Email", "Email already in use");
                    return(View("Index"));
                }
                PasswordHasher <User> hasher = new PasswordHasher <User>();
                user.Password = hasher.HashPassword(user, user.Password);

                dbContext.Add(user);
                dbContext.SaveChanges();

                HttpContext.Session.SetInt32("User", user.UserId);
                return(Redirect("/dashboard"));
            }
            return(View("Index"));
        }
コード例 #20
0
        public IActionResult Register(User user)
        {
            if (ModelState.IsValid)
            {
                var dbuser = context.Users.FirstOrDefault(u => u.Email == user.Email);
                if (context.Users.Any(u => u.Email == user.Email))
                {
                    ModelState.AddModelError("Email", "Email already in use!");
                    return(View("Index"));
                }
                PasswordHasher <User> Hasher = new PasswordHasher <User>();
                user.Password = Hasher.HashPassword(user, user.Password);
                context.Add(user);
                context.SaveChanges();
                HttpContext.Session.SetInt32("UserId", user.UserId);
                //

                return(RedirectToAction("Dashboard", "Activity"));
            }
            return(View("Index"));
        }
コード例 #21
0
        public IActionResult register(RegisterViewModel registerVM)
        {
            if (ModelState.IsValid)
            {
                //Check if user already exists
                List <User> ReturnValues = _context.Users.Where(u => u.Email.Equals(registerVM.Email)).ToList();
                foreach (var item in ReturnValues)
                {
                    if (item.Email == registerVM.Email)
                    {
                        TempData["error"] = "Email already registered. Please log-in.";
                        return(RedirectToAction("Index"));
                    }
                }
                User user = new User
                {
                    FirstName = registerVM.FirstName,
                    LastName  = registerVM.LastName,
                    Email     = registerVM.Email,
                    Password  = registerVM.Password,
                };

                //Hashed Password
                PasswordHasher <User> Hasher = new PasswordHasher <User>();
                user.Password = Hasher.HashPassword(user, user.Password);

                //Save to DB
                _context.Add(user);
                _context.SaveChanges();

                //set userid into session
                HttpContext.Session.SetInt32("user_id", user.UserId);
                return(RedirectToAction("Home"));
            }
            return(View("Index"));
        }
コード例 #22
0
        public IActionResult SubmitActivity(Activ sub)
        {
            User     loggedIn = dbContext.Users.Include(user => user.plans).ThenInclude(plan => plan.Activity).Where(user => user.Id == HttpContext.Session.GetInt32("userID")).FirstOrDefault();
            DateTime startOrig;
            DateTime endOrig;

            DateTime startNew;
            DateTime endNew;

            if (sub.TimeUnit == "hours")
            {
                sub.Duration = sub.Duration / 24;
            }
            else if (sub.TimeUnit == "minutes")
            {
                sub.Duration = sub.Duration / (60 * 24);
            }
            foreach (var plan in loggedIn.plans)
            {
                startOrig = plan.Activity.Date;
                endOrig   = plan.Activity.Date + plan.Activity.Duration;

                startNew = sub.Date.Date + sub.Time;
                endNew   = sub.Date.Date + sub.Time + sub.Duration;
                System.Console.WriteLine($"**** Is new ending {endNew} before the old start {startOrig} or is the new start {startNew} after the old end {endOrig}???");
                System.Console.WriteLine("endNew.CompareTo(startOrig) < 0 " + endNew.CompareTo(startOrig));
                System.Console.WriteLine("startNew.CompareTo(endOrig) > 0 " + startNew.CompareTo(endOrig));
                if ((endNew.CompareTo(startOrig) < 0) || (startNew.CompareTo(endOrig) > 0))
                {
                    System.Console.WriteLine("pass");
                }
                else
                {
                    ModelState.AddModelError("Date", "Schedule conflict with your events!");
                }
            }
            if (sub.Date + sub.Time <= DateTime.Now)
            {
                ModelState.AddModelError("Date", "Date must be in the future!");
            }

            if (ModelState.IsValid)
            {
                dbContext.Add(sub);
                dbContext.SaveChanges();

                Plan newPlan = new Plan();
                newPlan.User             = loggedIn;
                newPlan.Activity         = sub;
                newPlan.Activity.Date    = newPlan.Activity.Date.Date + sub.Time;
                newPlan.Activity.Creator = loggedIn;
                newPlan.Activity.Guests  = new List <Plan>();
                System.Console.WriteLine(newPlan.Activity.Guests);

                dbContext.Add(newPlan);
                newPlan.Activity.Guests.Add(newPlan);
                dbContext.SaveChanges();

                return(RedirectToAction("Wall"));
            }

            return(View("New"));
        }
コード例 #23
0
        public IActionResult Create(ValidPlayer Player1)
        {
            if (ModelState.IsValid)
            {
                PasswordHasher <ValidPlayer> Hasher = new PasswordHasher <ValidPlayer>();
                Player1.Password = Hasher.HashPassword(Player1, Player1.Password);
                Mage    newMage    = new Mage();
                Hunter  newHunter  = new Hunter();
                Priest  newPriest  = new Priest();
                Ninja   newNinja   = new Ninja();
                Samurai newSamurai = new Samurai();
                if (Player1.Class == "mage")
                {
                    newMage.Username = Player1.Username;
                    newMage.Password = Player1.Password;
                    newMage.Class    = Player1.Class;
                    _context.Add(newMage);
                    _context.SaveChanges();
                    HttpContext.Session.SetInt32("PlayerId", newMage.PlayerId);
                }
                if (Player1.Class == "priest")
                {
                    newPriest.Username = Player1.Username;
                    newPriest.Password = Player1.Password;
                    newPriest.Class    = Player1.Class;
                    _context.Add(newPriest);
                    _context.SaveChanges();
                    HttpContext.Session.SetInt32("PlayerId", newPriest.PlayerId);
                }

                if (Player1.Class == "hunter")
                {
                    newHunter.Username = Player1.Username;
                    newHunter.Password = Player1.Password;
                    newHunter.Class    = Player1.Class;
                    _context.Add(newHunter);
                    _context.SaveChanges();
                    HttpContext.Session.SetInt32("PlayerId", newHunter.PlayerId);
                }

                if (Player1.Class == "ninja")
                {
                    newNinja.Username = Player1.Username;
                    newNinja.Password = Player1.Password;
                    newNinja.Class    = Player1.Class;
                    _context.Add(newNinja);
                    _context.SaveChanges();
                    HttpContext.Session.SetInt32("PlayerId", newNinja.PlayerId);
                }

                if (Player1.Class == "samurai")
                {
                    newSamurai.Username = Player1.Username;
                    newSamurai.Password = Player1.Password;
                    newSamurai.Class    = Player1.Class;
                    _context.Add(newSamurai);
                    _context.SaveChanges();
                    HttpContext.Session.SetInt32("PlayerId", newSamurai.PlayerId);
                }
                _context.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View("Registration"));
        }