public async Task <User> GetByIdAsync(Guid id) { try { var profile = await profilesApi.GetByIdAsync(id); return(new User(profile.Id, profile.FirstName, profile.LastName, profile.Gender, profile.DateOfBirth, profile.ProfilePicture)); } catch (Profiles.Client.ApiException ex) when(ex.ErrorCode == (int)HttpStatusCode.NotFound) { return(null); } }
public async Task UploadAsync( Guid userId, string fileName, Stream stream, CancellationToken cancellationToken = default) { var user = await profilesApi.GetByIdAsync(userId, cancellationToken); var blobContainer = blobClient.GetBlobContainerClient("photos"); await blobContainer.CreateIfNotExistsAsync(PublicAccessType.BlobContainer, cancellationToken : cancellationToken); var blob = blobContainer.GetBlobClient($"{userId.ToString()}/{fileName}"); await blob.UploadAsync(stream, cancellationToken); await profilesApi.UpdateAsync( userId, new ProfileUpdateViewModel( user.FirstName, user.LastName, user.Gender, user.DateOfBirth, user.City, blob.Uri.ToString()), cancellationToken); }
public async Task <UserInfo> GetProfileAsync() { if (UserId == null) { return(null); } var profile = await profilesApi.GetByIdAsync(Guid.Parse(UserId)); return(new UserInfo(profile.Id, $"{profile.FirstName} {profile.LastName}", null)); }
private async Task <IEnumerable <UserInfo> > GetProfilesByIdsAsync(IEnumerable <Guid> ids) { var friends = new List <UserInfo>(ids.Count()); foreach (var id in ids) { var friend = await profilesApi.GetByIdAsync(id); friends.Add(new UserInfo(friend.Id, $"{friend.FirstName} {friend.LastName}", string.Empty)); } return(friends); }
public async Task <UserInfo> GetByIdAsync(string id) { if (!Guid.TryParse(id, out var guid)) { return(null); } try { var result = await profilesApi.GetByIdAsync(guid); return(result == null ? null : new UserInfo(result.Id, $"{result.FirstName} {result.LastName}", null)); } catch (ApiException ex) when(ex.ErrorCode == (int)HttpStatusCode.NotFound) { return(null); } }