Пример #1
0
        public async Task <ActionResult> Edit(AssignedClassesViewModel assignedClass)
        {
            if (ModelState.IsValid)
            {
                var studentName = await Db.Students.AsNoTracking().Where(x => x.StudentId.Equals(assignedClass.StudentId))
                                  .Select(s => s.FullName)
                                  .FirstOrDefaultAsync();

                var assigClass = new AssignedClass()
                {
                    AssignedClassId = assignedClass.AssignedClassId,
                    StudentId       = assignedClass.StudentId.ToString(),
                    ClassName       = assignedClass.ClassName,
                    TermName        = assignedClass.TermName.ToString(),
                    SessionName     = assignedClass.SessionName,
                    SchoolId        = userSchool
                };
                Db.Entry(assigClass).State = EntityState.Modified;
                await Db.SaveChangesAsync();

                TempData["UserMessage"] = "Student Class Updated Successfully.";
                TempData["Title"]       = "Success.";
                return(RedirectToAction("Index"));
            }
            ViewBag.StudentId   = new MultiSelectList(Db.Students.AsNoTracking(), "StudentID", "FullName");
            ViewBag.SessionName = new SelectList(Db.Sessions.AsNoTracking(), "SessionName", "SessionName");
            ViewBag.ClassName   = new SelectList(Db.Classes.AsNoTracking(), "FullClassName", "FullClassName");
            ViewBag.TermName    = new SelectList(Db.Terms.AsNoTracking(), "TermName", "TermName");
            return(View(assignedClass));
        }
Пример #2
0
        public async Task <ActionResult> Create(AssignedClassesViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.StudentId != null)
                {
                    int    counter  = 0;
                    string theClass = "";
                    foreach (var item in model.StudentId)
                    {
                        var countFromDb = await Db.AssignedClasses.AsNoTracking().CountAsync(x => x.TermName.Equals(model.TermName.ToString()) &&
                                                                                             x.SessionName.Equals(model.SessionName) &&
                                                                                             x.StudentId.Equals(item));

                        if (countFromDb >= 1)
                        {
                            TempData["UserMessage"] = "You have already Assigned Class these student";
                            TempData["Title"]       = "Error.";
                            ViewBag.StudentId       = new MultiSelectList(Db.Students.AsNoTracking(), "StudentID", "FullName");
                            ViewBag.SessionName     = new SelectList(Db.Sessions.AsNoTracking(), "SessionName", "SessionName");
                            ViewBag.ClassName       = new SelectList(Db.Classes.AsNoTracking(), "FullClassName", "FullClassName");
                            ViewBag.TermName        = new SelectList(Db.Terms.AsNoTracking(), "TermName", "TermName");
                            return(View(model));
                        }
                        else
                        {
                            var studentName = await Db.Students.AsNoTracking().Where(x => x.StudentId.Equals(item))
                                              .Select(s => s.FullName)
                                              .FirstOrDefaultAsync();

                            var assigClass = new AssignedClass()
                            {
                                StudentId   = item,
                                ClassName   = model.ClassName,
                                TermName    = model.TermName,
                                SessionName = model.SessionName,
                                StudentName = studentName,
                                SchoolId    = userSchool
                            };
                            Db.AssignedClasses.Add(assigClass);
                            counter += 1;
                            theClass = model.ClassName;
                        }
                    }

                    await Db.SaveChangesAsync();

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

            ViewBag.StudentId   = new MultiSelectList(Db.Students.AsNoTracking(), "StudentID", "FullName");
            ViewBag.SessionName = new SelectList(Db.Sessions.AsNoTracking(), "SessionName", "SessionName");
            ViewBag.ClassName   = new SelectList(Db.Classes.AsNoTracking(), "FullClassName", "FullClassName");
            ViewBag.TermName    = new SelectList(Db.Terms.AsNoTracking(), "TermName", "TermName");
            return(View(model));
        }
Пример #3
0
        public async Task <ActionResult> Save(AssignedClass assignedClass)
        {
            var status  = false;
            var message = string.Empty;

            if (ModelState.IsValid)
            {
                if (assignedClass.AssignedClassId > 0)
                {
                    assignedClass.SchoolId        = userSchool;
                    Db.Entry(assignedClass).State = EntityState.Modified;
                    message = "Class Updated Successfully...";
                }
                else
                {
                    assignedClass.SchoolId = userSchool;
                    Db.AssignedClasses.Add(assignedClass);
                    message = "Class Created Successfully...";
                }
                await Db.SaveChangesAsync();

                status = true;
            }
            return(new JsonResult {
                Data = new { status = status, message = message }
            });
            //return View(subject);
        }
Пример #4
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            AssignedClass assignedClass = await Db.AssignedClasses.FindAsync(id);

            if (assignedClass != null)
            {
                Db.AssignedClasses.Remove(assignedClass);
            }
            await Db.SaveChangesAsync();

            TempData["UserMessage"] = "You have removed Student from Class";
            TempData["Title"]       = "Deleted.";
            return(RedirectToAction("Index"));
        }
Пример #5
0
        // GET: AssignedClasses/Delete/5
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AssignedClass assignedClass = await Db.AssignedClasses.FindAsync(id);

            if (assignedClass == null)
            {
                return(HttpNotFound());
            }
            return(View(assignedClass));
        }
Пример #6
0
        // GET: AssignedClasses/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AssignedClass assignedClass = await Db.AssignedClasses.FindAsync(id);

            if (assignedClass == null)
            {
                return(HttpNotFound());
            }
            var myModel = new AssignedClassesViewModel();

            myModel.AssignedClassId = assignedClass.AssignedClassId;
            ViewBag.StudentId       = new MultiSelectList(Db.Students.AsNoTracking(), "StudentID", "FullName");
            ViewBag.SessionName     = new SelectList(Db.Sessions.AsNoTracking(), "SessionName", "SessionName");
            ViewBag.ClassName       = new SelectList(Db.Classes.AsNoTracking(), "FullClassName", "FullClassName");
            return(View(myModel));
        }