예제 #1
0
        // POST
        public async Task <IActionResult> AddRankAndForms(StudentAddStyle addStudentRank)
        {
            ViewData["Forms"] = new SelectList(_context.Form.Where(f => f.StyleId == addStudentRank.StyleId), "Id", "Name", addStudentRank.FormsList);
            ViewData["Ranks"] = new SelectList(_context.Rank.Where(f => f.StyleId == addStudentRank.StyleId), "Id", "Name", addStudentRank.RankId);

            if (ModelState.IsValid)
            {
                StudentStyle newStyle = new StudentStyle
                {
                    StudentId = addStudentRank.StudentId,
                    StyleId   = addStudentRank.StyleId,
                    RankId    = addStudentRank.RankId
                };
                _context.StudentStyle.Add(newStyle);

                foreach (int formid in addStudentRank.FormsList)
                {
                    StudentForms newForm = new StudentForms
                    {
                        StudentId = addStudentRank.StudentId,
                        StyleId   = addStudentRank.StyleId,
                        FormId    = formid
                    };
                    _context.StudentForms.Add(newForm);
                }

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Details), new { id = addStudentRank.StudentId }));
            }
            return(View(addStudentRank));
        }
예제 #2
0
        // POST
        public async Task <IActionResult> EditRankAndForms(StudentAddStyle editStudentRank)
        {
            ViewData["Forms"] = new SelectList(_context.Form.Where(f => f.StyleId == editStudentRank.StyleId), "Id", "Name", editStudentRank.FormsList);
            ViewData["Ranks"] = new SelectList(_context.Rank.Where(f => f.StyleId == editStudentRank.StyleId), "Id", "Name", editStudentRank.RankId);

            if (ModelState.IsValid)
            {
                StudentStyle updatedRank = _context.StudentStyle.First(s => s.StudentId == editStudentRank.StudentId && s.StyleId == editStudentRank.StyleId);
                updatedRank.RankId = editStudentRank.RankId;
                _context.StudentStyle.Update(updatedRank);

                List <StudentForms> deleteForms = _context.StudentForms.Where(s => s.StudentId == editStudentRank.StudentId && s.StyleId == editStudentRank.StyleId).ToList();
                foreach (StudentForms item in deleteForms)
                {
                    _context.StudentForms.Remove(item);
                }

                foreach (int formid in editStudentRank.FormsList)
                {
                    StudentForms newForm = new StudentForms
                    {
                        StudentId = editStudentRank.StudentId,
                        StyleId   = editStudentRank.StyleId,
                        FormId    = formid
                    };
                    _context.StudentForms.Add(newForm);
                }
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Details), new { id = editStudentRank.StudentId }));
            }
            return(View(editStudentRank));
        }
예제 #3
0
        public async Task <IActionResult> Create(StudentCreateViewModel newStudent)
        {
            if (ModelState.IsValid)
            {
                newStudent.Student.Active         = true;
                newStudent.Student.InternalRankId = 1;
                _context.Add(newStudent.Student);
                //create StudentStyle object here
                StudentStyle newstudentStyle = new StudentStyle
                {
                    StudentId = newStudent.Student.Id,
                    StyleId   = newStudent.StartingStyle,
                    RankId    = newStudent.StartingRank
                };
                _context.StudentStyle.Add(newstudentStyle);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(newStudent));
        }