Exemple #1
0
        // 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);
            });
        }