public IServiceResult Emprestar(TipoMidia tipoMidia, int midiaId, string possuinteNome, string possuinteFormaDeContato)
        {
            var possuinte = new Possuinte()
            {
                Nome = possuinteNome, FormaDeContato = possuinteFormaDeContato
            };

            var emprestimo = new Emprestimo(possuinte)
            {
                EstaEmprestado = true
            };

            switch (tipoMidia)
            {
            case TipoMidia.Livro:
                var updateResponseLivro = esClientProvider.Client.Update <Livro, object>(midiaId, u => u.Doc(new { emprestimo = emprestimo }).RetryOnConflict(1));
                break;

            case TipoMidia.Cd:
                var updateResponseCd = esClientProvider.Client.Update <Cd, object>(midiaId, u => u.Doc(new { emprestimo = emprestimo }).RetryOnConflict(1));
                break;

            case TipoMidia.Dvd:
                var updateResponseDvd = esClientProvider.Client.Update <Dvd, object>(midiaId, u => u.Doc(new { emprestimo = emprestimo }).RetryOnConflict(1));
                break;

            default: return(ServiceResult.CriarFormularioInvalido(new List <string> {
                    "Midia não informada"
                }));
            }

            return(ServiceResult.CreateResultOk());
        }
Example #2
0
 public Filme(string id, string nome, DateTime dataCadastro, Genero genero, double preco, TipoMidia tipoMidia)
 {
     Id           = id;
     Nome         = nome;
     DataCadastro = dataCadastro;
     Genero       = genero;
     Preco        = preco;
     TipoMidia    = tipoMidia;
 }
Example #3
0
        public IEnumerable <SelectListItem> DeterminarCategoriasViewBag(TipoMidia tipo)
        {
            var listaCategoriasVideo = db.Categorias.Where(c => c.Tipo == tipo);
            IEnumerable <SelectListItem> listaEnumerada = listaCategoriasVideo.Select(c => new SelectListItem {
                Text = c.Nome, Value = c.Id.ToString()
            });

            return(listaEnumerada);
        }
Example #4
0
        public void ValidarTipoMidia()
        {
            TipoMidiaServico _servico       = new TipoMidiaServico();
            TipoMidia        _tipoMidiaNovo = new TipoMidia();

            _tipoMidiaNovo.Descricao = "Ação e Aventura";
            TipoMidia _tipoMidia = _servico.TesteTipoMidia(_tipoMidiaNovo);

            _tipoMidia.ToExpectedObject().ShouldMatch(_tipoMidiaNovo);
        }
Example #5
0
        public IActionResult Devolver(TipoMidia tipoMidia, int midiaId)
        {
            var result = midiaService.Devolver(tipoMidia, midiaId);

            if (!result.EhValido)
            {
                return(Json(new { erros = result.Erros }));
            }

            return(Ok());
        }
Example #6
0
        public async Task <bool> Atualizar(TipoMidia tipoMidia)
        {
            if (!ExecutarValidacao(new TipoMidiaValidation(), tipoMidia))
            {
                return(false);
            }

            await _tipoMidiaRepository.Atualizar(tipoMidia);

            return(true);
        }
Example #7
0
        public static string ValidarTipoMidia(TipoMidia tipoMidia)
        {
            string _retorno = "";

            tipoMidia.DtcAtualizacao = DateTime.Now;
            _retorno = tipoMidia switch
            {
                _ when tipoMidia.Descricao == "" => _retorno = "Descrição inválida.",
                                 _ => ""
            };

            return(_retorno);
        }
    }
Example #8
0
        public async Task <IActionResult> Incluir(TipoMidia tipoMidia)
        {
            try
            {
                TipoMidia aplic = await _servico.Incluir(tipoMidia);

                MessageResultData _resultado = MessageResult.Message(Constantes.Constantes.SUCESSO, "Inclusão realizada com sucesso.", MessageTypeEnum.success);
                return(Ok(_resultado));
            }
            catch (Exception ex)
            {
                return(BadRequest(MessageResult.Mensagem(ex)));
            }
        }
Example #9
0
        private static void AdicionarTipoMidia()
        {
            using (var contexto = new TunesContext())
            {
                var tipoMidia = new TipoMidia
                {
                    Nome = "MP3"
                };

                contexto.TiposDeMidia.Add(tipoMidia);

                contexto.SaveChanges();
            }

            Console.ReadKey();
        }
