public async Task <IList <Photo> > GetPhotos(int skip, int count) { var photos = await _repository.FetchAsync(skip, count); if (photos == null || photos.Count == 0) { return(new List <Photo>()); } var photosList = new List <Photo>(); foreach (var photo in photos) { UserDao user = null; UserImageUrlDao profileImgs = null; if (!string.IsNullOrEmpty(photo.UserId)) { user = await _userRepository.GetAsync(photo.UserId); profileImgs = await _userImageUrlRepository.GetAsync(photo.UserId); } var photoUrls = await _photoUrlRepository.GetAsync(photo.Id); photosList.Add(PhotoReponseConvertor.ConvertDataToPhoto(photo, user, profileImgs, photoUrls)); } return(photosList); }
public static Photo ConvertDataToPhoto(PhotoDao photo, UserDao user, UserImageUrlDao imgUrls, PhotoUrlDao urls) { var photoData = new Photo(); photoData.Id = photo.Id; photoData.Create = photo.CreateDate; photoData.Update = photo.UpdateDate; photoData.LikedByUser = photo.LikedByUser; photoData.Likes = photo.Likes; photoData.Description = photo.Description; if (user != null) { var userData = new User(); userData.Id = user.Id; userData.Name = user.Name; if (imgUrls != null) { var profileImgData = new ProfileImageModel(); profileImgData.Large = imgUrls.Large; profileImgData.Medium = imgUrls.Medium; profileImgData.Small = imgUrls.Small; userData.ProfileImages = profileImgData; } photoData.User = userData; } if (urls != null) { var photoUrlData = new Url(); photoUrlData.Raw = urls.Raw; photoUrlData.Regular = urls.Regular; photoUrlData.Small = urls.Small; photoUrlData.Thumb = urls.Thumb; photoData.Urls = photoUrlData; } return(photoData); }
public static UserImageUrlDao ConvertUserPhotoToUserImageUrlDao(Photo photo) { if (photo.User == null) { return(null); } var userDao = new UserImageUrlDao(); userDao.Id = photo.User.Id; if (photo.User.ProfileImages != null) { userDao.Large = photo.User.ProfileImages.Large; userDao.Medium = photo.User.ProfileImages.Medium; userDao.Small = photo.User.ProfileImages.Small; } return(userDao); }
public async Task <Photo> GetPhoto(string id) { var photo = await _repository.GetAsync(id); if (photo == null) { return(null); } UserDao user = null; UserImageUrlDao profileImgs = null; if (!string.IsNullOrEmpty(photo.UserId)) { user = await _userRepository.GetAsync(photo.UserId); profileImgs = await _userImageUrlRepository.GetAsync(photo.UserId); } var photoUrls = await _photoUrlRepository.GetAsync(photo.Id); return(PhotoReponseConvertor.ConvertDataToPhoto(photo, user, profileImgs, photoUrls)); }