Exemplo n.º 1
0
        public async Task <IActionResult> AddAthleteAsync([FromForm] AthleteViewModel athlete)
        {
            UserTestMapper UserTest  = new UserTestMapper();
            var            UserExist = (from user in _context.UserTestMappers.Where(t => t.TestID == TestID)
                                        select user.User.Name).ToList();
            var Tests = await _context.Tests.FirstOrDefaultAsync(t => t.ID == TestID);

            var Users = _context.Users.Where(u => u.Name == athlete.Name);

            if (!UserExist.Contains(athlete.Name))
            {
                UserTest.TestID = Tests.ID;
                foreach (User user in Users)
                {
                    UserTest.UserID = user.ID;
                }
                if (athlete.Distance != 0)
                {
                    UserTest.CooperTestDistance = athlete.Distance;
                    UserTest.FitnessRating      = CalculateFitness(athlete.Distance);
                }
                else
                {
                    UserTest.SprintTestTime = athlete.Time;
                }
                _context.UserTestMappers.Add(UserTest);
            }
            else
            {
                var UpdateUser = _context.UserTestMappers.Where(u => u.User.Name == athlete.Name).Where(u => u.TestID == TestID).FirstOrDefault();

                if (athlete.Distance != 0)
                {
                    UpdateUser.CooperTestDistance = athlete.Distance;
                    UpdateUser.FitnessRating      = CalculateFitness(athlete.Distance);
                }
                else
                {
                    UpdateUser.SprintTestTime = athlete.Time;
                }
                _context.UserTestMappers.Update(UpdateUser);
            }
            await _context.SaveChangesAsync();

            return(RedirectToAction("TestDetails", new { id = TestID }));
        }
        public async Task <IActionResult> AddAthleteAsync([FromRoute] int id, [FromBody] AthleteAddViewModel athlete)
        {
            UserTestMapper UserTest  = new UserTestMapper();
            var            UserExist = (from user in context.UserTestMappers.Where(t => t.TestID == id)
                                        select user.User.Name).ToList();
            var Tests = await context.Tests.FirstOrDefaultAsync(t => t.ID == id);

            var Users = context.Users.Where(u => u.Name == athlete.Name);

            if (!UserExist.Contains(athlete.Name))
            {
                UserTest.TestID = Tests.ID;
                foreach (User user in Users)
                {
                    UserTest.UserID = user.ID;
                }
                if (athlete.Distance != 0)
                {
                    UserTest.CooperTestDistance = athlete.Distance;
                    UserTest.FitnessRating      = CalculateFitness(athlete.Distance);
                }
                else
                {
                    UserTest.SprintTestTime = athlete.Time;
                }
                context.UserTestMappers.Add(UserTest);
            }
            else
            {
                var UpdateUser = context.UserTestMappers.Where(u => u.User.Name == athlete.Name).Where(u => u.TestID == id).FirstOrDefault();

                if (athlete.Distance != 0)
                {
                    UpdateUser.CooperTestDistance = athlete.Distance;
                    UpdateUser.FitnessRating      = CalculateFitness(athlete.Distance);
                }
                else
                {
                    UpdateUser.SprintTestTime = athlete.Time;
                }
                context.UserTestMappers.Update(UpdateUser);
            }
            await context.SaveChangesAsync();

            return(Ok(athlete));
        }
        public void AddAthlete(UserTestViewModel user)
        {
            UserTestMapper UserTest  = new UserTestMapper();
            var            UserExist = context.UserTestMappers.Where(t => t.TestID == TestId).Select(u => u.User.Name).ToList();
            int            User      = context.Users.Where(u => u.Name == user.Name).Select(u => u.ID).FirstOrDefault();

            if (!UserExist.Contains(user.Name))
            {
                UserTest.TestID = TestId;
                UserTest.UserID = User;
                if (user.Distance != null)
                {
                    UserTest.CooperTestDistance = user.Distance;
                    UserTest.FitnessRating      = CalculateFitness(user.Distance);
                }
                else
                {
                    UserTest.SprintTestTime = user.Time;
                }
                context.UserTestMappers.Add(UserTest);
            }
            else
            {
                var UpdateUser = context.UserTestMappers.Where(u => u.User.Name == user.Name).Where(u => u.TestID == TestId).FirstOrDefault();

                if (user.Distance != null)
                {
                    UpdateUser.CooperTestDistance = user.Distance;
                    UpdateUser.FitnessRating      = CalculateFitness(user.Distance);
                }
                else
                {
                    UpdateUser.SprintTestTime = user.Time;
                }
                context.UserTestMappers.Update(UpdateUser);
            }
        }