Example #10
0
        public async Task <IActionResult> Buscar(int id)
        {
            try
            {
                TipoMidia tipoConteudo = await _servico.BuscarId(id);

                if (tipoConteudo == null)
                {
                    MessageResultData resultado = MessageResult.Message(Constantes.Constantes.ALERTA, "Tipo mídia não encontrada.", MessageTypeEnum.warning);
                    return(Ok(resultado));
                }

                return(Ok(tipoConteudo));
            }
            catch (Exception ex)
            {
                return(BadRequest(MessageResult.Mensagem(ex)));
            }
        }
Example #11
0
        public static string ContentType(TipoMidia tipo)
        {
            switch (tipo)
            {
            case TipoMidia.Musica:
                return("audio/mpeg");

            case TipoMidia.Video:
                return("video/mpeg");

            case TipoMidia.Podcast:
                return("audio/mpeg");

            case TipoMidia.Livro:
                return("application/pdf");

            default:
                break;
            }

            return(String.Empty);
        }
        public IList <Midia> ObterPeloFiltro(TipoMidia tipoMidia, StatusMidia statusMidia, string palavraChave)
        {
            if (tipoMidia == 0 && statusMidia == 0 && string.IsNullOrEmpty(palavraChave))
            {
                return(ObterTodas());
            }

            var response = esClientProvider.Client.Search <IMidia>(x => x.Type(Types.Type(
                                                                                   typeof(Livro),
                                                                                   typeof(Cd),
                                                                                   typeof(Dvd)))
                                                                   .Query(q =>
                                                                          (
                                                                              q.Match(m => m.Field("_all").Query(palavraChave)) &&

                                                                              (statusMidia != 0 ?
                                                                               statusMidia == StatusMidia.Disponivel ?
                                                                               q.Term(t => t.Field(f => f.Emprestimo.EstaEmprestado)
                                                                                      .Value(false)) :
                                                                               q.Term(t => t.Field(f => f.Emprestimo.EstaEmprestado)
                                                                                      .Value(true))
                    : null) &&

                                                                              (tipoMidia != 0 ?
                                                                               +q.Term("_type", tipoMidia.ToString().ToLower())
                    : null)

                                                                          ))
                                                                   );

            var docs = response.Hits.Select(hit =>
            {
                hit.Source.Id = Convert.ToInt32(hit.Id);
                return(hit.Source);
            }
                                            ).OfType <Midia>().ToList();

            return(docs);
        }
        public IServiceResult Devolver(TipoMidia tipoMidia, int midiaId)
        {
            if (tipoMidia == 0 || midiaId == 0)
            {
                return(ServiceResult.CriarFormularioInvalido(new List <string> {
                    "Midia não informada"
                }));
            }

            var possuinte = new Possuinte()
            {
                Nome = string.Empty, FormaDeContato = string.Empty
            };

            var emprestimo = new Emprestimo(possuinte)
            {
                EstaEmprestado = false
            };

            switch (tipoMidia)
            {
            case TipoMidia.Livro:
                esClientProvider.Client.Update <Livro, object>(midiaId, u => u.Doc(new { emprestimo = emprestimo }).RetryOnConflict(1));
                break;

            case TipoMidia.Cd:
                esClientProvider.Client.Update <Cd, object>(midiaId, u => u.Doc(new { emprestimo = emprestimo }).RetryOnConflict(1));
                break;

            case TipoMidia.Dvd:
                esClientProvider.Client.Update <Dvd, object>(midiaId, u => u.Doc(new { emprestimo = emprestimo }).RetryOnConflict(1));
                break;

            default: throw new Exception();
            }

            return(ServiceResult.CreateResultOk());
        }
