Пример #1
0
        public ActionResult Create(Message message)
        {
            if (ModelState.IsValid)
            {
                message.SenderID = db.Users.Single(u => u.UserName == User.Identity.Name).ID;
                message.SendDate = DateTime.Now;
                db.Messages.Add(message);
                db.SaveChanges();
            }

            ViewBag.Receiver = db.Users.Find(message.ReceiverID);
            return(RedirectToAction("Messages", new { id = message.ReceiverID }));
        }
Пример #2
0
        public ActionResult Create(Exercise exercise)
        {
            if (ModelState.IsValid)
            {
                HttpPostedFileBase file = Request.Files["ExerciseScheme"];
                if (file != null && file.ContentLength > 0)
                {
                    exercise.ExerciseScheme = System.Guid.NewGuid().ToString() + file.FileName;
                    file.SaveAs(HttpContext.Server.MapPath("~/Images/ExerciseSchemas/") + exercise.ExerciseScheme);
                }
                db.Exercises.Add(exercise);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(exercise));
        }
Пример #3
0
        public ActionResult Create(Team team)
        {
            if (User.IsInRole("Admin"))
            {
                if (ModelState.IsValid)
                {
                    var coach = db.Coaches.Find(team.CoachID);
                    var club  = db.Clubs.Find(team.ClubID);
                    if (coach.ClubID == team.ClubID)
                    {
                        db.Teams.Add(team);
                        db.SaveChanges();
                        return(RedirectToAction("Details", new { id = team.ID }));
                    }
                    else
                    {
                        ViewBag.ErrorMessage = $"Trener {coach.User.UserName} nie jest zatrudniony w klubie {club.Name}. Wybierz trenera pracującego w tym klubie.";
                    }
                }
                ViewBag.ClubID  = new SelectList(db.Clubs, "ID", "Name", team.ClubID);
                ViewBag.CoachID = new SelectList(db.Coaches.Select(c => new { ID = c.ID, Name = c.User.UserName + " - " + c.Club.Name }), "ID", "Name", team.CoachID);
            }
            else
            {
                User    user    = db.Users.Single(u => u.UserName == User.Identity.Name);
                Manager manager = db.Managers.Single(m => m.UserID == user.ID);

                if (ModelState.IsValid)
                {
                    team.ClubID = manager.ClubID;
                    db.Teams.Add(team);
                    db.SaveChanges();
                    return(RedirectToAction("Details", new { id = team.ID }));
                }

                var coaches = db.Coaches
                              .Where(c => c.ClubID == manager.ClubID)
                              .Select(c => new { ID = c.ID, Name = c.User.UserName });
                ViewBag.CoachID = new SelectList(coaches, "ID", "Name");
            }
            return(View(team));
        }
        public ActionResult Create(TrainingOutline trainingOutline, List <int> exercisesList)
        {
            if (ModelState.IsValid)
            {
                db.TrainingOutlines.Add(trainingOutline);
                db.SaveChanges();

                if (exercisesList != null && exercisesList.Count > 0)
                {
                    trainingOutline.TrainingOutlinesExercises = new List <TrainingOutlinesExercise>();
                    exercisesList.ForEach(e => db.TrainingOutlinesExercises.Add(new TrainingOutlinesExercise {
                        ExerciseID = e, TrainingOutlineID = trainingOutline.ID
                    }));
                }
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.Exercises = db.Exercises;
            return(View(trainingOutline));
        }
Пример #5
0
        public ActionResult CheckAttendance(int trainingID, List <int> playersList)
        {
            Training training = db.Trainings.Find(trainingID);

            if (ModelState.IsValid)
            {
                training.IsAttendanceListChecked = true;

                db.Teams.Single(t => t.ID == training.TeamID).Players.ForEach(p => db.Attendances.Add(new Attendance {
                    PlayerID = p.ID, TrainingID = trainingID, WasPresent = false
                }));;
                db.SaveChanges();

                playersList.ForEach(p => db.Attendances.Single(a => a.PlayerID == p && a.TrainingID == trainingID).WasPresent = true);
                db.SaveChanges();

                return(RedirectToAction("Details", new { id = trainingID }));
            }

            return(View(training));
        }
Пример #6
0
        public ActionResult Create(Player player)
        {
            if (User.IsInRole("Admin"))
            {
                if (ModelState.IsValid)
                {
                    var club = db.Clubs.Find(player.ClubID);
                    var team = db.Teams.Find(player.TeamID);

                    if (club.ID == team.ClubID)
                    {
                        db.Players.Add(player);
                        db.SaveChanges();

                        var userModel = db.Users.Find(player.UserID);
                        var user1     = UserManager.FindByName(userModel.UserName);
                        UserManager.AddToRole(user1.Id, "Player");
                        db.SaveChanges();

                        return(RedirectToAction("Details", new { id = player.ID }));
                    }
                    else
                    {
                        ViewBag.ErrorMessage = $"Drużyna {team.Name} nie należy do klubu {club.Name}. Wybierz drużynę należącą do danego klubu.";
                    }
                }

                ViewBag.ClubID = new SelectList(db.Clubs, "ID", "Name", player.ClubID);
                ViewBag.TeamID = new SelectList(db.Teams.Select(t => new { ID = t.ID, Name = t.Name + " (" + t.Club.Name + ")" }), "ID", "Name", player.TeamID);
                var usersNotPlayers = db.Users.Where(u => !db.Players.Any(p => p.UserID == u.ID));
                ViewBag.UserID = new SelectList(usersNotPlayers, "ID", "UserName", player.UserID);
            }
            else
            {
                if (ModelState.IsValid)
                {
                    Team team = db.Teams.Find(player.TeamID);
                    player.ClubID = db.Clubs.Find(team.ClubID).ID;
                    db.Players.Add(player);
                    db.SaveChanges();

                    var userModel = db.Users.Find(player.UserID);
                    var user1     = UserManager.FindByName(userModel.UserName);
                    UserManager.AddToRole(user1.Id, "Player");
                    db.SaveChanges();

                    return(RedirectToAction("Details", new { id = player.ID }));
                }
                User    user    = db.Users.Single(u => u.UserName == User.Identity.Name);
                Manager manager = db.Managers.Single(m => m.UserID == user.ID);
                Club    club1   = db.Clubs.Find(manager.ClubID);

                ViewBag.TeamID = new SelectList(db.Teams.Where(t => t.ClubID == club1.ID), "ID", "Name");
                var usersNotPlayers1 = db.Users.Where(u => !db.Players.Any(p => p.UserID == u.ID));
                ViewBag.UserID = new SelectList(usersNotPlayers1, "ID", "UserName");
            }

            return(View(player));
        }
Пример #7
0
        public ActionResult Create(Club club, int?userID)
        {
            if (ModelState.IsValid)
            {
                HttpPostedFileBase file = Request.Files["Logo"];
                if (file != null && file.ContentLength > 0)
                {
                    club.Logo = System.Guid.NewGuid().ToString() + file.FileName;
                    file.SaveAs(HttpContext.Server.MapPath("~/Images/Logos/") + club.Logo);
                }

                db.Clubs.Add(club);
                db.SaveChanges();

                User user;
                if (User.IsInRole("Admin"))
                {
                    user = db.Users.Single(u => u.ID == userID);
                    Manager createdManager = new Manager {
                        UserID = (int)userID, ClubID = club.ID
                    };
                    db.Managers.Add(createdManager);
                    db.SaveChanges();
                }
                else
                {
                    user = db.Users.Single(u => u.UserName == User.Identity.Name);
                    Manager manager = new Manager {
                        UserID = user.ID, ClubID = club.ID
                    };
                    db.Managers.Add(manager);
                    db.SaveChanges();
                }

                var user1 = UserManager.FindByName(user.UserName);
                UserManager.AddToRole(user1.Id, "Manager");
                db.SaveChanges();

                if (User.IsInRole("Admin"))
                {
                    return(RedirectToAction("Details", new { id = club.ID }));
                }
                else
                {
                    return(RedirectToAction("ManagersClub"));
                }
            }

            var users = db.Users
                        .Where(u => !db.Managers.Any(m => m.UserID == u.ID))
                        .Select(u => new { ID = u.ID, Name = u.UserName });

            ViewBag.userID = new SelectList(users, "ID", "Name");

            return(View(club));
        }
Пример #8
0
        public async Task <ActionResult> Register(RegisterViewModel model, string firstName, string lastName, DateTime birthDate, string phoneNumber)
        {
            if (ModelState.IsValid)
            {
                var applicationUser = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(applicationUser, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(applicationUser, isPersistent : false, rememberBrowser : false);

                    User user = new User {
                        UserName = model.Email, FirstName = firstName, LastName = lastName, BirthDate = birthDate, PhoneNumber = phoneNumber
                    };

                    HttpPostedFileBase file = Request.Files["photo"];
                    if (file != null && file.ContentLength > 0)
                    {
                        user.Photo = System.Guid.NewGuid().ToString() + file.FileName;
                        file.SaveAs(HttpContext.Server.MapPath("~/Images/Photos/") + user.Photo);
                    }

                    ClubManagerContext db = new ClubManagerContext();
                    db.Users.Add(user);
                    db.SaveChanges();
                    // Aby uzyskać więcej informacji o sposobie włączania potwierdzania konta i resetowaniu hasła, odwiedź stronę https://go.microsoft.com/fwlink/?LinkID=320771
                    // Wyślij wiadomość e-mail z tym łączem
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Potwierdź konto", "Potwierdź konto, klikając <a href=\"" + callbackUrl + "\">tutaj</a>");

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // Dotarcie do tego miejsca wskazuje, że wystąpił błąd, wyświetl ponownie formularz
            return(View(model));
        }
Пример #9
0
        public ActionResult Create(Coach coach)
        {
            if (User.IsInRole("Admin"))
            {
                if (ModelState.IsValid)
                {
                    db.Coaches.Add(coach);
                    db.SaveChanges();

                    var userModel = db.Users.Find(coach.UserID);
                    var user1     = UserManager.FindByName(userModel.UserName);
                    UserManager.AddToRole(user1.Id, "Coach");
                    db.SaveChanges();

                    return(RedirectToAction("Details", new { id = coach.ID }));
                }

                ViewBag.ClubID = new SelectList(db.Clubs, "ID", "Name", coach.ClubID);
                ViewBag.UserID = new SelectList(db.Users, "ID", "UserName", coach.UserID);
            }
            else
            {
                User    user    = db.Users.Single(u => u.UserName == User.Identity.Name);
                Manager manager = db.Managers.Single(m => m.UserID == user.ID);

                if (ModelState.IsValid)
                {
                    coach.ClubID = manager.ClubID;
                    db.Coaches.Add(coach);
                    db.SaveChanges();

                    var userModel = db.Users.Find(coach.UserID);
                    var user1     = UserManager.FindByName(userModel.UserName);
                    UserManager.AddToRole(user1.Id, "Coach");
                    db.SaveChanges();

                    return(RedirectToAction("Details", new { id = coach.ID }));
                }

                var coachesInOtherClubs = db.Coaches.Where(c => c.ClubID != manager.ClubID);
                var users = db.Users.Where(u => !coachesInOtherClubs.Any(c => c.UserID == u.ID));
                ViewBag.UserID = new SelectList(users, "ID", "UserName");
            }

            return(View(coach));
        }