public IActionResult EnterStdntInfo(FeeSubViewModel fsvm) { var c = _context.Class.ToList(); c.Insert(0, new Class { ClassId = 0, ClassName = "Select Class" }); ViewBag.vc = c; if (fsvm.classidVM == 0) { ViewBag.msg1 = "Please choose a class"; return(View()); } var s = _context.Student.Where(q => q.StudentId == fsvm.studentidVM && q.StudentClass == fsvm.classidVM).FirstOrDefault(); if (s == null) { ViewBag.msg2 = "Enter valid student ID"; return(View()); } //first time paying fee var fs1 = _context.FeeSubmission.Where(q => q.StudentId == fsvm.studentidVM && q.ClassId == fsvm.classidVM).FirstOrDefault(); if (fs1 == null) { return(RedirectToAction("ShowFeeDetailsNew", new { sid1 = fsvm.studentidVM, cid1 = fsvm.classidVM, date1 = fsvm.dateVM })); } //has due var fs2 = _context.FeeSubmission.Where(q => q.DueAmount == 0 && q.StudentId == fsvm.studentidVM && q.ClassId == fsvm.classidVM && q.Date.Month == fsvm.dateVM.Month && q.Date.Year == fsvm.dateVM.Year).LastOrDefault(); if (fs2 != null) { ViewBag.msg3 = "Paid"; return(View()); } var fs3 = _context.FeeSubmission.Where(q => q.DueAmount != 0 && q.StudentId == fsvm.studentidVM && q.ClassId == fsvm.classidVM && q.Date.Month == fsvm.dateVM.Month && q.Date.Year == fsvm.dateVM.Year).LastOrDefault(); if (fs3 != null) { return(RedirectToAction("DueForSameMonth", new { sid3 = fsvm.studentidVM, cid3 = fsvm.classidVM, date3 = fsvm.dateVM })); //only due, not next month fee } var fs4 = _context.FeeSubmission.Where(q => /*q.DueAmount != 0 &&*/ q.StudentId == fsvm.studentidVM && q.ClassId == fsvm.classidVM && q.Date.Month != fsvm.dateVM.Month /*&& q.Date.Year == fsvm.dateVM.Year*/).LastOrDefault(); if (fs4 != null) { return(RedirectToAction("ShowFeeDetails", new { sid2 = fsvm.studentidVM, cid2 = fsvm.classidVM, date2 = fsvm.dateVM })); } return(View()); }
public async Task <IActionResult> SearchResult(FeeSubViewModel cid, Int64 cid2) { if (cid2 != 0) { cid.classidVM = cid2; } var i = _context.Class.ToList(); i.Insert(0, new Class { ClassId = 0, ClassName = "Select the class" }); ViewBag.Class = i; var v = await _context.FeeSubmission.AsNoTracking().Where(q => q.ClassId == cid.classidVM).ToListAsync(); if (v == null) { return(View()); } var s = await _context.Student.AsNoTracking().Where(q => q.StudentClass == cid.classidVM).ToListAsync(); var c = await _context.Class.AsNoTracking().Where(q => q.ClassId == cid.classidVM).ToListAsync(); var query = from vq in v join sq in s on vq.ClassId equals sq.StudentClass join cq in c on vq.ClassId equals cq.ClassId select new { ClassName = cq.ClassName, StudentName = sq.StudentName, StudentId = sq.StudentId, Fee = vq.TotalFee, Due = vq.DueAmount }; var srchlist = new List <FeeSubViewModel>(); int count = 1; foreach (var item in query) { FeeSubViewModel fsvm = new FeeSubViewModel(); fsvm.serialnoVM = count; fsvm.classnameVM = item.ClassName; fsvm.studentidVM = item.StudentId; fsvm.studentnameVM = item.StudentName; fsvm.totalfeeVM = item.Fee; fsvm.dueamountVM = item.Due; srchlist.Add(fsvm); count++; } return(View(srchlist)); }
public IActionResult DueForSameMonth(Int64 sid3, Int64 cid3, DateTime date3) { var ef1 = _context.ExtraFee.Where(q => q.ClassId == cid3).ToList(); ef1.Insert(0, new ExtraFee { ExtraFeeAmount = 0, ExtraFeeTitle = "Select Extra Fee" }); ViewBag.v = ef1; var g = _context.FeeSubmission.Where(a => a.StudentId == sid3 && a.ClassId == cid3).LastOrDefault(); var j = Convert.ToInt32(date3.Month); ViewBag.showdate = g.Date.ToLongDateString(); var s = _context.Student.ToList(); var c = _context.Class.ToList(); var am = _context.AccountsManagement.ToList(); var ef = _context.ExtraFee.ToList(); var fs = _context.FeeSubmission.ToList(); var query = (from vs in s join vc in c on vs.StudentClass equals vc.ClassId join vam in am on vs.StudentClass equals vam.ClassId join vef in ef on vs.StudentClass equals vef.ClassId join vfs in fs on vs.StudentId equals vfs.StudentId where sid3 == vs.StudentId && cid3 == vc.ClassId select new { name = vs.StudentName, id = vs.StudentId, cls = vc.ClassName, clsid = vc.ClassId, due = vfs.DueAmount, total = vfs.DueAmount }).LastOrDefault(); FeeSubViewModel fsvm = new FeeSubViewModel(); fsvm.studentidVM = query.id; fsvm.studentnameVM = query.name; fsvm.classnameVM = query.cls; fsvm.classidVM = query.clsid; fsvm.dueamountVM = query.due; fsvm.totalfeeVM = query.total; fsvm.dateVM = date3; fsvm.ShouldtotalfeeVM = query.total; return(View(fsvm)); }
//first time paying fee method public IActionResult ShowFeeDetailsNew(Int64 sid1, Int64 cid1, DateTime date1) { var ef1 = _context.ExtraFee.Where(q => q.ClassId == cid1).ToList(); ef1.Insert(0, new ExtraFee { ExtraFeeAmount = 0, ExtraFeeTitle = "Select Extra Fee" }); ViewBag.v = ef1; var s = _context.Student.ToList(); var c = _context.Class.ToList(); var am = _context.AccountsManagement.ToList(); var ef2 = _context.ExtraFee.ToList(); var query = (from vs in s join vc in c on vs.StudentClass equals vc.ClassId join vam in am on vs.StudentClass equals vam.ClassId join vef in ef2 on vs.StudentClass equals vef.ClassId where sid1 == vs.StudentId && cid1 == vc.ClassId select new { name = vs.StudentName, id = vs.StudentId, cls = vc.ClassName, clsid = vc.ClassId, fee = vam.FeeAmount, }).FirstOrDefault(); FeeSubViewModel fsvm = new FeeSubViewModel(); fsvm.studentidVM = query.id; fsvm.studentnameVM = query.name; fsvm.classnameVM = query.cls; fsvm.classidVM = query.clsid; fsvm.feeamountVM = query.fee; fsvm.totalfeeVM = query.fee; fsvm.ShouldtotalfeeVM = query.fee; fsvm.dateVM = date1; return(View(fsvm)); }
public IActionResult PrintInvoice(FeeSubViewModel fs) { return(View(fs)); }
public IActionResult InvoiceOption(FeeSubViewModel fsvm) { return(View(fsvm)); }
public IActionResult SubmitFee(FeeSubViewModel fsvm) { var v = _context.FeeSubmission.Where(q => q.StudentId == fsvm.studentidVM).LastOrDefault(); FeeSubmission fs = new FeeSubmission(); fs.ClassId = fsvm.classidVM; fs.StudentId = fsvm.studentidVM; if (fsvm.totalfeeVM == 0) { ViewBag.msg4 = "You haven't entered any amount!"; return(View()); } if (v != null) { var f = Math.Abs(fsvm.ShouldtotalfeeVM - fsvm.totalfeeVM); if (f == 0) { fs.DueAmount = 0; } else { fs.DueAmount = f; } } else { var f = Math.Abs(fsvm.ShouldtotalfeeVM - fsvm.totalfeeVM); if (f == 0) { fs.DueAmount = 0; } else { fs.DueAmount = f; } } fs.TotalFee = fsvm.totalfeeVM; fs.FeeAmount = fsvm.feeamountVM; fs.Date = fsvm.dateVM; fs.ExtraFeeAmount = fsvm.extrafeeamountVM; _context.FeeSubmission.Add(fs); _context.SaveChanges(); ModelState.Clear(); var d = _context.Class.Where(q => q.ClassId == fs.ClassId).FirstOrDefault(); var dq = _context.Student.Where(q => q.StudentId == fs.StudentId).FirstOrDefault(); var de = _context.AccountsManagement.Where(q => q.ClassId == fs.ClassId).FirstOrDefault(); //var ex = _context.ExtraFee.Where(q => q.ClassId == fs.ClassId).FirstOrDefault(); var fsn = _context.FeeSubmission.Where(q => q.StudentId == fs.StudentId && q.ClassId == fs.ClassId).LastOrDefault(); FeeSubViewModel fsvm1 = new FeeSubViewModel(); fsvm1.studentidVM = fsn.StudentId; fsvm1.classidVM = fsn.ClassId; fsvm1.dt = fsn.Date.ToLongDateString(); fsvm1.studentnameVM = dq.StudentName; fsvm1.classnameVM = d.ClassName; fsvm1.feeamountVM = de.FeeAmount; fsvm1.extrafeeamountVM = fsn.ExtraFeeAmount; fsvm1.dueamountVM = fsn.DueAmount; fsvm1.totalfeeVM = fsn.TotalFee; fsvm1.amountofmonth = fsvm.amountofmonth; fsvm1.lastmonth = fsvm.lastmonth; fsvm1.currentmonth = fsvm.currentmonth; fsvm1.inwords = NumToText.ToText(Convert.ToInt32(fsvm1.totalfeeVM)); return(RedirectToAction("InvoiceOption", new RouteValueDictionary(fsvm1))); }
//has due method public IActionResult ShowFeeDetails(Int64 sid2, Int64 cid2, DateTime date2) { var ef1 = _context.ExtraFee.Where(q => q.ClassId == cid2).ToList(); ef1.Insert(0, new ExtraFee { ExtraFeeAmount = 0, ExtraFeeTitle = "Select Extra Fee" }); ViewBag.v = ef1; var s = _context.Student.ToList(); var c = _context.Class.ToList(); var am = _context.AccountsManagement.ToList(); var ef = _context.ExtraFee.ToList(); var fs = _context.FeeSubmission.ToList(); var g = _context.FeeSubmission.Where(a => a.StudentId == sid2 && a.ClassId == cid2).LastOrDefault(); var h = Convert.ToInt32(g.Date.Month); //last month from database var j = Convert.ToInt32(date2.Month); //input month var k = j - h; ViewBag.showdate = g.Date.ToLongDateString(); var query = (from vs in s join vc in c on vs.StudentClass equals vc.ClassId join vam in am on vs.StudentClass equals vam.ClassId join vef in ef on vs.StudentClass equals vef.ClassId join vfs in fs on vs.StudentId equals vfs.StudentId where sid2 == vs.StudentId && cid2 == vc.ClassId select new { name = vs.StudentName, id = vs.StudentId, cls = vc.ClassName, clsid = vc.ClassId, fee = vam.FeeAmount, due = vfs.DueAmount, total = vam.FeeAmount + vfs.DueAmount }).LastOrDefault(); FeeSubViewModel fsvm = new FeeSubViewModel(); fsvm.studentidVM = query.id; fsvm.studentnameVM = query.name; fsvm.classnameVM = query.cls; fsvm.classidVM = query.clsid; fsvm.dueamountVM = query.due; fsvm.amountofmonth = k; var e = h + 1; fsvm.lastmonth = new DateTimeFormatInfo().GetMonthName(e); fsvm.currentmonth = new DateTimeFormatInfo().GetMonthName(j); if (k > 1) { fsvm.feeamountVM = query.fee * k; fsvm.totalfeeVM = query.due + fsvm.feeamountVM; fsvm.ShouldtotalfeeVM = query.due + fsvm.feeamountVM; } else if (k == 1) { fsvm.feeamountVM = query.fee; fsvm.totalfeeVM = query.total; fsvm.ShouldtotalfeeVM = query.total; } else if (k < 0) { fsvm.feeamountVM = query.fee * (j + (12 - h)); fsvm.totalfeeVM = query.due + fsvm.feeamountVM; fsvm.ShouldtotalfeeVM = query.due + fsvm.feeamountVM; fsvm.amountofmonth = j + (12 - h); } fsvm.dateVM = date2; return(View(fsvm)); }