Example #14
0
        public static void Main(string[] args)
        {
            var  filmes   = new Filmes();
            var  clientes = new Clientes();
            bool execucao = true;

            do
            {
                Console.WriteLine("======================= MENU ========================");
                Console.WriteLine("Digite o número da função desejada");
                Console.WriteLine("1. Cadastrar Filme");
                Console.WriteLine("2. Cadastrar Cliente");
                Console.WriteLine("3. Listar Filmes");
                Console.WriteLine("4. Listar Clientes");
                Console.WriteLine("5. Remover Filmes");
                Console.WriteLine("6. Remover Clientes");
                Console.WriteLine("7. Alterar Filme");
                Console.WriteLine("8. Alterar Cliente");
                Console.WriteLine("9. SAIR");
                Console.WriteLine("");
                Console.Write(">> ");
                string funcao = Console.ReadLine();
                Console.Clear();

                switch (funcao)
                {
                case "1":
                    string id = Guid.NewGuid().ToString();

                    Console.WriteLine("Informe o nome do filme");
                    Console.Write(">> ");
                    string nome = Console.ReadLine();
                    Console.Clear();

                    DateTime dataCadastro = DateTime.Now;

                    Console.WriteLine("Informe o Genero do filme Ação; Comédia; Ficção; Romance; Terror");
                    Console.Write(">> ");
                    string generoEscolhido = Console.ReadLine();
                    Genero genero          = (Genero)Enum.Parse(typeof(Genero), generoEscolhido);
                    Console.Clear();

                    Console.WriteLine("Informe o tipo de mídia: BluRay; DVD; VHS");
                    Console.Write(">> ");
                    string    tipoMidiaEscolhida = Console.ReadLine();
                    TipoMidia tipoMidia          = (TipoMidia)Enum.Parse(typeof(TipoMidia), tipoMidiaEscolhida);
                    Console.Clear();

                    Console.WriteLine("Informe o preço do filme");
                    Console.Write(">> R$");
                    string inputPreco = Console.ReadLine();
                    double preco      = double.Parse(inputPreco);
                    Console.Clear();

                    var filme = new Filme(id, nome, dataCadastro, genero, preco, tipoMidia);

                    filmes.Adicionar(filme);

                    Console.WriteLine("================== Filme Cadastrado ==================");
                    Console.WriteLine($"Nome: {filme.Nome}");
                    Console.WriteLine($"Gênero: {filme.Genero}");
                    Console.WriteLine($"Mídia: {filme.TipoMidia}");
                    Console.WriteLine($"Preço: R${filme.Preco}");
                    Console.WriteLine($"Cadastrado: {filme.DataCadastro}");
                    Console.WriteLine($"ID: {filme.Id}");
                    Console.WriteLine("");
                    Console.WriteLine("Cadastro finalizado, aperte ENTER para sair...");
                    Console.ReadLine();
                    Console.Clear();
                    break;

                case "2":
                    string idCliente = Guid.NewGuid().ToString();

                    Console.WriteLine("Informe o nome do cliente");
                    Console.Write(">> ");
                    string nomeCliente = Console.ReadLine();
                    Console.Clear();

                    Console.WriteLine("Informe o CPF do cliente");
                    Console.Write(">> ");
                    string cpfCliente = Console.ReadLine();
                    Console.Clear();

                    Console.WriteLine("Informe a data de nascimento do cliente");
                    Console.Write(">> ");
                    string dataNascimentoCliente = Console.ReadLine();
                    Console.Clear();

                    DateTime dataCadastroCliente = DateTime.Now;

                    var cliente = new Cliente(idCliente, nomeCliente, cpfCliente, dataNascimentoCliente, dataCadastroCliente);
                    clientes.Adicionar(cliente);

                    Console.WriteLine("======= Cliente Cadastrado ===========================");
                    Console.WriteLine($"Nome: {cliente.NomeCliente}");
                    Console.WriteLine($"CPF: {cliente.CpfCliente}");
                    Console.WriteLine($"Data de Nascimento: {cliente.DataNascimentoCliente}");
                    Console.WriteLine($"Cadastro criado em: {cliente.DataCadastroCliente}");
                    Console.WriteLine($"ID: {cliente.IdCliente}");
                    Console.WriteLine("");
                    Console.WriteLine("Cadastro finalizado, aperte ENTER para sair...");
                    Console.ReadLine();
                    Console.Clear();
                    break;

                case "3":
                    filmes.ListarFilmes();
                    Console.WriteLine("===================================================");
                    Console.WriteLine("");
                    Console.WriteLine("Aperte ENTER para continuar...");
                    Console.ReadLine();
                    Console.Clear();
                    break;

                case "4":
                    clientes.ListarClientes();
                    Console.WriteLine("===================================================");
                    Console.WriteLine("");
                    Console.WriteLine("Aperte ENTER para continuar...");
                    Console.ReadLine();
                    Console.Clear();
                    break;

                case "5":
                    Console.WriteLine("Informe o nome do filme que deseja deletar");
                    string nomeFilmeRemover = Console.ReadLine();
                    filmes.RemoverFilme(nomeFilmeRemover);
                    break;

                case "6":
                    Console.WriteLine("Informe o nome do Cliente que deseja deletar");
                    string nomeClienteRemover = Console.ReadLine();
                    clientes.RemoverCliente(nomeClienteRemover);
                    break;

                case "7":
                    filmes.AlterarCadastroFilme();
                    break;

                case "8":
                    clientes.AlterarCadastroCliente();
                    break;

                case "9":
                    execucao = false;
                    break;

                default:
                    Console.WriteLine("Função inválida, aperte ENTER para retornar...");
                    Console.ReadLine();
                    Console.Clear();
                    break;
                }
            } while (execucao == true);
        }
