public ActionResult Create(AccountTransaction accounttransaction)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var created = PropertyOwnerAccount.CreateAccountsForOwnersWithoutAccount(db);

                    var booking = db.Bookings.Find(accounttransaction.BookingID);
                    var property =
                        db.Properties.Include(x => x.PropertyOwner.PropertyOwnerAccounts)
                            .Where(x => x.PropertyID == booking.PropertyID).FirstOrDefault();


                    accounttransaction.AccountID = property.PropertyOwner.PropertyOwnerAccounts.First().AccountID;
                    accounttransaction.WhenCreated = DateTime.Now;
                    accounttransaction.WhoCreated = User.Identity.Name;



                    db.AccountTransactions.Add(accounttransaction);
                    db.SaveChanges();
                    ViewBag.BookingID = new SelectList(db.Bookings, "BookingID", "BookingPRCReference", accounttransaction.BookingID);
                    ViewBag.BookingExtraSelectionID = new SelectList(db.BookingExtraSelections, "BookingExtraSelectionID", "BookingExtraPRCReference", accounttransaction.BookingExtraSelectionID);
                    return RedirectToAction("Create");
                }
                catch (Exception ex)
                {
                    
                    throw new Exception("Can't add a transaction!", ex);
                }
            }

            ViewBag.BookingID = new SelectList(db.Bookings, "BookingID", "BookingPRCReference", accounttransaction.BookingID);
            ViewBag.BookingExtraSelectionID = new SelectList(db.BookingExtraSelections, "BookingExtraSelectionID", "BookingExtraPRCReference", accounttransaction.BookingExtraSelectionID);
            return View(accounttransaction);
        }
 public ActionResult Edit(AccountTransaction accounttransaction)
 {
     if (ModelState.IsValid)
     {
         db.Entry(accounttransaction).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     ViewBag.BookingID = new SelectList(db.Bookings, "BookingID", "BookingPRCReference", accounttransaction.BookingID);
     ViewBag.BookingExtraSelectionID = new SelectList(db.BookingExtraSelections, "BookingExtraSelectionID", "BookingExtraPRCReference", accounttransaction.BookingExtraSelectionID);
     return View(accounttransaction);
 }