예제 #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            AspNetFeeChallan aspNetFeeChallan = db.AspNetFeeChallans.Find(id);

            db.AspNetFeeChallans.Remove(aspNetFeeChallan);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #2
0
        public List <AspNetStudent_Payment> getStudentPayAbleFee(AspNetFeeChallan aspNetFeeChallan)
        {
            int challanformId = db.AspNetFeeChallans.Max(item => item.Id);
            List <AspNetStudent_Payment> studentsPayments = new List <AspNetStudent_Payment>();
            List <AspNetUser>            students         = (from student in db.AspNetUsers
                                                             join student_subject in db.AspNetStudent_Subject on student.Id equals student_subject.StudentID
                                                             join subject in db.AspNetSubjects on student_subject.SubjectID equals subject.Id
                                                             where subject.ClassID == aspNetFeeChallan.ClassID
                                                             select student).Distinct().ToList();

            foreach (var item in students)
            {
                AspNetStudent_Payment student_payment = new AspNetStudent_Payment();
                student_payment.FeeChallanID = challanformId;
                student_payment.StudentID    = item.Id;

                int?discountSum = db.AspNetStudent_Discount.Where(x => x.StudentID == item.Id).Sum(x => x.Percentage);
                if (discountSum == null)
                {
                    discountSum = 0;
                }
                int?   tuitionFee          = db.AspNetClass_FeeType.Where(x => x.AspNetFeeType.TypeName == "Tuition Fee").Select(x => x.Amount).FirstOrDefault();
                int?   discount            = tuitionFee * discountSum / 100;
                int    payableAmount       = Convert.ToInt32(tuitionFee - discount);
                string FeeDurationTypeName = db.AspNetDurationTypes.Where(x => x.Id == aspNetFeeChallan.DurationTypeID).Select(x => x.TypeName).FirstOrDefault();
                int?   totalAmount         = (from class_fee in db.AspNetClass_FeeType
                                              where class_fee.ClassID == aspNetFeeChallan.ClassID
                                              select class_fee.Amount).Sum();
                if (FeeDurationTypeName == "Monthly")
                {
                    int others = Convert.ToInt32(totalAmount - tuitionFee);
                    payableAmount = payableAmount + others;
                }
                else if (FeeDurationTypeName == "Quarterly")
                {
                    int others = Convert.ToInt32(totalAmount - tuitionFee);
                    payableAmount = payableAmount + others;
                    payableAmount = payableAmount * 4;
                }
                else if (FeeDurationTypeName == "6 Months")
                {
                    int others = Convert.ToInt32(totalAmount - tuitionFee);
                    payableAmount = payableAmount + others;
                    payableAmount = payableAmount * 6;
                }
                else if (FeeDurationTypeName == "Yearly")
                {
                    int others = Convert.ToInt32(totalAmount - tuitionFee);
                    payableAmount = payableAmount + others;
                    payableAmount = payableAmount * 12;
                }

                student_payment.PaymentAmount = payableAmount;
                studentsPayments.Add(student_payment);
            }
            return(studentsPayments);
        }
예제 #3
0
        // GET: AspNetFeeChallan/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AspNetFeeChallan aspNetFeeChallan = db.AspNetFeeChallans.Find(id);

            if (aspNetFeeChallan == null)
            {
                return(HttpNotFound());
            }
            return(View(aspNetFeeChallan));
        }
예제 #4
0
        // GET: AspNetFeeChallan/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AspNetFeeChallan aspNetFeeChallan = db.AspNetFeeChallans.Find(id);

            if (aspNetFeeChallan == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ClassID        = new SelectList(db.AspNetClasses, "Id", "ClassName", aspNetFeeChallan.ClassID);
            ViewBag.DurationTypeID = new SelectList(db.AspNetDurationTypes, "Id", "TypeName", aspNetFeeChallan.DurationTypeID);
            return(View(aspNetFeeChallan));
        }
예제 #5
0
        public ActionResult Edit([Bind(Include = "Id,ClassID,DueDate,DurationTypeID,TotalAmount,StartDate,EndDate")] AspNetFeeChallan aspNetFeeChallan)
        {
            if (ModelState.IsValid)
            {
                db.Entry(aspNetFeeChallan).State = EntityState.Modified;
                db.SaveChanges();

                var student_payments = (from studentpayment in db.AspNetStudent_Payment
                                        where studentpayment.FeeChallanID == aspNetFeeChallan.Id
                                        select studentpayment).ToList();
                var studentspayments = getStudentPayAbleFee(aspNetFeeChallan);
                int x = 0;
                foreach (var item in student_payments)
                {
                    AspNetStudent_Payment studentpayment = (from student_payment in db.AspNetStudent_Payment
                                                            where student_payment.Id == item.Id
                                                            select student_payment).SingleOrDefault();

                    studentpayment.FeeChallanID = item.FeeChallanID;
                    studentpayment.Id           = item.Id;
                    if (item.PaymentDate == null)
                    {
                        studentpayment.PaymentAmount = studentspayments[x].PaymentAmount;
                    }
                    else
                    {
                        studentpayment.PaymentAmount = studentspayments[x].PaymentAmount - item.PaymentAmount;
                        if (studentpayment.PaymentAmount < 0)
                        {
                            studentpayment.PaymentAmount = studentpayment.PaymentAmount * (-1);
                        }
                        studentpayment.PaymentDate = null;
                    }
                    studentpayment.StudentID = item.StudentID;
                    x++;
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.ClassID        = new SelectList(db.AspNetClasses, "Id", "ClassName", aspNetFeeChallan.ClassID);
            ViewBag.DurationTypeID = new SelectList(db.AspNetDurationTypes, "Id", "TypeName", aspNetFeeChallan.DurationTypeID);
            return(View(aspNetFeeChallan));
        }
예제 #6
0
        public ActionResult Create([Bind(Include = "Id,ClassID,DueDate,DurationTypeID,TotalAmount,StartDate,EndDate")] AspNetFeeChallan aspNetFeeChallan)
        {
            if (ModelState.IsValid)
            {
                db.AspNetFeeChallans.Add(aspNetFeeChallan);
                db.SaveChanges();
                var studenstPayments = getStudentPayAbleFee(aspNetFeeChallan);
                foreach (var item in studenstPayments)
                {
                    db.AspNetStudent_Payment.Add(item);
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }

            ViewBag.ClassID        = new SelectList(db.AspNetClasses, "Id", "ClassName", aspNetFeeChallan.ClassID);
            ViewBag.DurationTypeID = new SelectList(db.AspNetDurationTypes, "Id", "TypeName", aspNetFeeChallan.DurationTypeID);
            return(View(aspNetFeeChallan));
        }