// GET: AccountBooks/Create
 public ActionResult Create()
 {
     sdtoAccountBook objAccBook = new sdtoAccountBook();
     sdtoSettings settings = db.GeneralSettings.FirstOrDefault();
     ViewBag.AccountBookTypeId = new SelectList(db.AccountBookTypes, "AccountBookTypeId", "AccountBookType");
     ViewBag.AccountHeadId = new SelectList(db.AccountHeads, "AccountHeadId", "AccountCode");
     ViewBag.BankInterest = settings.BankInterest;
     ViewBag.BankCharges = settings.BankCharges;
     objAccBook.Status = Data.Models.Enumerations.AccountBookStatus.Active;
     return View(objAccBook);
 }
        public ActionResult Create(//[Bind(Include = "AccountBookId,BookCode,BookName,BookDescription,AccountBookTypeId,AccountHeadId,BankInterest,BankCharges,ReceiptVoucherPrefix,ReceiptVoucherSuffix,PaymentVoucherPrefix,PaymentVoucherSuffix,Status")] 
            sdtoAccountBook AccountBook)
        {
            if (ModelState.IsValid)
            {
                AccountBook.CreatedOn = DateTime.Now;
                AccountBook.ModifiedOn = null;

                var jrnType = db.AccountBookTypes.Where(x => x.UniqueName.Equals("Journal", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
                if (jrnType != null && AccountBook.AccountBookTypeId == jrnType.AccountBookTypeId)
                    AccountBook.AccountHeadId = null;

                db.AccountBooks.Add(AccountBook);
                db.SaveChanges();

                SetDisplayMessage("Account Book is created successfully");
                return RedirectToAction("Index");
            }

            ViewBag.AccountBookTypeId = new SelectList(db.AccountBookTypes, "AccountBookTypeId", "AccountBookType", AccountBook.AccountBookTypeId);
            ViewBag.AccountHeadId = new SelectList(db.AccountHeads, "AccountHeadId", "AccountCode", AccountBook.AccountHeadId);
            return View(AccountBook);
        }
        public ActionResult Edit(//[Bind(Include = "AccountBookId,BookCode,BookName,BookDescription,AccountBookTypeId,AccountHeadId,BankInterest,BankCharges,ReceiptVoucherPrefix,ReceiptVoucherSuffix,PaymentVoucherPrefix,PaymentVoucherSuffix,Status")] 
            sdtoAccountBook sdtoAccountBook)
        {
            if (ModelState.IsValid)
            {
                sdtoAccountBook.ModifiedOn = DateTime.Now;
                db.Entry(sdtoAccountBook).State = EntityState.Modified;
                db.SaveChanges();

                SetDisplayMessage("Account Book is saved successfully");
                return RedirectToAction("Index");
            }
            ViewBag.AccountBookTypeId = new SelectList(db.AccountBookTypes, "AccountBookTypeId", "AccountBookType", sdtoAccountBook.AccountBookTypeId);
            ViewBag.AccountHeadId = new SelectList(db.AccountHeads, "AccountHeadId", "AccountCode", sdtoAccountBook.AccountHeadId);
            return View(sdtoAccountBook);
        }