//
        // GET: /ReimbursableBenefitsAccount/Create
        public ActionResult Create()
        {
            var model = new ReimbursableBenefitsAccount();

            var orgId = GetOrgIdForCurrentUser();
            if (!String.IsNullOrEmpty(orgId))
            {
                model = new ReimbursableBenefitsAccount() {OrgId = orgId, Chart = "3", IsActive = true};
            }
            else
            {
                Message = "Error: No Organization found for current user!";
            }

            ViewData.Model = model;
            return View();
        }
        public ActionResult Create(ReimbursableBenefitsAccount collection)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newAccount = new ReimbursableBenefitsAccount()
                        {
                            OrgId = collection.OrgId,
                            Chart = collection.Chart,
                            Account = collection.Account,
                            IsActive = collection.IsActive
                        };

                    // Optional way if an additional method is implemented in the datamap.
                    //if (_reimbursableBenefitsAccountRepository.Queryable.Any(x => x.IdString.Equals(newAccount.IdString)))
                    if (_reimbursableBenefitsAccountRepository.GetNullableById(newAccount.Id) != null)
                    {
                        Message = "Account \"" + newAccount.Id + "\" already exists!";

                        return RedirectToAction("Index");
                    }

                    _reimbursableBenefitsAccountRepository.EnsurePersistent(newAccount);

                    Message = "New account \"" + newAccount.Id + "\" has been created.";

                    return RedirectToAction("Index");
                }
                return View(collection);
            }
            catch
            {
                 return View(collection);
            }
        }