// GET: StudentFeeSchedule public ActionResult StudentFeeSchedule(int id = 0) { var sfsmodel = new StudentFeeScheduleModel(); var sbfsmodelList = new List <StudentsByFeeStructureModel>(); sfsmodel.FeeStructureList = _Context.FeeStructurs.Where(x => x.IsActive == true).Select(x => new SelectListItem { Value = x.PK_FeeStructurId.ToString(), Text = x.StructurName }); sfsmodel.FeeStructurId = id; sfsmodel.TotalFee = Convert.ToDecimal(_Context.FeeStructurs.Where(x => x.PK_FeeStructurId == id && x.IsActive == true).Select(x => x.TotalFee).FirstOrDefault()); var details = _Context.Sp_GetStudentFeeScheduleByFeeStructureID(id).ToList(); var groupByStudent = details.GroupBy(x => x.PK_StudentId).ToList(); foreach (var item in groupByStudent) { var sbfsmodel = new StudentsByFeeStructureModel(); sbfsmodel.StudentID = item.Select(x => x.PK_StudentId).FirstOrDefault(); sbfsmodel.Name = item.Select(x => x.Name).FirstOrDefault(); sbfsmodel.StudentFeeScheduleId = item.Select(x => x.PK_StudentFeeScheduleId).FirstOrDefault(); sbfsmodel.DiscountAmountPercentage = item.Select(x => x.DiscountAmountPercentage).FirstOrDefault(); sbfsmodel.TotalPayableAmount = item.Select(x => x.TotalPayableAmount).FirstOrDefault(); sbfsmodel.UnPaidFee = Convert.ToBoolean(item.Select(x => x.UnPaid).FirstOrDefault()); if (item.Select(x => x.FK_FeeStructurId).FirstOrDefault() != null) { sbfsmodel.IsInclude = true; } sbfsmodelList.Add(sbfsmodel); } sfsmodel.StudentsByFeeStructure = sbfsmodelList; return(View(sfsmodel)); }
public ActionResult StudentFeeSchedule(StudentFeeScheduleModel sfsmodel) { var scheduleDate = DateTime.Now; XDocument studentFeeSchedules = new XDocument(new XDeclaration("1.0", "UTF - 8", "yes"), new XElement("StudentFeeScheduleList", from sfsList in sfsmodel.StudentsByFeeStructure where sfsList.UnPaidFee == false select new XElement("StudentFeeSchedule", new XElement("FeeStructurId", sfsmodel.FeeStructurId), new XElement("scheduleDate", scheduleDate), new XElement("DiscountAmountPercentage", sfsList.DiscountAmountPercentage), new XElement("TotalPayableAmount", sfsList.TotalPayableAmount), new XElement("StudentID", sfsList.StudentID), new XElement("IsInclude", sfsList.IsInclude) ))); _Context.Sp_InsertUpdateStudentFeeSchedule(studentFeeSchedules.ToString()); return(RedirectToAction("StudentFeeSchedule", new RouteValueDictionary( new { controller = "StudentFeeSchedule", action = "StudentFeeSchedule", id = 0 }))); }