public ActionResult AdvisorSecurityUpdate(AdvisorSecurityModel advisorSecurity)
        {
            //If you are not allowed to save this model, get out of here.
            if (!AuthorizedToSave("advisors-advisorsecurityupdate", advisorSecurity))
            {
                return(null);
            }


            //var vm = (AdvisorSecurityModel)(HttpContext.Items["vm"]);
            // if LoginAlias hasn't changed, ignore validation errors
            if (advisorSecurity.LoginAlias == advisorSecurity.LoginAliasOriginal)
            {
                if (ModelState.ContainsKey("LoginAlias"))
                {
                    ModelState["LoginAlias"].Errors.Clear();
                }
            }

            if (advisorSecurity.Status == "Archive" || ModelState.IsValid)
            {
                var success = AgencySecurityViewManager.SetAdvisorSecurity(advisorSecurity);
                return(new HttpStatusCodeResult(success ? HttpStatusCode.OK : HttpStatusCode.InternalServerError));
            }
            else
            {
                var partialWithValidationErrors = PartialView("EditorTemplates/Admin.AdvisorSecurity", advisorSecurity);
                Response.StatusCode = (int)HttpStatusCode.PartialContent;

                return(partialWithValidationErrors);
            }
        }
        public ActionResult AdvisorSecurity(int id, bool isEditMode, bool mayDelete = false)
        {
            var vm = AgencySecurityViewManager.GetAdvisorSecurity(id);



            if (vm == null)
            {
                // TODO: log it...
                return(PageNotFoundActionResult());
            }
            else
            {
                CacheManager.Add("advisorSecurityModel" + vm.Id, vm, new TimeSpan(0, 10, 0));

                vm.MayDeleteProfile        = mayDelete && isEditMode;
                vm.CannotEditSecurityRoles = CannotEditSecurityRoles();
                vm.LoadSecurity("agencies-index", vm);
                var viewPath = isEditMode ? "EditorTemplates/Admin.AdvisorSecurity" : "DisplayTemplates/Admin.AdvisorSecurity";
                return(PartialView(viewPath, vm));
            }
        }