// TODO: Client side cache public async Task <TeamMember> Get(TeamMemberLite teamMemberLite) { try { var response = await httpClient.GetStringAsync($"http://localhost:5000/api/employees/{teamMemberLite.Id}"); var teamMember = JsonConvert.DeserializeObject <TeamMember>(response); teamMember.TeamMemberLite = teamMemberLite; return(teamMember); } catch (Exception e) { return(new TeamMember("", "")); } }
/// <summary> /// Update the cell's child views' values and presentation. /// </summary> /// <param name="acquaintance">Acquaintance.</param> public void Update(TeamMemberLite acquaintance) { // set disclousure indicator accessory for the cell Accessory = UITableViewCellAccessory.DisclosureIndicator; NameLabel.Text = acquaintance.DisplayLastNameFirst; CompanyLabel.Text = acquaintance.Company; JobTitleLabel.Text = acquaintance.JobTitle; InvokeOnMainThread(async() => { // use FFImageLoading library to asynchronously: await ImageService .Instance .LoadUrl(acquaintance.SmallPhotoUrl, TimeSpan.FromHours(Settings.ImageCacheDurationHours)) // get the image from a URL .LoadingPlaceholder("placeholderProfileImage.png") // specify a placeholder image .Transform(new CircleTransformation()) // transform the image to a circle .Error(e => System.Diagnostics.Debug.WriteLine(e.Message)) .IntoAsync(ProfilePhotoImageView); }); }