public ActionResult DeleteConfirmed(int id) { StudentRecurringFee studentRecurringFee = db.StudentRecurringFees.Find(id); db.StudentRecurringFees.Remove(studentRecurringFee); db.SaveChanges(); return(RedirectToAction("Index")); }
// GET: StudentRecurringFees/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StudentRecurringFee studentRecurringFee = db.StudentRecurringFees.Find(id); if (studentRecurringFee == null) { return(HttpNotFound()); } return(View(studentRecurringFee)); }
// GET: StudentRecurringFees/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StudentRecurringFee studentRecurringFee = db.StudentRecurringFees.Find(id); if (studentRecurringFee == null) { return(HttpNotFound()); } ViewBag.ClassId = new SelectList(db.AspNetClasses, "Id", "ClassName", studentRecurringFee.ClassId); return(View(studentRecurringFee)); }
public ActionResult Edit([Bind(Include = "Id,ClassId,ComputerLabCharges,SecurityServices,LabCharges,Transportation,SportsShirt,ChineseClassFee,AdvanceTax,Other,TutionFee,TotalFee")] StudentRecurringFee studentRecurringFee) { if (ModelState.IsValid) { db.Entry(studentRecurringFee).State = EntityState.Modified; if (db.SaveChanges() > 0) { List <AspNetStudent> list = db.AspNetStudents.Where(x => x.ClassID == studentRecurringFee.ClassId && x.AspNetUser.Status != "False").ToList(); foreach (var std in list) { var tdfee = db.StudentFeeMonths.Where(x => x.StudentId == std.Id && x.Status == "Pending").ToList(); foreach (var item in tdfee) { StudentFeeMonth student = db.StudentFeeMonths.Where(x => x.Id == item.Id).FirstOrDefault(); db.StudentFeeMonths.Remove(student); db.SaveChanges(); } var classid = db.AspNetStudents.Where(x => x.Id == std.Id).Select(x => x.ClassID).FirstOrDefault(); var totalfee = db.StudentRecurringFees.Where(x => x.ClassId == std.ClassID).FirstOrDefault(); var installment = totalfee.TotalFee / 12; string[] Months = { "September", "October", "November", "December", "January", "February", "March", "April", "May", "June", "July", "August" }; for (int i = 0; i < Months.Count(); i++) { StudentFeeMonth stdfeemonth = new StudentFeeMonth(); stdfeemonth.StudentId = std.Id; stdfeemonth.Status = "Pending"; stdfeemonth.InstalmentAmount = installment; stdfeemonth.SessionId = studentRecurringFee.SessionId; stdfeemonth.FeePayable = installment; var dddd = DateTime.Now; var d = dddd.ToString("yyyy-MM-dd"); stdfeemonth.IssueDate = d; stdfeemonth.Months = Months[i]; db.StudentFeeMonths.Add(stdfeemonth); } db.SaveChanges(); } } return(RedirectToAction("Index")); } ViewBag.ClassId = new SelectList(db.AspNetClasses, "Id", "Name", studentRecurringFee.ClassId); return(View(studentRecurringFee)); }
public ActionResult Create([Bind(Include = "Id,ClassId,ComputerLabCharges,SecurityServices,LabCharges,Transportation,SportsShirt,ChineseClassFee,AdvanceTax,Other,TutionFee,TotalFee,SessionId")] StudentRecurringFee studentRecurringFee) { // var dbTransaction = db.Database.BeginTransaction(); try { if (ModelState.IsValid) { db.StudentRecurringFees.Add(studentRecurringFee); db.SaveChanges(); //var stdList = db.AspNetStudents.Where(x => x.ClassID == studentRecurringFee.ClassId && x.AspNetUser.Status != "False").ToList().Count(); //for (int i = 0; i < stdList; i++) //{ // Ledger ledger = db.Ledgers.Where(x => x.Name == "Student Receivables").FirstOrDefault(); // ledger.StartingBalance += Convert.ToDecimal(studentRecurringFee.TotalFee); // ledger.CurrentBalance += Convert.ToDecimal(studentRecurringFee.TotalFee); // db.SaveChanges(); //} //for (int i = 0; i < stdList; i++) //{ // Ledger ledger = db.Ledgers.Where(x => x.Name == "Student Fee").FirstOrDefault(); // ledger.StartingBalance += Convert.ToDecimal(studentRecurringFee.TotalFee); // ledger.CurrentBalance += Convert.ToDecimal(studentRecurringFee.TotalFee); // db.SaveChanges(); //} //multiplier List <AspNetStudent> list = db.AspNetStudents.Where(x => x.ClassID == studentRecurringFee.ClassId && x.AspNetUser.Status != "False").ToList(); foreach (var std in list) { var classid = db.AspNetStudents.Where(x => x.Id == std.Id).Select(x => x.ClassID).FirstOrDefault(); var totalfee = db.StudentRecurringFees.Where(x => x.ClassId == std.ClassID).FirstOrDefault(); var installment = totalfee.TotalFee / 12; string[] Months = { "September", "October", "November", "December", "January", "February", "March", "April", "May", "June", "July", "August" }; for (int i = 0; i < Months.Count(); i++) { StudentFeeMonth stdfeemonth = new StudentFeeMonth(); stdfeemonth.StudentId = std.Id; stdfeemonth.Multiplier = 1; stdfeemonth.SessionId = studentRecurringFee.SessionId; stdfeemonth.Status = "Pending"; stdfeemonth.InstalmentAmount = installment; stdfeemonth.FeePayable = installment; var dddd = DateTime.Now; var d = dddd.ToString("yyyy-MM-dd"); stdfeemonth.IssueDate = d; stdfeemonth.Months = Months[i]; db.StudentFeeMonths.Add(stdfeemonth); // db.SaveChanges(); } // dbTransaction.Commit(); } db.SaveChanges(); return(RedirectToAction("Index")); } } catch (Exception e) { // dbTransaction.Dispose(); ViewBag.ErrorMessage = e.Message; } ViewBag.ClassId = new SelectList(db.AspNetClasses, "Id", "Name", studentRecurringFee.ClassId); return(View(studentRecurringFee)); }
// POST: StudentRecurringFees/Edit/5 // To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see http://go.microsoft.com/fwlink/?LinkId=317598. public ActionResult AddData(FeesData data) { int?sessionId = db.AspNetClasses.Where(x => x.Id == data.ClassId).FirstOrDefault().SessionID; if (ModelState.IsValid) { var TotalFee = db.AspNetSessions.Where(x => x.Id == SessionID).FirstOrDefault().Total_Fee; decimal?TotalFeeOfAllStudents = 0; var feetype = Request.Form["feeType"]; IEnumerable <string> selectedstudents = Request.Form["students"].Split(','); int count = selectedstudents.Count(); for (int i = 1; i <= count; i++) { TotalFeeOfAllStudents = TotalFee + TotalFeeOfAllStudents; } StudentRecurringFee studentRecurringFees = new StudentRecurringFee(); studentRecurringFees.ClassId = data.ClassId; studentRecurringFees.SessionId = sessionId; studentRecurringFees.TutionFee = TotalFee; studentRecurringFees.TotalFee = TotalFee; db.StudentRecurringFees.Add(studentRecurringFees); db.SaveChanges(); var Total_Fees = studentRecurringFees.TotalFee; if (feetype == "Installment") { var CalculatedFee = Total_Fees / 2; foreach (var std in selectedstudents) { AspNetStudent student = db.AspNetStudents.Where(x => x.StudentID == std).FirstOrDefault(); var classid = db.AspNetStudents.Where(x => x.Id == student.Id).Select(x => x.ClassID).FirstOrDefault(); var Month = DateTime.Now.ToString("MMMM"); for (int i = 0; i <= 3; i++) { var FirstMonth = DateTime.Now.ToString("MMMM"); StudentFeeMonth stdfeemonth = new StudentFeeMonth(); stdfeemonth.StudentId = student.Id; stdfeemonth.Multiplier = 2; stdfeemonth.SessionId = sessionId; stdfeemonth.Status = "Pending"; var dddd = DateTime.Now; var d = dddd.ToString("yyyy-MM-dd"); //shahzad stdfeemonth.IssueDate = d; if (i == 0) { stdfeemonth.Months = DateTime.Now.ToString("MMMM"); stdfeemonth.InstalmentAmount = CalculatedFee; stdfeemonth.FeePayable = CalculatedFee; } else if (i == 1) { stdfeemonth.InstalmentAmount = 0; stdfeemonth.FeePayable = 0; stdfeemonth.Months = DateTime.Now.Date.AddMonths(1).ToString("MMMM"); } else if (i == 2) { stdfeemonth.Months = DateTime.Now.Date.AddMonths(2).ToString("MMMM"); stdfeemonth.InstalmentAmount = CalculatedFee; stdfeemonth.FeePayable = CalculatedFee; } else if (i == 3) { stdfeemonth.InstalmentAmount = 0; stdfeemonth.FeePayable = 0; stdfeemonth.Months = DateTime.Now.Date.AddMonths(3).ToString("MMMM"); } else { //do nothing } stdfeemonth.FeeType = "Installment"; db.StudentFeeMonths.Add(stdfeemonth); db.SaveChanges(); } } } else if (feetype == "PerMonth") { foreach (var std in selectedstudents) { var CalculatedFee = Total_Fees / 4; AspNetStudent student = db.AspNetStudents.Where(x => x.StudentID == std).FirstOrDefault(); var classid = db.AspNetStudents.Where(x => x.Id == student.Id).Select(x => x.ClassID).FirstOrDefault(); var Month = DateTime.Now.ToString("MMMM"); for (int i = 0; i <= 3; i++) { var FirstMonth = DateTime.Now.ToString("MMMM"); StudentFeeMonth stdfeemonth = new StudentFeeMonth(); stdfeemonth.StudentId = student.Id; stdfeemonth.Multiplier = 1; stdfeemonth.SessionId = sessionId; stdfeemonth.Status = "Pending"; var dddd = DateTime.Now; var d = dddd.ToString("yyyy-MM-dd"); //shahzad stdfeemonth.IssueDate = d; if (i == 0) { stdfeemonth.Months = DateTime.Now.ToString("MMMM"); stdfeemonth.InstalmentAmount = CalculatedFee; stdfeemonth.FeePayable = CalculatedFee; } else { stdfeemonth.InstalmentAmount = CalculatedFee; stdfeemonth.FeePayable = CalculatedFee; stdfeemonth.Months = DateTime.Now.Date.AddMonths(i).ToString("MMMM"); } stdfeemonth.FeeType = "PerMonth"; db.StudentFeeMonths.Add(stdfeemonth); db.SaveChanges(); } } } else { foreach (var std in selectedstudents) { AspNetStudent student = db.AspNetStudents.Where(x => x.StudentID == std).FirstOrDefault(); var classid = db.AspNetStudents.Where(x => x.Id == student.Id).Select(x => x.ClassID).FirstOrDefault(); var Month = DateTime.Now.ToString("MMMM"); for (int i = 0; i <= 3; i++) { var FirstMonth = DateTime.Now.ToString("MMMM"); StudentFeeMonth stdfeemonth = new StudentFeeMonth(); stdfeemonth.StudentId = student.Id; stdfeemonth.Multiplier = 4; stdfeemonth.SessionId = sessionId; //could be change To SessionID stdfeemonth.Status = "Pending"; var dddd = DateTime.Now; var d = dddd.ToString("yyyy-MM-dd"); //shahzad stdfeemonth.IssueDate = d; if (i == 0) { stdfeemonth.Months = DateTime.Now.ToString("MMMM"); stdfeemonth.InstalmentAmount = Total_Fees; stdfeemonth.FeePayable = Total_Fees; } else { stdfeemonth.InstalmentAmount = 0; stdfeemonth.FeePayable = 0; stdfeemonth.Months = DateTime.Now.Date.AddMonths(i).ToString("MMMM"); } stdfeemonth.FeeType = "Lumsum"; db.StudentFeeMonths.Add(stdfeemonth); db.SaveChanges(); } } } var id = User.Identity.GetUserId(); var username = db.AspNetUsers.Where(x => x.Id == id).Select(x => x.Name).FirstOrDefault(); Voucher voucher = new Voucher(); voucher.Name = "Student Fee Created"; voucher.Notes = "Student Fee Created"; voucher.Date = DateTime.Now; voucher.Name = username; voucher.CreatedBy = username; voucher.SessionID = sessionId; int?VoucherObj = db.Vouchers.Max(x => x.VoucherNo); voucher.VoucherNo = Convert.ToInt32(VoucherObj) + 1; db.Vouchers.Add(voucher); db.SaveChanges(); var Leadger = db.Ledgers.Where(x => x.Name == "Account Receiveable").FirstOrDefault(); int AccountRecId = Leadger.Id; decimal? CurrentBalance = Leadger.CurrentBalance; VoucherRecord voucherRecord = new VoucherRecord(); decimal? AfterBalance = CurrentBalance + TotalFeeOfAllStudents; voucherRecord.LedgerId = AccountRecId; voucherRecord.Type = "Dr"; voucherRecord.Amount = TotalFeeOfAllStudents; voucherRecord.CurrentBalance = CurrentBalance; voucherRecord.AfterBalance = AfterBalance; voucherRecord.VoucherId = voucher.Id; voucherRecord.Description = "Student Fee debited in Account Receiveable"; Leadger.CurrentBalance = AfterBalance; db.VoucherRecords.Add(voucherRecord); db.SaveChanges(); //Second; VoucherRecord voucherRecord1 = new VoucherRecord(); var LeadgerStudentFee = db.Ledgers.Where(x => x.Name == "Student Fee").FirstOrDefault(); decimal?CurrentBalanceOfStudentFee = LeadgerStudentFee.CurrentBalance; decimal?AfterBalanceOfStudentFee = CurrentBalanceOfStudentFee + TotalFeeOfAllStudents; voucherRecord1.LedgerId = LeadgerStudentFee.Id; voucherRecord1.Type = "Cr"; voucherRecord1.Amount = TotalFeeOfAllStudents; voucherRecord1.CurrentBalance = CurrentBalanceOfStudentFee; voucherRecord1.AfterBalance = AfterBalanceOfStudentFee; voucherRecord1.VoucherId = voucher.Id; voucherRecord1.Description = "Student Fee Credit in Income"; LeadgerStudentFee.CurrentBalance = AfterBalanceOfStudentFee; db.VoucherRecords.Add(voucherRecord1); db.SaveChanges(); // db.SaveChanges(); } return(RedirectToAction("Index")); }