コード例 #1
0
        // GET: RaceRecords/Create
        public IActionResult CreatePersonal()
        {
            var viewModel = new RaceRecordViewModel();

//          ViewData["UserID"] = new SelectList(_context.Users, "UserID", "FirstName");
            return(View(viewModel));
        }
コード例 #2
0
        // GET: RaceRecords/Edit/5
        public async Task <IActionResult> EditPersonal(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            var race = await _context.RaceRecords.FindAsync(id);

            if (race == null)
            {
                return(NotFound());
            }

            var hours   = race.RaceTime / 3600;
            var minutes = (race.RaceTime % 3600) / 60;
            var seconds = ((race.RaceTime % 3600) % 60);

            var viewModel = new RaceRecordViewModel()
            {
                Record          = race,
                RaceTimeHours   = hours,
                RaceTimeMinutes = minutes,
                RaceTimeSeconds = seconds,
                RaceType        = race.RaceType
            };

            return(View(viewModel));
        }
コード例 #3
0
        public async Task <IActionResult> EditPersonal(int?id, [Bind("RaceType,RaceTimeHours,RaceTimeMinutes,RaceTimeSeconds")] RaceRecordViewModel viewModel)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var race = await _context.RaceRecords.FindAsync(id);

            if (race == null)
            {
                return(NotFound());
            }

            int totalTime = viewModel.RaceTimeHours * 3600 + viewModel.RaceTimeMinutes * 60 + viewModel.RaceTimeSeconds;
            int mileTime  = Functions.GetMileTime(totalTime, viewModel.RaceType);

            if (mileTime > 223)
            {
                race.RaceTime = totalTime;
                race.MileTime = mileTime;
                race.RaceType = viewModel.RaceType;

                if (ModelState.IsValid)
                {
                    try
                    {
                        _context.Update(race);
                        await _context.SaveChangesAsync();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!RaceRecordExists(viewModel.Record.RaceRecordID))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                    //return RedirectToAction(nameof(Index));

                    return(RedirectToAction("EditPersonalSuccess", "RaceRecords", race));
                }
            }
            else
            {
                viewModel.Record = race;
                ModelState.AddModelError("", "Wow, you must be fast!  Unfortnately your mile time must be greater than 3:43!");
            }

            return(View(viewModel));
        }
コード例 #4
0
        public async Task <IActionResult> CreatePersonal([Bind("RaceType,RaceTimeHours,RaceTimeMinutes,RaceTimeSeconds")] RaceRecordViewModel raceRecordView)
        {
            if (ModelState.IsValid)
            {
                var currid = GetUserID();

                //Load total time and race time, combining hours minutes and seconds from user entered data.
                int totalTime = raceRecordView.RaceTimeHours * 3600 + raceRecordView.RaceTimeMinutes * 60 + raceRecordView.RaceTimeSeconds;
                int mileTime  = Functions.GetMileTime(totalTime, raceRecordView.RaceType);

                //Ensure mile time is not too fast.
                if (mileTime > 223)
                {
                    var race = new RaceRecord
                    {
                        ProfileID = currid,
                        RaceTime  = totalTime,
                        RaceType  = raceRecordView.RaceType,
                        MileTime  = mileTime
                    };


                    try
                    {
                        //Add record to database.
                        _context.Add(race);
                        await _context.SaveChangesAsync();

                        //return RedirectToAction("Index", "Profiles", new {@show = "myracerecords"});
                        return(RedirectToAction("CreatePersonalSuccess", "RaceRecords", race));
                    }
                    catch (Exception ex)
                    {
                        return(View());
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Wow, you must be fast!  Unfortnately your mile time must be greater than 3:43!");
                }
            }
            //            ViewData["UserID"] = new SelectList(_context.Users, "UserID", "FirstName", raceRecord.ProfileID);
            return(View(raceRecordView));
        }