public async Task <ActionResult> Create([Bind(Include = "Id,MinimumGrade,MaximumGrade,Remark,ClassName")] PrincipalCommentVm model)
        {
            if (ModelState.IsValid)
            {
                foreach (var item in model.ClassName)
                {
                    var myGrade = await Db.PrincipalComments.CountAsync(x => x.MaximumGrade.Equals(model.MaximumGrade) &&
                                                                        x.MinimumGrade.Equals(model.MinimumGrade) &&
                                                                        x.ClassName.Equals(item));

                    if (myGrade >= 1)
                    {
                        TempData["UserMessage"] = "Principal Comment Already Exist in Database.";
                        TempData["Title"]       = "Error.";
                        ViewBag.ClassName       = new SelectList(Db.SchoolClasses, "ClassCode", "ClassCode");
                        return(View(model));
                    }
                    var principalComment = new PrincipalComment()
                    {
                        MaximumGrade = model.MaximumGrade,
                        MinimumGrade = model.MinimumGrade,
                        Remark       = model.Remark,
                        ClassName    = item
                    };
                    Db.PrincipalComments.Add(principalComment);
                }
                await Db.SaveChangesAsync();

                ViewBag.ClassName       = new SelectList(Db.SchoolClasses.AsNoTracking(), "ClassCode", "ClassCode");
                TempData["UserMessage"] = "Principal Comment Added Successfully.";
                TempData["Title"]       = "Success.";
                return(RedirectToAction("Index"));
            }
            return(View(model));
        }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            PrincipalComment principalComment = await Db.PrincipalComments.FindAsync(id);

            if (principalComment != null)
            {
                Db.PrincipalComments.Remove(principalComment);
            }
            await Db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
        public async Task <ActionResult> Edit([Bind(Include = "Id,MinimumGrade,MaximumGrade,Remark,ClassName")] PrincipalComment principalComment)
        {
            if (ModelState.IsValid)
            {
                Db.Entry(principalComment).State = EntityState.Modified;
                await Db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.ClassName = new SelectList(Db.SchoolClasses.AsNoTracking(), "ClassCode", "ClassCode");
            return(View(principalComment));
        }
        // GET: PrincipalComments/Delete/5
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PrincipalComment principalComment = await Db.PrincipalComments.FindAsync(id);

            if (principalComment == null)
            {
                return(HttpNotFound());
            }
            return(View(principalComment));
        }
        // GET: PrincipalComments/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PrincipalComment principalComment = await Db.PrincipalComments.FindAsync(id);

            if (principalComment == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ClassName = new SelectList(Db.SchoolClasses.AsNoTracking(), "ClassCode", "ClassCode");
            return(View(principalComment));
        }