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"); } }
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)); }