private static FeesReceiveCreateViewModel GetStudentDetailInformation(int AdmissionID) { OssEntities cntx = new OssEntities(); var obj = (from q in cntx.tblStudentRegMst join a in cntx.tblAdmission on q.RegID equals a.RegID join c in cntx.Vu_Class on a.AdmissionID equals c.AdmissionID where a.AdmissionID == AdmissionID && c.SessionID == portalutilities.ActiveSessionID select new { q.ApplicantName, q.ApplicantNameInUrdu, q.FatherName, q.FatherNameInUrdu, c.StageName, c.ClassName, c.SectionName }).FirstOrDefault(); var objc = (from q in cntx.tblConfiguration where q.SchoolID == portalutilities._schollid select q).FirstOrDefault(); string ApplicantName = ""; string FatherName = ""; if (portalutilities.InEnglish == false) { FatherName = obj.FatherNameInUrdu; if (objc.IsSearchGRNoInUrdu == true) { ApplicantName = obj.ApplicantNameInUrdu; } } else { FatherName = obj.FatherName; if (objc.IsSearchGRNo == true) { ApplicantName = obj.ApplicantName; } } var objdtl = (from q in cntx.Vu_StudentLedger where q.AdmissionID == AdmissionID && q.SchoolID == portalutilities._schollid && q.ClassSessionID == portalutilities.ActiveSessionID && q.Status != portalutilities.FeesStatus.Paid && q.TransactionType == portalutilities.TransactionTypeFees.GenerateFees orderby q.FeesDate ascending select new { q.RefCode, q.FeesTypeID, FeesMonth = q.FeesDate, q.FeesType, q.FeesAmount, q.DiscountAble, q.DiscountID, q.DiscountName, DiscountAmount = q.EditedDiscAmount, q.NetFees, q.Status }).ToList(); var feesListForStudent = new List <FeesReceiveGridViewModel>(); for (int i = 0; i < objdtl.Count; i++) { string refcode = objdtl[i].RefCode; int feestypeid = Convert.ToInt32(objdtl[i].FeesTypeID); DateTime feesdate = Convert.ToDateTime(objdtl[i].FeesMonth); int GenFeesDtlID = 0; string DiscName = ""; decimal? DueDateDisc = 0; decimal? DiscAmount = 0; decimal? RecAmount = 0; decimal? AdjAmount = 0; decimal? NetFees = 0; var objgen = (from q in cntx.tblGenerateFeesMst join a in cntx.tblGenerateFeesDtl on q.GenFeesMstID equals a.GenFeesMstID where q.IsDelete == false && q.SchoolID == portalutilities._schollid && q.GenFeesNo == refcode && a.FeesTypeID == feestypeid && a.AdmissionID == AdmissionID select new { a.GenFeesDtlID }).FirstOrDefault(); if (objgen != null) { GenFeesDtlID = objgen.GenFeesDtlID; } var objAdj = (from q in cntx.Vu_StudentLedger where q.AdmissionID == AdmissionID && q.FeesTypeID == feestypeid && q.ClassSessionID == portalutilities.ActiveSessionID && q.SchoolID == portalutilities._schollid && q.Status != portalutilities.FeesStatus.Paid && q.FeesDate == feesdate select new { q.AdjustmentAmount }).Sum(a => a.AdjustmentAmount); var objs = (from q in cntx.tblSchool where q.SchoolID == portalutilities._schollid select q).FirstOrDefault(); var DeductDiscount = (from q in cntx.tblConfiguration where q.SchoolID == portalutilities._schollid select q.DeductDiscount).FirstOrDefault(); DateTime today = DateTime.Now.Date; DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, objs.LateFeesDate.Value.Day); if ((today <= dt || feesdate.Month > today.Month) && feesdate.Year == today.Year && DeductDiscount == true) { if (objdtl[i].DiscountAmount == 0 && objdtl[i].DiscountAble == true && feesdate.Month >= DateTime.Now.Month) { DiscName = portalutilities.DueDateDiscName; DiscAmount = objs.LateFeesAmount; NetFees = objdtl[i].NetFees - objs.LateFeesAmount; DueDateDisc = objs.LateFeesAmount; if (objAdj != null) { AdjAmount = objAdj - objs.LateFeesAmount; } } else { DiscName = objdtl[i].DiscountName; DiscAmount = objdtl[i].DiscountAmount; NetFees = objdtl[i].NetFees; DueDateDisc = 0; if (objAdj != null) { AdjAmount = objAdj; } } } else { DiscName = objdtl[i].DiscountName; DiscAmount = objdtl[i].DiscountAmount; NetFees = objdtl[i].NetFees; DueDateDisc = 0; if (objAdj != null) { AdjAmount = objAdj; } } var objRec = (from q in cntx.Vu_StudentLedger where q.AdmissionID == AdmissionID && q.FeesTypeID == feestypeid && q.ClassSessionID == portalutilities.ActiveSessionID && q.SchoolID == portalutilities._schollid && q.Status != portalutilities.FeesStatus.Paid && q.FeesDate == feesdate select new { q.ReceivedAmount }).Sum(a => a.ReceivedAmount); if (objRec != null) { RecAmount = objRec; } feesListForStudent.Add(new FeesReceiveGridViewModel { FeesMonth = objdtl[i].FeesMonth.Value.ToString(portalutilities.MonthYearFomrat), FeesTypeName = objdtl[i].FeesType, FeesAmount = objdtl[i].FeesAmount, DiscountName = DiscName, DiscountAmount = DiscAmount, NetFees = NetFees, ReceivedAmount = RecAmount, DueDateDisc = DueDateDisc, AdjustmentAmount = AdjAmount, GenFeesDtlID = GenFeesDtlID, FeesReceiveDtlID = 0,///// generate when user save record Status = objdtl[i].Status }); } var result = new FeesReceiveCreateViewModel { PostDate = DateTime.Now.ToString(), AdmissionId = AdmissionID, StageName = obj.StageName, ClassName = obj.ClassName, SectionName = obj.SectionName, StudentName = ApplicantName, FatherName = FatherName, FeesDetails = feesListForStudent, // List of all the fees a student have }; return(result); }
private static FeesReceiveCreateViewModel GetStudentDetailInformation(long feesRecId) { OssEntities cntx = new OssEntities(); var obj = (from q in cntx.tblFeesReceiveMst join a in cntx.tblAdmission on q.AdmissionID equals a.AdmissionID join st in cntx.tblStudentRegMst on a.RegID equals st.RegID join d in cntx.Vu_Class on a.AdmissionID equals d.AdmissionID where q.FeesReceiveMstID == feesRecId && d.SessionID == portalutilities.ActiveSessionID && q.SessionID == portalutilities.ActiveSessionID select new { st.RegID, q.FeesReceiveNo, q.AdmissionID, d.StageName, d.StageID, d.ClassName, d.ClassID, d.SectionName, d.SectionID, st.FatherName, st.FatherNameInUrdu, st.ApplicantName, st.ApplicantNameInUrdu, a.IsActive, q.Remarks, q.PostDate, q.TotalFeesAmount, q.TotalDiscountAmount, q.TotalNetFees, q.TotalAdjustmentAmount }).FirstOrDefault(); var objdtl = (from q in cntx.tblFeesReceiveMst join r in cntx.tblFeesReceiveDtl on q.FeesReceiveMstID equals r.FeesReceiveMstID join a in cntx.tblAdmission on q.AdmissionID equals a.AdmissionID join st in cntx.tblStudentRegMst on a.RegID equals st.RegID join dtl in cntx.tblGenerateFeesDtl on r.GenFeesDtlID equals dtl.GenFeesDtlID join mst in cntx.tblGenerateFeesMst on dtl.GenFeesMstID equals mst.GenFeesMstID join f in cntx.tblFeesType on dtl.FeesTypeID equals f.FeesTypeID join c in cntx.tblDiscount on dtl.DiscountID equals c.DiscountID where q.FeesReceiveMstID == feesRecId select new { r.GenFeesDtlID, r.FeesReceiveDtlID, FeesMonth = mst.FeesDate, f.FeesType, f.FeesAmount, c.DiscountName, DiscountAmount = dtl.EditedDiscAmount, NetFees = f.FeesAmount - dtl.EditedDiscAmount, r.ReceivedAmount, r.AdjustmentAmount, r.DueDateDisc, r.Status }).ToList(); var feesListForStudent = new List <FeesReceiveGridViewModel>(); for (int i = 0; i < objdtl.Count; i++) { feesListForStudent.Add(new FeesReceiveGridViewModel { FeesMonth = objdtl[i].FeesMonth.Value.ToString(portalutilities.MonthYearFomrat), FeesTypeName = objdtl[i].FeesType, FeesAmount = objdtl[i].FeesAmount, DiscountName = objdtl[i].DiscountName, DiscountAmount = objdtl[i].DiscountAmount, NetFees = objdtl[i].NetFees, ReceivedAmount = objdtl[i].ReceivedAmount, DueDateDisc = objdtl[i].DueDateDisc, AdjustmentAmount = objdtl[i].AdjustmentAmount, GenFeesDtlID = objdtl[i].GenFeesDtlID, FeesReceiveDtlID = objdtl[i].FeesReceiveDtlID, Status = objdtl[i].Status }); } var obja = (from q in cntx.tblConfiguration where q.SchoolID == portalutilities._schollid select q).FirstOrDefault(); string ApplicantName = ""; string FatherName = ""; int? admissionid = 0; if (portalutilities.InEnglish == false) { FatherName = obj.FatherNameInUrdu; if (obja.IsSearchGRNoInUrdu == true) { admissionid = Convert.ToInt32(obj.AdmissionID); //cmbStudent.SelectedValue = obj.AdmissionID; ApplicantName = obj.ApplicantNameInUrdu; } else { ApplicantName = obj.ApplicantNameInUrdu + "-" + obj.AdmissionID; } } else { admissionid = obj.AdmissionID; FatherName = obj.FatherName; if (obja.IsSearchGRNo == true) { ApplicantName = obj.ApplicantName; } } var result = new FeesReceiveCreateViewModel { PostDate = obj.PostDate.Value.ToString(portalutilities.DateTimeFormat), AdmissionId = admissionid, StageName = obj.StageName, ClassName = obj.ClassName, SectionName = obj.SectionName, StageId = obj.StageID, SectionId = obj.SectionID, ClassId = obj.ClassID, StudentName = ApplicantName, FatherName = FatherName, FeesDetails = feesListForStudent, // List of all the fees a student have }; return(result); }
private static List <FeesReceiveStudentViewModel> GetStudentsList() { OssEntities cntx = new OssEntities(); var obj = (from q in cntx.tblConfiguration where q.SchoolID == portalutilities._schollid select q).FirstOrDefault(); var objdep = (dynamic)null; if (portalutilities.InEnglish == false) { if (obj.IsSearchGRNoInUrdu == true) { objdep = (from q in cntx.tblAdmission.Cast <tblAdmission>() join a in cntx.tblStudentRegMst on q.RegID equals a.RegID join c in cntx.Vu_Class on q.AdmissionID equals c.AdmissionID where q.IsDelete == false && q.SchoolID == portalutilities._schollid && a.IsAdmit == true && c.SessionID == portalutilities.ActiveSessionID orderby q.GRNo ascending select new { q.AdmissionID, ApplicantName = q.GRNo }).ToList(); } } else { if (obj.IsSearchGRNo == false) { objdep = (from q in cntx.tblAdmission join a in cntx.tblStudentRegMst on q.RegID equals a.RegID join c in cntx.Vu_Class on q.AdmissionID equals c.AdmissionID where q.IsDelete == false && q.SchoolID == portalutilities._schollid && a.IsAdmit == true && c.SessionID == portalutilities.ActiveSessionID orderby a.ApplicantName ascending select new { q.AdmissionID, ApplicantName = a.ApplicantName + " " + q.GRNo }).ToList(); } else { objdep = (from q in cntx.tblAdmission join a in cntx.tblStudentRegMst on q.RegID equals a.RegID join c in cntx.Vu_Class on q.AdmissionID equals c.AdmissionID where q.IsDelete == false && q.SchoolID == portalutilities._schollid && a.IsAdmit == true && c.SessionID == portalutilities.ActiveSessionID orderby q.GRNo ascending select new { q.AdmissionID, ApplicantName = q.GRNo }).ToList(); } } var result = new List <FeesReceiveStudentViewModel>(); for (int i = 0; i < objdep.Count; i++) { /// TODO : Simple list of all student's id along with the name (1440/0321/0105) we want to show /// result.Add(new FeesReceiveStudentViewModel { AdmissionId = objdep[i].AdmissionID, StudentName = objdep[i].ApplicantName }); //return new List<FeesReceiveStudentViewModel> { //new FeesReceiveStudentViewModel{ // AdmissionId = objdep[i].AdmissionID, // StudentName = "1440/0321/0105" // } //}; } return(result); }