public void InitUserListsAndLinks(RevisionAddViewModel model)
        {
            if (model.UserAdminLink.IsNull())
            {
                model.UserAdminLink = new LinkItem();
            }

            if (model.UserList.IsNull())
            {
                model.UserList = new List <RevisionUserItemModelHelper>();
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="loggedInUser"></param>
        /// <param name="applicationUserContext"></param>
        /// <param name="taxonId"></param>
        /// <param name="taxon"></param>
        /// <param name="userList"></param>
        /// <returns></returns>
        public RevisionAddViewModel GetRevisionAddViewModel(IUserContext loggedInUser, IUserContext applicationUserContext, string taxonId, ITaxon taxon, List <RevisionUserItemModelHelper> userList)
        {
            // Create model
            RevisionAddViewModel model = new RevisionAddViewModel();

            // Set initaial values
            model.TaxonId                = taxonId;
            model.ExpectedStartDate      = DateTime.Now;
            model.ExpectedPublishingDate = DateTime.Now.AddYears(1);
            model.RevisionDescription    = string.Empty;
            model.ShowInitalizeButton    = true;
            string url = Resources.DyntaxaResource.SharedRevisionUserAdminLinkText;

            model.UserAdminLink = new LinkItem(LinkType.Url, LinkQuality.Automatic, url, userAdminRoleLink);

            // Check that all logged in user and dyntaxa application user is valid.
            if (loggedInUser.IsNotNull())
            {
                if (applicationUserContext.IsNotNull())
                {
                    // Set locale to logged in user, used so that correct language for created roles  and authorities will be set.
                    applicationUserContext.Locale = loggedInUser.Locale;

                    // Get all users that are allowed to to edit taxon
                    model.UserList   = userList; //GetAllTaxonEditors(applicationUserContext, out roleId);
                    model.RevisionId = "0";
                    // Set taxon values
                    if (taxon.IsNotNull() && taxon.Id.IsNotNull())
                    {
                        model.TaxonId = taxon.Id.ToString();
                    }
                    else
                    {
                        model.ErrorMessage = Resources.DyntaxaResource.RevisonAddInvalidTaxonErrorText;
                        model.TaxonId      = taxonId;
                    }
                }
                else
                {
                    model.ErrorMessage = Resources.DyntaxaResource.SharedInvalidApplicationUserContext;
                }
            }
            else
            {
                model.ErrorMessage = Resources.DyntaxaResource.SharedInvalidUserContext;
            }
            return(model);
        }