Beispiel #1
0
        public async Task <IActionResult> VedomostStudentMarksAddRow(VedomostStudentMark vedomostStudentMark)
        {
            _context.VedomostStudentMarks.Add(vedomostStudentMark);
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(VedomostStudentMarks), new { id = vedomostStudentMark.VedomostId }));
        }
        public async Task <IActionResult> Edit(int id,
                                               [Bind("VedomostStudentMarkId,VedomostId,StudentId,VedomostStudentMarkNameId")] VedomostStudentMark vedomostStudentMark)
        {
            if (id != vedomostStudentMark.VedomostStudentMarkId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(vedomostStudentMark);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!VedomostStudentMarkExists(vedomostStudentMark.VedomostStudentMarkId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("VedomostStudentMarks", "Vedomosti", new { id = vedomostStudentMark.VedomostId }));
            }
            ViewData["StudentId"]  = new SelectList(_context.Students, "StudentId", "StudentId", vedomostStudentMark.StudentId);
            ViewData["VedomostId"] = new SelectList(_context.Vedomosti, "VedomostId", "VedomostId", vedomostStudentMark.VedomostId);
            ViewData["VedomostStudentMarkNameId"] = new SelectList(_context.VedomostStudentMarkNames, "VedomostStudentMarkNameId", "VedomostStudentMarkNameId", vedomostStudentMark.VedomostStudentMarkNameId);
            return(View(vedomostStudentMark));
        }
Beispiel #3
0
        public async Task <IActionResult> VedomostStudentMarksDeleteRow(VedomostStudentMark vedomostStudentMark)
        {
            var deletingStudentMark = await _context.VedomostStudentMarks
                                      .Where(m => m.VedomostStudentMarkId == vedomostStudentMark.VedomostStudentMarkId)
                                      .SingleOrDefaultAsync();

            if (deletingStudentMark != null)
            {
                _context.VedomostStudentMarks.Remove(deletingStudentMark);
                await _context.SaveChangesAsync();
            }

            return(RedirectToAction(nameof(VedomostStudentMarks), new { id = vedomostStudentMark.VedomostId }));
        }
        public async Task <IActionResult> Create([Bind("VedomostStudentMarkId,VedomostId,StudentId,VedomostStudentMarkNameId")] VedomostStudentMark vedomostStudentMark)
        {
            if (ModelState.IsValid)
            {
                _context.Add(vedomostStudentMark);
                await _context.SaveChangesAsync();

                return(RedirectToAction("VedomostStudentMarks", "Vedomosti", new { id = vedomostStudentMark.VedomostId }));
            }
            ViewData["StudentId"]  = new SelectList(_context.Students, "StudentId", "StudentId", vedomostStudentMark.StudentId);
            ViewData["VedomostId"] = new SelectList(_context.Vedomosti, "VedomostId", "VedomostId", vedomostStudentMark.VedomostId);
            ViewData["VedomostStudentMarkNameId"] = new SelectList(_context.VedomostStudentMarkNames, "VedomostStudentMarkNameId", "VedomostStudentMarkNameId", vedomostStudentMark.VedomostStudentMarkNameId);
            return(View(vedomostStudentMark));
        }
        public async Task <IActionResult> CreateVedomostStudentMarks(int id)
        {
            var vedomost = await _context.Vedomosti
                           .Include(v => v.EduYear)
                           .Include(v => v.SemestrName)
                           .Include(v => v.StudentGroup.EduKurs)
                           .Include(v => v.StudentGroup.Students)
                           .Include(v => v.VedomostStudentMarks)
                           .SingleOrDefaultAsync(v => v.VedomostId == id);

            if (vedomost != null && vedomost.VedomostStudentMarks.Count == 0)
            {
                foreach (var student in vedomost.StudentGroup.Students)
                {
                    var studentMark = new VedomostStudentMark();
                    studentMark.StudentId = student.StudentId;
                    studentMark.VedomostStudentMarkNameId = (int)VedomostStudentMarkNameEnum.NeYavNeAtt;
                    vedomost.VedomostStudentMarks.Add(studentMark);
                }
                await _context.SaveChangesAsync();
            }

            return(RedirectToAction(nameof(Index)));
        }
Beispiel #6
0
        /// <summary>
        /// Добавление строки в ведомость
        /// </summary>
        /// <param name="id">УИД ведомости</param>
        /// <returns></returns>
        public async Task <IActionResult> VedomostStudentMarksAddRow(int id)
        {
            // Определяем группу, для которой составлена ведомость
            var studentGroup = await _context.Vedomosti.Where(v => v.VedomostId == id).SingleOrDefaultAsync();

            // Составляем полный список студентов группы, для которой составлена ведомость
            var students = await _context.Students.Where(s => s.StudentGroupId == studentGroup.StudentGroupId).ToListAsync();

            // Получаем уже имеющиеся записи ведомости
            var editingStudentMark = await _context.VedomostStudentMarks
                                     .Include(m => m.VedomostStudentMarkName)
                                     .Include(m => m.Student.StudentGroup.EduKurs)
                                     .Include(m => m.Vedomost.EduYear)
                                     .Include(m => m.Vedomost.SemestrName)
                                     .Where(m => m.VedomostId == id).ToListAsync();

            var addedStudentsIds = editingStudentMark.Select(m => m.StudentId).ToList();

            // Если уже имеются какие-либо записи,
            // исключаем студентов из списка,
            // чтобы избежать дублирования
            if (editingStudentMark.Count > 0)
            {
                foreach (var addedStudentsId in addedStudentsIds)
                {
                    var addedStudent = students.Where(s => s.StudentId == addedStudentsId).SingleOrDefault();
                    if (addedStudent != null)
                    {
                        students.Remove(addedStudent);
                    }
                }
            }

            if (students.Count > 0)
            {
                ViewBag.students = new SelectList(students,
                                                  "StudentId",
                                                  "StudentFio");
            }

            var vedomost = await _context.Vedomosti
                           .Include(v => v.EduYear)
                           .Include(v => v.SemestrName)
                           .Include(v => v.StudentGroup.EduKurs)
                           .Include(v => v.StudentGroup.Students)
                           .Include(v => v.VedomostStudentMarks)
                           .ThenInclude(m => m.VedomostStudentMarkName)
                           .SingleOrDefaultAsync(v => v.VedomostId == id);

            ViewBag.vedomost = vedomost;

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

            ViewBag.VedomostStudentMarkNameId = new SelectList(_context.VedomostStudentMarkNames,
                                                               "VedomostStudentMarkNameId",
                                                               "VedomostStudentMarkNameName");

            var vedomostStudentMark = new VedomostStudentMark();

            vedomostStudentMark.VedomostId = id;

            return(View(vedomostStudentMark));
        }