public static string Gravatar(this HtmlHelper htmlHelper, OxiteViewModel model, string size)
        {
            UserViewModel user = model.GetUser();

            return(htmlHelper.Gravatar(
                       !string.IsNullOrEmpty(user.EmailHash) ? user.EmailHash.CleanAttribute() : null,
                       !string.IsNullOrEmpty(user.Name) ? user.DisplayName.CleanAttribute() : null,
                       size,
                       model.Site.GravatarDefault
                       ));
        }
        public static DateTime ConvertToLocalTime(this HtmlHelper htmlHelper, DateTime dateTime, OxiteViewModel model)
        {
            if (!model.GetUser().IsAuthenticated)
            {
                if (model.Site.TimeZoneOffset != 0)
                {
                    return(dateTime.Add(TimeSpan.FromHours(model.Site.TimeZoneOffset)));
                }

                return(dateTime);
            }

            return(dateTime); //TODO: (erikpo) Get the timezone offset from the current user and apply it
        }
        public static string Gravatar <TModel>(this HtmlHelper <TModel> htmlHelper, string size) where TModel : OxiteViewModel
        {
            OxiteViewModel model = htmlHelper.ViewData.Model;
            UserViewModel  user  = model.GetUser();

            string emailHash = user.EmailHash ?? user.Email.ComputeHash();
            string name      = user.DisplayName ?? user.Name;

            return(htmlHelper.Gravatar(
                       !string.IsNullOrEmpty(emailHash) ? emailHash.CleanAttribute() : null,
                       !string.IsNullOrEmpty(name) ? name.CleanAttribute() : null,
                       size,
                       model.Site.GravatarDefault
                       ));
        }