public async Task <IActionResult> GetMovieDialogueById(int movieId, int dialogueId) { _logger.LogInformation("Getting dialogue with id {DialogueID} from movie with Id: {ID} @ {DATE}", dialogueId, movieId, DateTime.UtcNow); var movie = await _context.Movies.FindAsync(movieId); if (movie == null) { _logger.LogWarning("Not found movie with Id: {ID} @ {DATE}", movieId, DateTime.UtcNow); return(NotFound()); } var dialogue = movie.Dialogues.Where(d => d.Id == dialogueId).SingleOrDefault(); if (dialogue == null) { _logger.LogWarning("Not found quote with Id: {ID} @ {DATE}", dialogueId, DateTime.UtcNow); return(NotFound()); } var dialogueDTO = new DialogueDTO { Content = dialogue.Content, Id = dialogue.Id, Movie = dialogue.Movie.Title, Year = dialogue.Movie.Year }; return(Ok(dialogueDTO)); }
public async Task <IActionResult> GetMovieRandomDialogue(int id) { _logger.LogInformation("Getting random dialogue from movie with Id: {ID} @ {DATE}", id, DateTime.UtcNow); var movie = await _context.Movies.FindAsync(id); if (movie == null) { _logger.LogWarning("Not found movie with Id: {ID} @ {DATE}", id, DateTime.UtcNow); return(NotFound()); } var random = new Random(Guid.NewGuid().GetHashCode()); var randomIndex = random.Next(1, movie.Dialogues.Count); Dialogue randomDialogue = movie.Dialogues.ElementAt(randomIndex); var randomDialogueDTO = new DialogueDTO { Id = randomDialogue.Id, Content = randomDialogue.Content, Year = movie.Year }; return(Ok(randomDialogueDTO)); }
public async Task <IActionResult> GetRandomDialogue() { _logger.LogInformation("Getting a random dialogue @ {DATE}", DateTime.UtcNow); var _random = new Random(Guid.NewGuid().GetHashCode()); int randomIndex = _random.Next(1, _context.Dialogues.Count()); var randomDialogue = await _context.Dialogues.FindAsync(randomIndex); var randomDialogueDTO = new DialogueDTO { Id = randomDialogue.Id, Content = randomDialogue.Content, Movie = randomDialogue.Movie.Title, Year = randomDialogue.Movie.Year }; return(Ok(randomDialogueDTO)); }
public async Task <IActionResult> GetDialogue(int id) { _logger.LogInformation("Getting dialogue with Id: {ID} @ {DATE}", id, DateTime.UtcNow); var dialogue = await _context.Dialogues.FindAsync(id); if (dialogue == null) { _logger.LogWarning("Not found dialogue with Id: {ID} @ {DATE}", id, DateTime.UtcNow); return(NotFound()); } var dialogueDTO = new DialogueDTO { Id = dialogue.Id, Content = dialogue.Content, Movie = dialogue.Movie.Title, Year = dialogue.Movie.Year }; return(Ok(dialogueDTO)); }