public VideoRentalItemRenter(VideoRentalItemRenter videoRentalItemRenter) { this.Id = videoRentalItemRenter.Id; this.Title = videoRentalItemRenter.Title; this.Genre = videoRentalItemRenter.Genre; this.ReleaseYear = videoRentalItemRenter.ReleaseYear; this.Duration = videoRentalItemRenter.Duration; this.Language = videoRentalItemRenter.Language; this.Rating = videoRentalItemRenter.Rating; this.IsRented = videoRentalItemRenter.IsRented; }
public VideoRentalItem(VideoRentalItemRenter VideoRentalItemRenter) { this.Id = VideoRentalItemRenter.Id; this.Title = VideoRentalItemRenter.Title; this.Genre = VideoRentalItemRenter.Genre; this.ReleaseYear = VideoRentalItemRenter.ReleaseYear; this.Duration = VideoRentalItemRenter.Duration; this.Language = VideoRentalItemRenter.Language; this.Rating = VideoRentalItemRenter.Rating; this.RenterId = VideoRentalItemRenter.Renter.Id.ToString(); this.IsRented = VideoRentalItemRenter.IsRented; }
public async Task <ActionResult <dynamic> > GetVideoRentalItemRenter(long id) { var videoRentalItem = await _context.VideoRentalItems.FindAsync(id); if (videoRentalItem == null) { string message = $"Video rental item with id {id} does not exist!"; return(NotFound(message)); } if (videoRentalItem.RenterId == null) { string message = $"Video rental item with id {id} does not have a renter."; return(BadRequest(message)); } RenterItem renter = null; try { using (var httpClient = new HttpClient()) { using (var response = await httpClient.GetAsync(path + videoRentalItem.RenterId)) { string apiResponse = await response.Content.ReadAsStringAsync(); renter = JsonConvert.DeserializeObject <RenterItem>(apiResponse); } } } catch (Exception exception) { System.Diagnostics.Debug.WriteLine(exception); return(videoRentalItem); } renter.Id = long.Parse(videoRentalItem.RenterId); VideoRentalItemRenter videoRentalItemRenter = new VideoRentalItemRenter(videoRentalItem); videoRentalItemRenter.Renter = renter; return(videoRentalItemRenter); }
public async Task <ActionResult <IEnumerable <dynamic> > > GetVideoRentalItemsRenter(bool filter = true) { if (filter) { var videoRentalItems = await _context.VideoRentalItems.ToListAsync(); List <Object> videoRentalItemsRenters = new List <Object>(); foreach (var item in videoRentalItems) { RenterItem renter = null; try { using (var httpClient = new HttpClient()) { using (var response = await httpClient.GetAsync(path + item.RenterId)) { string apiResponse = await response.Content.ReadAsStringAsync(); renter = JsonConvert.DeserializeObject <RenterItem>(apiResponse); } } VideoRentalItemRenter itemWithRenter = new VideoRentalItemRenter(item); itemWithRenter.Renter = renter; videoRentalItemsRenters.Add(itemWithRenter); } catch (Exception exception) { System.Diagnostics.Debug.WriteLine(exception); videoRentalItemsRenters.Add(item); } } return(videoRentalItemsRenters); } else { return(await _context.VideoRentalItems.ToListAsync()); } }
public async Task <ActionResult <VideoRentalItemRenter> > PostVideoRentalItemRenter(VideoRentalItemRenter videoRentalItemRenter) { VideoRentalItem videoRentalItem = new VideoRentalItem(videoRentalItemRenter); _context.VideoRentalItems.Add(videoRentalItem); if (VideoRentalItemExists(videoRentalItem.Id)) { return(BadRequest("Error: An item with the same key already exists!")); } RenterItem renterItem = videoRentalItemRenter.Renter; RenterItemId renterItemId = new RenterItemId(renterItem); try { using (var httpClient = new HttpClient()) { var json = JsonConvert.SerializeObject(renterItemId); var httpContent = new StringContent(json, Encoding.UTF8, "application/json"); using (var response = await httpClient.PostAsync(path, httpContent)) { string apiResponse = await response.Content.ReadAsStringAsync(); } } } catch (Exception exception) { System.Diagnostics.Debug.WriteLine(exception); return(StatusCode(503)); } videoRentalItem.Id = videoRentalItem.Id; await _context.SaveChangesAsync(); videoRentalItemRenter.Id = videoRentalItem.Id; return(StatusCode(201, videoRentalItemRenter)); }