public async Task <ActionResult> Add(StudentModels model)
        {
            if (!ModelState.IsValid)
            {
                return(View("Error"));
            }
            try
            {
                StudnetDB studnetDB = new StudnetDB();
                var       student   = new DAL.Student()
                {
                    Id = model.StudentId, Age = model.Age, Name = model.Name
                };

                foreach (var sub in model.Subjects.Where(s => s.Checked))
                {
                    student.Subjects.Add(studnetDB.Subjects.Where(s => s.SubjectId == sub.Id).First());
                }
                studnetDB.Students.Add(student);
                await studnetDB.SaveChangesAsync();

                return(RedirectToAction("Index", "Home"));
            }
            catch { return(View("Error")); }
        }
Exemplo n.º 2
0
 public ActionResult Index()
 {
     try
     {
         StudnetDB studnetDB = new StudnetDB();
         var       studList  = new List <StudentModels>();
         foreach (var stu in studnetDB.Students.ToList())
         {
             //here we can collect subjects for each student
             var subjects = new List <SubjectCheckModel>();
             foreach (var subj in stu.Subjects)
             {
                 subjects.Add(new SubjectCheckModel()
                 {
                     Id      = subj.SubjectId,
                     Checked = true,
                     Name    = subj.SubjectName
                 });
             }
             //assigne student information to student list
             studList.Add(new StudentModels()
             {
                 StudentId = stu.Id,
                 Name      = stu.Name,
                 Age       = Convert.ToInt32(stu.Age),
                 Subjects  = subjects
             });
         }
         ViewData["StudentList"] = studList;
         return(View());
     }
     catch { return(View("Error")); }
 }
Exemplo n.º 3
0
        public async Task <ActionResult> Add(SubjectModels model)
        {
            if (!ModelState.IsValid)
            {
                return(View("Error"));
            }
            try
            {
                StudnetDB studnetDB = new StudnetDB();
                studnetDB.Subjects.Add(entity: new Subject()
                {
                    SubjectId = model.SubjectId, SubjectName = model.Name
                });
                await studnetDB.SaveChangesAsync();

                return(RedirectToAction("Index", "Home"));
            }
            catch { return(View("Error")); }
        }
        public async Task <ActionResult> Delete(string id)
        {
            try
            {
                StudnetDB studnetDB = new StudnetDB();
                var       student   = studnetDB.Students.Where(s => s.Id == id).First();
                foreach (var sup in student.Subjects)
                {
                    var subject = studnetDB.Subjects.Where(s => s.SubjectId == sup.SubjectId).First();
                    if (subject == null)
                    {
                        return(View("Error"));
                    }
                    subject.Students.Remove(student);
                }
                studnetDB.Students.Remove(student);
                await studnetDB.SaveChangesAsync();

                return(RedirectToAction("Index", "Home"));
            }
            catch { return(View("Error")); }
        }
        public ActionResult Index(string id = null)
        {
            try
            {
                var       list      = new List <SubjectCheckModel>();
                StudnetDB studnetDB = new StudnetDB();
                foreach (var sub in studnetDB.Subjects.ToList())
                {
                    list.Add(item: new SubjectCheckModel()
                    {
                        Id = sub.SubjectId, Name = sub.SubjectName, Checked = false
                    });
                }

                StudentModels model = new StudentModels
                {
                    StudentId = Guid.NewGuid().ToString(),
                    Subjects  = list
                };
                return(View(model));
            }
            catch { return(View("Error")); }
        }
        public ActionResult Edite(string id)
        {
            try
            {
                StudnetDB studnetDB = new StudnetDB();
                var       subjects  = new List <SubjectCheckModel>();

                var student = studnetDB.Students.Where(s => s.Id == id).First();
                if (student == null)
                {
                    return(View("Error"));
                }

                StudentModels model = new StudentModels
                {
                    StudentId = id,
                    Age       = (int)student.Age,
                    Name      = student.Name,
                    Subjects  = subjects
                };

                foreach (var subj in studnetDB.Subjects.ToList())
                {
                    subjects.Add(new SubjectCheckModel()
                    {
                        Id      = subj.SubjectId,
                        Checked = student.Subjects.Contains(subj),
                        Name    = subj.SubjectName
                    });
                }
                return(View(model));
            }
            catch
            {
                return(View("Error"));
            }
        }
        public async Task <ActionResult> Edite(StudentModels model)
        {
            if (!ModelState.IsValid)
            {
                return(View("Error"));
            }
            try
            {
                StudnetDB studnetDB = new StudnetDB();
                var       student   = studnetDB.Students.Where(s => s.Id == model.StudentId).First();
                if (student == null)
                {
                    return(View("Error"));
                }

                foreach (var sub in model.Subjects)
                {
                    if (sub.Checked)
                    {
                        student.Subjects.Add(studnetDB.Subjects.Where(s => s.SubjectId == sub.Id).First());
                    }
                    else
                    {
                        var tempSub = student.Subjects.Where(s => s.SubjectId == sub.Id).FirstOrDefault();
                        if (student.Subjects.Contains(tempSub))
                        {
                            student.Subjects.Remove(tempSub);
                        }
                    }
                }
                student.Age = model.Age;
                await studnetDB.SaveChangesAsync();

                return(RedirectToAction("Index", "Home"));
            }
            catch { return(View("Error")); }
        }