public ActionResult OrgList()
        {
            string version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();

            ViewBag.Version = version;
            int userId                  = GetIntSessionValue(UserSession.Key.UserId);
            int userHighestRole         = GetIntSessionValue(UserSession.Key.UserHighestRole);
            OrganizationRequest request = new OrganizationRequest();

            request.UserId   = userId;
            request.UserRole = userHighestRole;
            OrganizationResponse organizations = _securityFacade.GetUserOrganizations(request);

            List <OrganizationModel> model        = organizations.OrganizationList.ToOrganizationModelList();
            OrgListModel             orgListModel = new OrgListModel();

            orgListModel.OrganizationList = model;

            if (userHighestRole == 3)
            {
                return(View(ViewActions.OrgList, orgListModel));
            }
            else
            {
                return(RedirectToAction(ViewActions.UserList, ControllerNames.AdminUser));
            }
        }
        private ActionResult ValidateUser(UserLoginModel Model, string ReturnUrl)
        {
            string formId = "", pageNumber;

            if (ReturnUrl == null || !ReturnUrl.Contains("/"))
            {
                ReturnUrl = "/Home/Index";
            }
            else
            {
                formId     = ReturnUrl.Substring(0, ReturnUrl.IndexOf('/'));
                pageNumber = ReturnUrl.Substring(ReturnUrl.LastIndexOf('/') + 1);
            }

            try
            {
                Epi.Cloud.Common.Message.UserAuthenticationResponse result = _securityFacade.ValidateUser(Model.UserName, Model.Password);
                if (result.UserIsValid)
                {
                    if (result.User.ResetPassword)
                    {
                        UserResetPasswordModel model = new UserResetPasswordModel();
                        model.UserName  = Model.UserName;
                        model.FirstName = result.User.FirstName;
                        model.LastName  = result.User.LastName;
                        ReadPasswordPolicy(model);
                        return(ResetPassword(model));
                    }
                    else
                    {
                        OrganizationRequest request = new OrganizationRequest();
                        request.UserId   = result.User.UserId;
                        request.UserRole = result.User.UserHighestRole;
                        // OrganizationResponse organizations = _securityFacade.GetAdminOrganizations(request);
                        OrganizationResponse organizations = _securityFacade.GetUserOrganizations(request);

                        FormsAuthentication.SetAuthCookie(Model.UserName, false);
                        SetSessionValue(UserSession.Key.UserId, result.User.UserId);
                        //SetSessionValue(UserSession.Key.UsertRole, result.User.Role);
                        SetSessionValue(UserSession.Key.UserHighestRole, result.User.UserHighestRole);
                        SetSessionValue(UserSession.Key.UserEmailAddress, result.User.EmailAddress);
                        SetSessionValue(UserSession.Key.UserFirstName, result.User.FirstName);
                        SetSessionValue(UserSession.Key.UserLastName, result.User.LastName);
                        SetSessionValue(UserSession.Key.UserName, result.User.UserName);
                        SetSessionValue(UserSession.Key.UGuid, result.User.UGuid);
                        SetSessionValue(UserSession.Key.CurrentOrgId, organizations.OrganizationList[0].OrganizationId);

                        return(RedirectToAction(ViewActions.Index, ControllerNames.Home, new { surveyid = formId }));
                        //return Redirect(ReturnUrl);
                    }
                }
                //else
                {
                    ModelState.AddModelError("", "The email or password you entered is incorrect.");
                    Model.ViewValidationSummary = true;
                    return(View(Model));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", "The email or password you entered is incorrect.");
                Model.ViewValidationSummary = true;
                return(View(Model));

                throw;
            }
        }