public static System.Collections.Generic.Dictionary <string, string> MakeNotificationInfo(string categoryStr, Account owner, Account account, BaseArticle baseArticle, Category category, EmailNotificationAction action)
        {
            Dictionary <string, string> dict = new Dictionary <string, string>();

            var item_cat      = "Item";
            var item_url      = "";
            var articleID     = baseArticle.ArticleID;
            var baseArticleID = baseArticle.BaseArticleID;
            var name          = baseArticle.Name;

            if (categoryStr.Equals("Article"))
            {
                item_cat = "Article";
                if (account.isRolePublisher())
                {
                    item_url = "/ArticlePublisher/DetailsLocale?baseArticleID=" + baseArticle.BaseArticleID + "&version=" + baseArticle.Version + "&lang=" + baseArticle.Lang;
                }
                else if (account.isRoleApprover())
                {
                    item_url = "/ArticleApprover/DetailsLocale?baseArticleID=" + baseArticle.BaseArticleID + "&version=" + baseArticle.Version + "&lang=" + baseArticle.Lang;
                }
                else if (account.isRoleEditor())
                {
                    item_url = "/ArticleEditor/DetailsLocale?baseArticleID=" + baseArticle.BaseArticleID + "&version=" + baseArticle.Version + "&lang=" + baseArticle.Lang;
                }
            }
            else if (categoryStr.Equals("Content Page"))
            {
                item_cat = "Content Page";
                item_url = "/ContentPageEditor/DetailsLocale?baseArticleID=" + baseArticle.BaseArticleID + "&version=" + baseArticle.Version + "&lang=" + baseArticle.Lang;
            }

            item_url = ServerHelper.GetSiteRoot() + item_url;

            var item_action_tag         = "";
            var item_action_description = "";

            switch (action)
            {
            case EmailNotificationAction.CREATE:
                item_action_tag         = "Created";
                item_action_description = "{0} {1} has been created by {2}.";
                break;

            case EmailNotificationAction.EDIT:
                item_action_tag         = "Edited";
                item_action_description = "{0} {1}'s contents has been edited by {2}.";
                break;

            case EmailNotificationAction.EDITPROPERTIES:
                item_action_tag         = "Properties Edited";
                item_action_description = "{0} {1}'s properties has been edited by {2}.";
                break;

            case EmailNotificationAction.DELETE:
                item_action_tag         = "Deleted";
                item_action_description = "{0} {1} has been deleted by {2}.";
                break;

            case EmailNotificationAction.CREATENEWVERSION:
                item_action_tag         = "Created New Version";
                item_action_description = "A new version of {0} {1} has been created by {2}.";
                break;

            case EmailNotificationAction.SUBMITFORAPPROVAL:
                item_action_tag         = "Submitted for Approval";
                item_action_description = "{0} {1} has been submitted for approval by {2}.";
                break;

            case EmailNotificationAction.APPROVE:
                item_action_tag         = "Approved";
                item_action_description = "{0} {1} has been approved by {2}.";
                break;

            case EmailNotificationAction.UNAPPROVE:
                item_action_tag         = "Unapproved";
                item_action_description = "{0} {1} has been unapproved by {2}.";
                break;

            case EmailNotificationAction.PUBLISH:
                item_action_tag         = "Published";
                item_action_description = "{0} {1} has been published by {2}.";
                break;

            case EmailNotificationAction.UNPUBLISH:
                item_action_tag         = "Unpublished";
                item_action_description = "{0} {1} has been unpublished by {2}.";
                break;

            default:
                break;
            }

            var item_subject = String.Format("[GSL - {0} {1}] ({2}) {3}",
                                             item_cat,
                                             baseArticleID,
                                             item_action_tag,
                                             name
                                             );


            var item_action_description_impl = string.Format(
                item_action_description,
                item_cat,
                baseArticleID,
                owner.Username
                );


            var item_body = string.Format(
                "Dear {0} {1}, <br/><br/>" +
                "<p>{2}</p>" +
                "<p><a href='{3}'>{4}</a></p>" +
                "<hr />" +
                "<p>Geminis CMS Team</p>",
                account.Firstname,
                account.Lastname,
                item_action_description_impl,
                item_url,
                item_subject
                );

            dict.Add("subject", item_subject);
            dict.Add("body", item_body);

            return(dict);
        }