public ActionResult DeleteConfirmed(int id)
        {
            StudentFeeRecords studentFeeRecords = db.StudentFeeRecords.Find(id);

            db.StudentFeeRecords.Remove(studentFeeRecords);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Id,Name,FatherName,SemesterClass,SubmissionDate,AdmissionFeeTutionFee,HostelFee,SecFee,PaymentMethod,GrossTotalAmount,Payingstatus,Year,batch,Remarks,StudentId")] StudentFeeRecords studentFeeRecords)
 {
     if (ModelState.IsValid)
     {
         db.Entry(studentFeeRecords).State = EntityState.Modified;
         db.SaveChanges();//here its is bug on the year format attribute will solve soon (pending).
         return(RedirectToAction("Index"));
     }
     ViewBag.StudentId = new SelectList(db.students, "Id", "StudentName", studentFeeRecords.StudentId);
     return(View(studentFeeRecords));
 }
        // GET: StudentFeeRecords/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            StudentFeeRecords studentFeeRecords = db.StudentFeeRecords.Find(id);

            if (studentFeeRecords == null)
            {
                return(HttpNotFound());
            }
            return(View(studentFeeRecords));
        }
        // GET: StudentFeeRecords/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            StudentFeeRecords studentFeeRecords = db.StudentFeeRecords.Find(id);

            if (studentFeeRecords == null)
            {
                return(HttpNotFound());
            }
            ViewBag.StudentId = new SelectList(db.students, "Id", "StudentName", studentFeeRecords.StudentId);
            return(View(studentFeeRecords));
        }
        public ActionResult PrintSlip()
        {
            int id = Convert.ToInt32(TempData["Feeid"]);

            if (id == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            StudentFeeRecords studentFeeRecords = db.StudentFeeRecords.Find(Convert.ToInt32(id));

            if (studentFeeRecords == null)
            {
                return(HttpNotFound());
            }
            return(View(studentFeeRecords));
        }
        // GET: StudentFeeRecords/Create
        public ActionResult Create()
        {
            ViewBag.StudentId = db.students.Select(c => new SelectListItem {
                Value = c.Id.ToString(), Text = c.Id.ToString()
            })
                                .ToList();

            var view = new StudentFeeRecords
            {
                batch          = System.DateTime.Now.Year,
                SubmissionDate = DateTime.Now.Date,
                Remarks        = "Paid On Time",
                PaymentMethod  = "Cash"
            };

            return(View(view));
        }
        public ActionResult Create(StudentFeeRecords studentFeeRecords)
        {
            if (ModelState.IsValid)
            {
                studentFeeRecords.GrossTotalAmount = studentFeeRecords.AdmissionFeeTutionFee + studentFeeRecords.SecFee + studentFeeRecords.HostelFee;
                studentFeeRecords.Payingstatus     = "Paid";

                int classid = (from alias in db.students where alias.Id == studentFeeRecords.StudentId select alias.ClassId).FirstOrDefault();
                studentFeeRecords.SemesterClass = (from alias in db.classes where alias.Id == classid select alias.ClassName).FirstOrDefault();
                studentFeeRecords.batch         = DateTime.Now.Year;
                studentFeeRecords.Name          = (from alias in db.students where alias.Id == studentFeeRecords.StudentId select alias.StudentName).FirstOrDefault();
                studentFeeRecords.FatherName    = (from alias in db.students where alias.Id == studentFeeRecords.StudentId select alias.GuardianName).FirstOrDefault();
                studentFeeRecords.Year          = DateTime.Now;
                StudentFeeRecords  finalslip   = new StudentFeeRecords();
                transactionrecords transaction = new transactionrecords();

                finalslip.Id                    = studentFeeRecords.Id;
                finalslip.FatherName            = studentFeeRecords.FatherName;
                finalslip.GrossTotalAmount      = studentFeeRecords.GrossTotalAmount;
                finalslip.Payingstatus          = studentFeeRecords.Payingstatus;
                finalslip.PaymentMethod         = studentFeeRecords.PaymentMethod;
                finalslip.HostelFee             = studentFeeRecords.HostelFee;
                finalslip.SecFee                = studentFeeRecords.SecFee;
                finalslip.AdmissionFeeTutionFee = studentFeeRecords.AdmissionFeeTutionFee;
                finalslip.SubmissionDate        = studentFeeRecords.SubmissionDate;
                finalslip.Remarks               = studentFeeRecords.Remarks;
                finalslip.Year                  = studentFeeRecords.Year;
                finalslip.batch                 = studentFeeRecords.batch;
                //here normal record ends and students retrieving record start

                finalslip.SemesterClass = studentFeeRecords.SemesterClass;

                finalslip.Name = studentFeeRecords.Name;

                finalslip.FatherName = studentFeeRecords.FatherName;

                finalslip.StudentId = studentFeeRecords.StudentId;
                //here insterting transaction record
                transaction.PersonId          = finalslip.StudentId;
                transaction.TransactionAmount = finalslip.GrossTotalAmount;
                transaction.TransactionDate   = finalslip.SubmissionDate;
                transaction.TransactionYear   = finalslip.batch;
                transaction.TransactionType   = "Fees";

                finalslip.AddedOn = DateTime.UtcNow.AddHours(5);

                db.StudentFeeRecords.Add(finalslip);
                db.SaveChanges();
                db.Entry(finalslip).GetDatabaseValues();
                int getid = finalslip.Id;
                TempData["Feeid"] = getid;
                //here  saving the created record of each specific tranaction
                db.transactionecords.Add(transaction);
                db.SaveChanges();


                return(RedirectToAction("PrintSlip"));
            }


            ViewBag.StudentId = new SelectList(db.students, "Id", "StudentName", studentFeeRecords.StudentId);
            return(View(studentFeeRecords));
        }