Ejemplo n.º 1
0
        public async Task <ActionResult> Create(AssignSubjectViewModel model)
        {
            if (ModelState.IsValid)
            {
                int    counter  = 0;
                string theClass = String.Empty;
                if (model.SubjectId != null)
                {
                    foreach (var term in model.TermName)
                    {
                        foreach (var item in model.SubjectId)
                        {
                            var CA = Db.AssignSubjects.Where(x => x.ClassName.Equals(model.ClassName) &&
                                                             x.SubjectId.Equals(item) &&
                                                             x.SchoolId.Equals(userSchool));
                            var countFromDb = await CA.CountAsync();

                            if (countFromDb >= 1)
                            {
                                TempData["UserMessage"] =
                                    $"Admin have already assigned {item} subject to {model.ClassName} Class";
                                TempData["Title"] = "Error.";
                                ViewBag.SubjectId = new MultiSelectList(await _query.SubjectListAsync(userSchool), "SubjectId", "SubjectName");
                                ViewBag.ClassName = new SelectList(await _query.ClassListAsync(userSchool),
                                                                   "FullClassName", "FullClassName");
                                ViewBag.TermName = new MultiSelectList(Db.Terms.AsNoTracking(), "TermName", "TermName");
                                return(View(model));
                            }
                            var assigSubject = new AssignSubject
                            {
                                ClassName = model.ClassName,
                                SubjectId = item,
                                TermName  = term,
                                SchoolId  = userSchool
                            };
                            Db.AssignSubjects.Add(assigSubject);
                            counter += 1;
                            theClass = model.ClassName;
                        }
                    }
                    await Db.SaveChangesAsync();

                    TempData["UserMessage"] = $" You have Assigned {counter} Subject(s)  to {theClass} Successfully.";
                    TempData["Title"]       = "Success.";
                    return(RedirectToAction("Index", "AssignSubjects"));
                }
            }

            ViewBag.SubjectId = new MultiSelectList(await _query.SubjectListAsync(userSchool), "SubjectId", "SubjectName");
            ViewBag.ClassName = new SelectList(await _query.ClassListAsync(userSchool), "FullClassName", "FullClassName");
            ViewBag.TermName  = new MultiSelectList(Db.Terms.AsNoTracking(), "TermName", "TermName");
            return(View(model));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> AddClassSubject(AssignSubjectViewModel objAssignSubjectVM)
        {
            if (ModelState.IsValid)
            {
                List <string> lstSubject = Request.Form["lstSubject"].ToList();


                var ClassSection = await _AssignSubjectRepository.GetClassSectionById(objAssignSubjectVM.Class_Id, objAssignSubjectVM.Section_Id);

                if (ClassSection != null)
                {
                    int result = 0;

                    if (lstSubject.Count > 0)
                    {
                        foreach (var objSubject in lstSubject)
                        {
                            var ClassSubject = new ClassSubject
                            {
                                ClassSection_Id = ClassSection.ClassSection_id,
                                Subject_Id      = Convert.ToInt32(objSubject)
                            };


                            result = await _AssignSubjectRepository.AddClassSubject(ClassSubject);
                        }

                        if (result > 0)
                        {
                            TempData["Success"] = "Assign Subject To Class Successfully";
                            return(RedirectToAction("Index", "assignSubject", new { area = "admin" }));
                        }
                        else
                        {
                            TempData["Error"] = "Assign Subject To Class Failed";
                            return(RedirectToAction("Index", "assignSubject", new { area = "admin" }));
                        }
                    }
                }
                else
                {
                    TempData["Error"] = "Kindly First Assign Section To Class";
                    return(RedirectToAction("Index", "assignSubject", new { area = "admin" }));
                }
            }

            return(View());
        }
Ejemplo n.º 3
0
        public IActionResult AddClassSubject()
        {
            var assignSubjectVM = new AssignSubjectViewModel();

            assignSubjectVM.Subjects = _AssignSubjectRepository.GetAllSubjects();

            assignSubjectVM.Classes = new List <SelectListItem>();
            assignSubjectVM.Classes.Insert(0, new SelectListItem()
            {
                Value = "-1", Text = "--Select--"
            });

            var objClass = _AssignSubjectRepository.GetAllClasses().ToList();

            foreach (var lstclass in objClass)
            {
                var selectListItem = new SelectListItem
                {
                    Text  = lstclass.Class_Name,
                    Value = lstclass.Class_Id.ToString(),
                };

                assignSubjectVM.Classes.Add(selectListItem);
            }

            assignSubjectVM.Sections = new List <SelectListItem>();
            assignSubjectVM.Sections.Insert(0, new SelectListItem()
            {
                Value = "-1", Text = "--Select--"
            });

            var objSection = _AssignSubjectRepository.GetAllSections().ToList();

            foreach (var lstSection in objSection)
            {
                var selectListItem = new SelectListItem
                {
                    Text  = lstSection.Section_Name,
                    Value = lstSection.Section_Id.ToString(),
                };

                assignSubjectVM.Sections.Add(selectListItem);
            }


            return(View(assignSubjectVM));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> EditClassSubject(AssignSubjectViewModel objClassSubjectModel)
        {
            if (ModelState.IsValid)
            {
                //get values of class subject
                AssignSubjectViewModel objAssignSubject = await _AssignSubjectRepository.GetClassSubjectById(objClassSubjectModel.ClassSubject_Id);

                //get class section id
                var ClassSection = await _AssignSubjectRepository.GetClassSectionById(objClassSubjectModel.Class_Id, objClassSubjectModel.Section_Id);

                if (ClassSection != null)
                {
                    //assign new values to class subject
                    ClassSubject objSubject = new ClassSubject();

                    objSubject.ClassSubject_Id = objAssignSubject.ClassSubject_Id;
                    objSubject.ClassSection_Id = ClassSection.ClassSection_id;
                    objSubject.Subject_Id      = objClassSubjectModel.Subject_Id;


                    int result = await _AssignSubjectRepository.UpdateClassSubject(objSubject);

                    if (result == 1)
                    {
                        TempData["Success"] = "Class Subject Updated Successfully ";
                        return(RedirectToAction("Index", "assignSubject", new { area = "admin" }));
                    }
                    else
                    {
                        TempData["Error"] = "Updating Class Subject Failed";
                        return(RedirectToAction("Index", "assignSubject", new { area = "admin" }));
                    }
                }
                else
                {
                    TempData["Error"] = "Class Section Didn't Find";
                    return(RedirectToAction("Index", "assignSubject", new { area = "admin" }));
                }
            }

            return(View());
        }
Ejemplo n.º 5
0
        public async Task <ActionResult> Save(AssignSubjectViewModel model)
        {
            bool   status  = false;
            string message = string.Empty;

            if (ModelState.IsValid)
            {
                int    counter  = 0;
                string theClass = String.Empty;
                if (model.AssignSubjectId > 0)
                {
                    var assignSubject = await Db.AssignSubjects.FindAsync(model.AssignSubjectId);

                    if (assignSubject != null)
                    {
                        assignSubject.SchoolId        = userSchool;
                        Db.Entry(assignSubject).State = EntityState.Modified;
                    }
                    message = "Class Updated Successfully...";
                }
                else
                {
                    foreach (var term in model.TermName)
                    {
                        foreach (var item in model.SubjectId)
                        {
                            var CA = Db.AssignSubjects.Where(x => x.ClassName.Equals(model.ClassName) &&
                                                             x.SubjectId.Equals(item) &&
                                                             x.SchoolId.Equals(userSchool));
                            var countFromDb = await CA.CountAsync();

                            if (countFromDb >= 1)
                            {
                                message = $"Admin have already assigned {item} subject to {model.ClassName} Class";
                                return(new JsonResult {
                                    Data = new { status = false, message = message }
                                });
                            }
                            var assigSubject = new AssignSubject
                            {
                                ClassName = model.ClassName,
                                SubjectId = item,
                                TermName  = term,
                                SchoolId  = userSchool
                            };
                            Db.AssignSubjects.Add(assigSubject);
                            counter += 1;
                            theClass = model.ClassName;
                        }
                    }
                    await Db.SaveChangesAsync();

                    message = $" You have Assigned {counter} Subject(s)  to {theClass} Successfully.";

                    return(new JsonResult {
                        Data = new { status = true, message = message }
                    });
                }
            }
            return(new JsonResult {
                Data = new { status = status, message = message }
            });
            //return View(subject);
        }