//fee list
        public IActionResult FeeList(int?page)
        {
            Int64 Count      = 1;
            var   pagenumber = page ?? 1;
            var   v1         = _context.AccountsManagement.ToList();
            var   v2         = _context.Class.ToList();
            var   q          = from vf in v1
                               join vc in v2 on vf.ClassId equals vc.ClassId
                               select new
            {
                pk      = vf.AccountsManagementId,
                feeamnt = vf.FeeAmount,
                clsnm   = vc.ClassName
            };

            var amvmlist = new List <AccMngViewModel>();

            foreach (var item in q)
            {
                AccMngViewModel amvm = new AccMngViewModel();
                amvm.serialnoVM = Count;
                Count++;
                amvm.feeamountVM = item.feeamnt;
                amvm.ClassName   = item.clsnm;
                amvm.PrimaryKey  = item.pk;
                amvmlist.Add(amvm);
            }
            var pg = amvmlist.ToPagedList(pagenumber, 5);

            return(View(pg));
        }
        public IActionResult SetFee(AccMngViewModel amvm)
        {
            var i = _context.Class.ToList();

            i.Insert(0, new Class {
                ClassId = 0, ClassName = "Select the class"
            });
            ViewBag.Class = i;
            if (amvm.classidVM == 0)
            {
                ViewBag.msg1 = "Please Choose a Class";
                return(View());
            }

            AccountsManagement am = new AccountsManagement();

            am.FeeAmount = amvm.feeamountVM;
            am.ClassId   = amvm.classidVM;
            var v = _context.AccountsManagement.Where(q => q.ClassId == amvm.classidVM).FirstOrDefault();

            if (v != null)
            {
                ViewBag.msg2 = "Fee is already set for this class!";
                return(View());
            }
            _context.AccountsManagement.Add(am);
            _context.SaveChanges();
            ModelState.Clear();

            return(View());
        }
        //update fee list
        public IActionResult UpdateFeeList(Int64 ufl)
        {
            //var i = _context.Class.ToList();
            //i.Insert(0, new Class { ClassId = 0, ClassName = "Select the class" });
            //ViewBag.Class = i;
            var             v    = _context.AccountsManagement.Where(q => q.AccountsManagementId == ufl).FirstOrDefault();
            AccMngViewModel amvm = new AccMngViewModel();

            amvm.classidVM   = v.ClassId;
            amvm.feeamountVM = v.FeeAmount;
            amvm.PrimaryKey  = v.AccountsManagementId;
            return(View(amvm));
        }
        public IActionResult UpdateFeeList(AccMngViewModel updt)
        {
            //var i = _context.Class.ToList();
            //i.Insert(0, new Class { ClassId = 0, ClassName = "Select the class" });
            //ViewBag.Class = i;
            //if (updt.classidVM == 0)
            //{
            //    ViewBag.msg = "Please Select a Class";
            //    return View();
            //}
            AccountsManagement am = new AccountsManagement();

            am.ClassId              = updt.classidVM;
            am.FeeAmount            = updt.feeamountVM;
            am.AccountsManagementId = updt.PrimaryKey;
            _context.AccountsManagement.Update(am);
            _context.SaveChanges();
            ModelState.Clear();
            return(RedirectToAction("FeeList"));
        }