Example #15
0
        public void AlterarCadastroFilme()
        {
            bool execucao = true;

            Console.WriteLine("Informe o nome do filme a ser alterado");
            Console.Write(">> ");
            string nomeFilmeSerAlterado = Console.ReadLine();

            Console.Clear();

            foreach (var filme in ListaFilmes)
            {
                if (filme.Nome == nomeFilmeSerAlterado)
                {
                    do
                    {
                        Console.WriteLine("===================================================");
                        Console.WriteLine($"Filme: {filme.Nome}");
                        Console.WriteLine($"Genero: {filme.Genero}");
                        Console.WriteLine($"Midia: {filme.TipoMidia}");
                        Console.WriteLine($"Preço: R${filme.Preco}");
                        Console.WriteLine($"Cadastro criado em: {filme.DataCadastro}");
                        Console.WriteLine($"ID: {filme.Id}");
                        Console.WriteLine("===================================================");
                        Console.WriteLine("");
                        Console.WriteLine("Digite o número do campo a ser alterado");
                        Console.WriteLine("1. Nome");
                        Console.WriteLine("2. Genero");
                        Console.WriteLine("3. Mídia");
                        Console.WriteLine("4. Preço");
                        Console.WriteLine("5. Sair para o MENU");
                        Console.Write("");
                        Console.Write(">> ");
                        string opcaoAlterarCadastro = Console.ReadLine();

                        switch (opcaoAlterarCadastro)
                        {
                        case "1":
                            Console.Clear();
                            Console.WriteLine("Digite o novo nome:");
                            Console.Write(">> ");
                            string nomeNovo = Console.ReadLine();
                            filme.Nome = nomeNovo;
                            Console.WriteLine("");
                            Console.WriteLine($"Nome do Filme alterado para {nomeNovo}, aperte ENTER para sair...");
                            Console.ReadLine();
                            Console.Clear();
                            break;

                        case "2":
                            Console.Clear();
                            Console.WriteLine("Digite o Genero desejado: Ação, Comédia, Ficção, Romance, Terror");
                            Console.Write(">> ");
                            string novoGenero = Console.ReadLine();
                            Genero genero     = (Genero)Enum.Parse(typeof(Genero), novoGenero);
                            filme.Genero = genero;
                            Console.WriteLine("");
                            Console.WriteLine($"Genero alterado para {novoGenero}, aperte ENTER para sair...");
                            Console.ReadLine();
                            Console.Clear();
                            break;

                        case "3":
                            Console.Clear();
                            Console.WriteLine("Digite a mídia desejada: BluRay; DVD; VHS");
                            Console.Write(">> ");
                            string    novoTipoMidia = Console.ReadLine();
                            TipoMidia tipoMidia     = (TipoMidia)Enum.Parse(typeof(TipoMidia), novoTipoMidia);
                            filme.TipoMidia = tipoMidia;
                            Console.WriteLine("");
                            Console.WriteLine($"Mídia alterada para {novoTipoMidia}, aperte ENTER para sair...");
                            Console.ReadLine();
                            Console.Clear();
                            break;

                        case "4":
                            Console.Clear();
                            Console.WriteLine("Opção Preço selecionada, digite o novo valor");
                            Console.Write(">> R$");
                            string novoPreco = Console.ReadLine();
                            double preco     = double.Parse(novoPreco);
                            filme.Preco = preco;
                            Console.WriteLine("");
                            Console.WriteLine($"Preço alterado para R${novoPreco} aperte ENTER para sair...");
                            Console.ReadLine();
                            Console.Clear();
                            break;

                        case "5":
                            Console.Clear();
                            execucao = false;
                            Console.Clear();
                            break;

                        default:
                            Console.WriteLine("");
                            Console.WriteLine("Foi digitado incorretamente o número da opção, aperte ENTER para sair...");
                            Console.ReadLine();
                            Console.Clear();
                            break;
                        }
                    } while (execucao == true);
                }
            }
        }