public static MvcHtmlString LoadProfilePicture(this HtmlHelper helper, ItemViewModels.PersonViewModel model,
                                                       string size, object htmlAttributes = null)
        {
            string src      = "/Person/Picture?itemId=" + model.Item.ItemId;
            string errorUrl = GetOnErrorUrl(model, size);
            string onerror  = "this.onload = null; this.src='" + errorUrl + "';";

            var imgTag = new TagBuilder("img");

            if (model.Item.Picture == null)
            {
                imgTag.Attributes.Add("src", errorUrl);
            }
            else
            {
                imgTag.Attributes.Add("src", src);
            }
            imgTag.Attributes.Add("onerror", onerror);

            if (htmlAttributes != null)
            {
                var attributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes);
                imgTag.MergeAttributes(attributes);
            }

            return(MvcHtmlString.Create(imgTag.ToString(TagRenderMode.Normal)));
        }
        private static string GetOnErrorUrl(ItemViewModels.PersonViewModel model, string size)
        {
            try
            {
                SocialMediaName socialMediaName = model.SocialMediaNames.FirstOrDefault(s => s.Source.Name == "Twitter");
                string          imageUrl        = "https://twitter.com/" + socialMediaName.Username + "/profile_image?size=" + size;

                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(imageUrl);
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        return(response.ResponseUri.AbsoluteUri);
                    }
                    return("/Content/build/images/picture.jpg");
                }
            }
#pragma warning disable CS0168 // Variable is declared but never used
            catch (Exception e)
#pragma warning restore CS0168 // Variable is declared but never used
            {
                return("/Content/build/images/picture.jpg");
            }
        }
Exemple #3
0
 public IHttpActionResult UpdateItem(int itemId, [FromBody] ItemViewModels.PersonViewModel model)
 {
     itemManager = new ItemManager();
     itemManager.ChangePerson(itemId, model.DateOfBirth, model.Gender, model.Position, model.District);
     return(StatusCode(HttpStatusCode.NoContent));
 }