Ejemplo n.º 1
0
        public IActionResult Del(int id)
        {
            var locatario = _locatarioRepository.EncontrarPorId(id);

            if (locatario == null)
            {
                return(NotFound("Não encontrado o locatario especificado"));
            }

            List <Filme> filmes = _locatarioDomainService.VerificaSeOLocatarioPossuiFilmeLocado(locatario);

            if (filmes.Count != 0)
            {
                string retorno = $"Não é possivel deletar o Locatario, o locatario possui o(s) seguinte(s) filme(s) locado(s): ";

                foreach (var filme in filmes)
                {
                    retorno = retorno + " Titulo: " + filme.Titulo + "; ";
                }

                return(BadRequest(retorno));
            }


            var sucesso = _locatarioDomainService.DeletarLocatario(locatario);

            if (!sucesso)
            {
                return(BadRequest("Ocorreu um erro ao deletar o locatario"));
            }
            else
            {
                return(Ok("locatario deletado com suceso"));
            }
        }
        public IActionResult LocarOuDevolverFilme(LocarFilmeModel locarFilme)
        {
            var filme = _filmeRepository.RetornarFilmePorId(locarFilme.FilmeId);

            if (filme == null)
            {
                return(NotFound("Não encontrado o filme especificado"));
            }

            var locatario = new Locatario();

            if (locarFilme.LocatarioId != 0)
            {
                locatario = _locatarioRepository.EncontrarPorId(locarFilme.LocatarioId);

                if (locatario == null)
                {
                    return(NotFound("Não encontrado o locatario especificado"));
                }

                if (filme.Locado == FilmeLocado.Sim)
                {
                    return(BadRequest("Filme esta indisponivel."));
                }
            }
            else
            {
                locatario = null;
            }

            var sucesso = _filmeDomainService.LocarFilme(filme, locatario);

            if (!sucesso)
            {
                return(Conflict("Ocorreu um erro ao locar ou devolver o filme."));
            }
            else
            {
                return(Ok("sucesso."));
            }
        }