public async Task <ActionResult> Create(Finerecords finerecords)
        {
            if (finerecords != null)
            {
                finerecords.TotalAmount = finerecords.FineAmount;


                int classid = (from alias in db.students where alias.Id == finerecords.StudentId select alias.ClassId).FirstOrDefault();
                finerecords.SemesterClass = (from alias in db.classes where alias.Id == classid select alias.ClassName).FirstOrDefault();

                finerecords.Name = (from alias in db.students where alias.Id == finerecords.StudentId select alias.StudentName).FirstOrDefault();


                Finerecords        fineslip    = new Finerecords();
                transactionrecords transaction = new transactionrecords();

                fineslip.Id = finerecords.Id;

                fineslip.TotalAmount  = finerecords.TotalAmount;
                fineslip.Payingstatus = finerecords.Payingstatus;


                fineslip.FineAmount     = finerecords.FineAmount;
                fineslip.SubmissionDate = finerecords.SubmissionDate;
                fineslip.Remarks        = finerecords.Remarks;

                //here normal record ends and students retrieving record start

                fineslip.SemesterClass = finerecords.SemesterClass;

                fineslip.Name = finerecords.Name;

                fineslip.StudentId = finerecords.StudentId;
                //here insterting transaction record
                transaction.PersonId          = fineslip.StudentId;
                transaction.TransactionAmount = fineslip.TotalAmount;
                transaction.TransactionDate   = fineslip.SubmissionDate;
                transaction.TransactionYear   = DateTime.Now.Year;
                transaction.TransactionType   = "Fine";



                db.Finerecords.Add(fineslip);
                await db.SaveChangesAsync();

                db.Entry(fineslip).GetDatabaseValues();
                int getid = fineslip.Id;
                TempData["Fineid"] = getid;
                //here  saving the created record of each specific tranaction
                db.transactionecords.Add(transaction);
                await db.SaveChangesAsync();

                return(RedirectToAction("PrintfineSlip"));
            }


            ViewBag.StudentId = new SelectList(db.students, "Id", "StudentName", finerecords.StudentId);
            return(View(finerecords));
        }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            transactionrecords transactionrecords = await db.transactionecords.FindAsync(id);

            db.transactionecords.Remove(transactionrecords);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
        public async Task <ActionResult> Edit([Bind(Include = "Id,TransactionDate,TransactionType,PersonId,TransactionYear,TransactionAmount")] transactionrecords transactionrecords)
        {
            if (ModelState.IsValid)
            {
                db.Entry(transactionrecords).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(transactionrecords));
        }
        // GET: transactionrecords/Create
        //public ActionResult Create()
        //{
        //    return View();
        //}

        //// POST: transactionrecords/Create
        //// To protect from overposting attacks, please enable the specific properties you want to bind to, for
        //// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
        //[HttpPost]
        //[ValidateAntiForgeryToken]
        //public async Task<ActionResult> Create([Bind(Include = "Id,TransactionDate,TransactionType,PersonId,TransactionYear,TransactionAmount")] transactionrecords transactionrecords)
        //{
        //    if (ModelState.IsValid)
        //    {
        //        db.transactionecords.Add(transactionrecords);
        //        await db.SaveChangesAsync();
        //        return RedirectToAction("Index");
        //    }

        //    return View(transactionrecords);
        //}

        // GET: transactionrecords/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            transactionrecords transactionrecords = await db.transactionecords.FindAsync(id);

            if (transactionrecords == null)
            {
                return(HttpNotFound());
            }
            return(View(transactionrecords));
        }
        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));
        }