Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }