コード例 #1
0
        public IActionResult Agendar(IFormCollection form)
        {
            Agendamento agendamento = new Agendamento();
            Evento      evento      = new Evento(form["tema"], form["data"], form["quantidade"], form["tipo"], form["servico"], form["descricao"]);

            evento.Cliente      = clienteRepository.ObterPor(ObterUsuarioSession());
            agendamento.Evento  = evento;
            agendamento.Cliente = evento.Cliente;
            if (agendamentoRepository.Inserir(agendamento))
            {
                return(View("Sucesso", new RespostaViewModel()
                {
                    Mensagem = "Aguarde a aprovação dos nosso administradores",
                    NomeView = "Sucesso",
                    UsuarioEmail = ObterUsuarioSession(),
                    UsuarioNome = ObterUsuarioNomeSession()
                }));
            }
            else
            {
                return(View("Falha", new RespostaViewModel()
                {
                    Mensagem = "Houve um erro ao processar seu pedido, tente novamente.",
                    NomeView = "Falha",
                    UsuarioEmail = ObterUsuarioSession(),
                    UsuarioNome = ObterUsuarioNomeSession()
                }));
            }
        }
コード例 #2
0
        public IActionResult Agendar(IFormCollection form)
        {
            ViewData["Action"] = "Agendamento";

            Agendamento agendamento = new Agendamento();

            Cliente cliente = new Cliente()
            {
                Nome     = form["nome"],
                CpfCnpj  = form["cpf-cnpj"],
                Telefone = form["telefone"],
                Endereco = form["endereco"],
                Email    = form["email"]
            };

            Som som = new Som()
            {
                ServicoSelecionado = bool.Parse(form["som"])
            };

            Iluminacao iluminacao = new Iluminacao()
            {
                ServicoSelecionado = bool.Parse(form["iluminacao"])
            };

            Evento evento = new Evento()
            {
                NomeEvento      = form["nome-evento"],
                DescricaoEvento = form["descricao"],
                Iluminacao      = iluminacao,
                Som             = som
            };

            agendamento.Cliente         = cliente;
            agendamento.Evento          = evento;
            agendamento.DataAgendamento = DateTime.Parse(form["data-evento"]);

            if (agendamentoRepository.Inserir(agendamento))
            {
                return(View("Sucesso", new RespostaViewModel("AGENDAMENTO REALIZADO")
                {
                    NomeView = "Agendamento",
                    UsuarioEmail = ObterUsuarioSession(),
                    UsuarioNome = ObterUsuarioNomeSession()
                }));
            }
            else
            {
                return(View("Erro", new RespostaViewModel("OPS! ERRO NO AGENDAMENTO :)")
                {
                    NomeView = "Agendamento",
                    UsuarioEmail = ObterUsuarioSession(),
                    UsuarioNome = ObterUsuarioNomeSession()
                }));
            }
        }
コード例 #3
0
        public IActionResult AgendamentoProcesso3(IFormCollection form)
        {
            ViewData["TextoView"] = "Agendamento";
            ViewData["NomeView"]  = "SucessoErro";
            Evento eventoPagamento = new Evento();

            eventoPagamento.Cliente = new Cliente();

            /**
             * ! Mesmo que Cliente seja uma composição de Evento, Cliente ainda precisa ser instânciado!
             */

            var linha = HttpContext.Session.GetString("evento"); //* Obtem as informações

            System.Console.WriteLine(linha);
            eventoPagamento.Cliente.Nome     = clienteRepository.ExtrairValorDoCampo("nome", linha); //* Aloca as informações da linha e insere-as na classe
            eventoPagamento.Cliente.Cpf      = clienteRepository.ExtrairValorDoCampo("cpf", linha);
            eventoPagamento.Cliente.Email    = clienteRepository.ExtrairValorDoCampo("email", linha);
            eventoPagamento.Cliente.Telefone = clienteRepository.ExtrairValorDoCampo("telefone", linha);
            eventoPagamento.NomeEvento       = agendamentoRepository.ExtrairValorDoCampo("evento_nome", linha);
            eventoPagamento.TipoEvento       = agendamentoRepository.ExtrairValorDoCampo("evento_tipo", linha);
            eventoPagamento.StatusEvento     = agendamentoRepository.ExtrairValorDoCampo("evento_status", linha);
            eventoPagamento.Planos.Nome      = agendamentoRepository.ExtrairValorDoCampo("planos", linha);
            eventoPagamento.Planos.Preco     = double.Parse(agendamentoRepository.ExtrairValorDoCampo("preco_plano", linha));
            eventoPagamento.NumeroPessoas    = agendamentoRepository.ExtrairValorDoCampo("numero_pessoas", linha);
            eventoPagamento.DataEvento       = DateTime.Parse(agendamentoRepository.ExtrairValorDoCampo("data_evento", linha));
            eventoPagamento.HoraInicio       = agendamentoRepository.ExtrairValorDoCampo("hora_inicio", linha);
            eventoPagamento.HoraTermino      = agendamentoRepository.ExtrairValorDoCampo("hora_termino", linha);
            eventoPagamento.Descricao        = agendamentoRepository.ExtrairValorDoCampo("descricao", linha);
            eventoPagamento.PrecoTotal       = double.Parse(agendamentoRepository.ExtrairValorDoCampo("preco_total", linha));

            eventoPagamento.NomePropietario = form["name"]; //* Aloca as informações fornecidas pelo usuario e as insere na classe
            eventoPagamento.NumeroCartao    = form ["number"];
            eventoPagamento.Cvv             = form["code"];
            eventoPagamento.DataValidade    = DateTime.Parse(form["date"]);

            if (agendamentoRepository.Inserir(eventoPagamento)) //* Aqui é onde as informações do usuario são escritas no CSV
            {
                return(View("Sucesso", new RespostaViewModel()
                {
                    UsuarioEmail = ObterUsuarioEmailSession(),
                    UsuarioNome = ObterUsuarioNomeSession()
                }));
            }
            else
            {
                return(View("Erro", new RespostaViewModel("Não foi possível realizar o agendamento corretamente")
                {
                    UsuarioEmail = ObterUsuarioEmailSession(),
                    UsuarioNome = ObterUsuarioNomeSession()
                }));
            }
        }
コード例 #4
0
        public IActionResult Registrar(IFormCollection form)

        {
            Evento evento = new Evento()
            {
                Opcional1     = form["opcional1"],
                Opcional2     = form ["opcional2"],
                Endereco      = form ["endereco"],
                TipoPagamento = form ["tipoPagamento"],
                TipoEvento    = form ["tipoEvento"],
                Data          = DateTime.Parse(form ["data"])
            };

            Cliente cliente = new Cliente()
            {
                Nome     = form["nome"],
                Cpf      = form["cpf"],
                Telefone = form["telefone"],
                Email    = form["email"]
            };


            agendamento.cliente      = cliente;
            agendamento.DatadoPedido = DateTime.Now;
            agendamento.evento       = evento;

            if (agendamentoRepository.Inserir(agendamento))
            {
                return(View("Sucesso", new RespostaViewModel()
                {
                    Mensagem = "Aguarde a aprovação dos nossos administradores",
                    NomeView = "Sucesso",
                    UsuarioEmail = ObterUsuarioSession(),
                    UsuarioNome = ObterUsuarioNomeSession()
                }));
            }
            else
            {
                return(View("Error", new RespostaViewModel()
                {
                    Mensagem = "Houve um erro ao processar seu agendamento. tente novamente",
                    NomeView = "Erro",
                    UsuarioEmail = ObterUsuarioSession(),
                    UsuarioNome = ObterUsuarioNomeSession()
                }));
            }
        }
コード例 #5
0
        public IActionResult Registrar(IFormCollection form)
        {
            Agendamento agendamento = new Agendamento();

            Cliente cliente = new Cliente();

            cliente.Email               = form["email"];
            cliente.Cpf_cnpj            = form["cpf_cnpj"];
            cliente.Telefone            = form["telefone"];
            agendamento.NomeEvento      = form["nome_do_evento"];
            agendamento.DescricaoEvento = form["descricao"];
            agendamento.Servicos        = form["servicos"];
            agendamento.pubpriv         = form["priv_pub"];
            agendamento.formasPagamento = form["pagamento"];

            agendamento.cliente = cliente;

            agendamento.DataEvento = DateTime.Parse(form["dataevento"]);

            double precoDefinitivo = servicosRepository.ObterPrecoTotal(agendamento.Servicos);

            agendamento.PrecoTotal = precoDefinitivo;

            /* var urlFoto = $"wwwroot\\{PATH_FOTOS}";
             *
             * GravarFoto(form.Files, urlFoto);
             *
             * agendamento.ImagemEvento = urlFoto;*/

            if (agendamentoRepository.Inserir(agendamento))
            {
                return(View("Sucesso", new RespostaViewModel()
                {
                    NomeView = "Agendamento",
                    UsuarioEmail = ObterUsuarioSession(),
                    UsuarioNome = ObterUsuarioNomeSession()
                }));
            }
            else
            {
                return(View("Erro", new RespostaViewModel()));
            }
        }
コード例 #6
0
        public IActionResult AgendarEventos(IFormCollection form)
        {
            Agendamento agendamento = new Agendamento();

            agendamento.NomeEvento   = form["eventos"];
            agendamento.DataDoEvento = DateTime.Parse(form["datadoevento"]);


            Cliente cliente = new Cliente()
            {
                Nome     = form["nome"],
                Endereco = form["endereco"],
                Telefone = form["telefone"],
                Email    = form["email"],
            };

            agendamento.Cliente = cliente;

            agendamento.DataDoEvento = DateTime.Now;

            if (agendamentoRepository.Inserir(agendamento))
            {
                return(View("Sucesso", new RespostaViewModel()
                {
                    NomeView = "Agendamento",
                    UsuarioEmail = ObterUsuarioSession(),
                    UsuarioNome = ObterUsuarioNomeSession()
                }));
            }
            else
            {
                return(View("Erro", new RespostaViewModel()
                {
                    NomeView = "Agendamento",
                    UsuarioEmail = ObterUsuarioSession(),
                    UsuarioNome = ObterUsuarioNomeSession()
                }));
            }
        }
コード例 #7
0
        public IActionResult Registrar(IFormCollection form)
        {
            //Conversão int para ENUM.
            //TODO o que acontece quando tenta converter numero ENUM que não existe.
            int             privacidadeEnum;
            bool            converteu = int.TryParse(form["privacidade"], out privacidadeEnum);
            PrivacidadeEnum privacidade;

            //Método mais pratico (fazer com dicionário)
            if (converteu)
            {
                switch (privacidadeEnum)
                {
                case 0:
                    privacidade = (PrivacidadeEnum)PrivacidadeEnum.PRIVADO;
                    break;

                case 1:
                    privacidade = (PrivacidadeEnum)PrivacidadeEnum.PUBLICO;
                    break;

                default:
                    TempData["Agendamento"] = "Houve um erro na efetuação do Agendamento.";
                    return(RedirectToAction("Index", "Agendamento"));
                }
            }
            else
            {
                privacidade = (PrivacidadeEnum)PrivacidadeEnum.PRIVADO;  //Padrão PRIVADO.
            }

            Cliente c = new Cliente()
            {
                Nome  = form["nome"],
                Email = form["email"],
                CEP   = form["cep"],
                CPF   = form["cpf"],
                Tel   = form["telefone"]
            };

            string SvcAdicionais = form["sv-adc"];
            double SvcPreco      = servicosRepository.ObterPrecoTotal(SvcAdicionais);

            if (string.IsNullOrEmpty(SvcAdicionais))
            {
                SvcAdicionais = "NENHUM";
            }
            bool PagamentoValido = pagamentoRepository.VerificarMetodoPagamento(form["pagamento"]);

            if (!PagamentoValido)
            {
                TempData["Agendamento"] = "Método de pagamento inválido, tente novamente.";
                return(RedirectToAction("Index", "Agendamento"));
            }
            Agendamento a = new Agendamento();

            a.Cliente           = c;
            a.NomeEvento        = form["nome-evento"];
            a.TipoEvento        = form["evento"];
            a.Privacidade       = privacidade.ToString();
            a.QtdConvidados     = form["qtd-convidados"];
            a.DataDoEvento      = Convert.ToDateTime(form["data-evento"]);
            a.DataDoAgendamento = DateTime.Now.ToShortDateString();
            a.SvcAdicionais     = SvcAdicionais;
            a.DescricaoEvento   = form["descricao-evento"];
            a.FormaPagamento    = form["pagamento"];
            a.PrecoTotal        = SvcPreco;
            a.StatusString      = StatusAgendamentoEnum.PENDENTE.ToString();
            //TODO FEITO: BANNER (IMG) \/

            if (form.Files.Any())
            {
                var    agendamentoID = agendamentoRepository.ObterNextID();
                string urlBanner     = $"wwwroot\\{PATH_BANNER}\\{c.Email}\\{agendamentoID}\\";
                GravarImagem(form.Files, urlBanner);
                a.bannerURL = urlBanner;
            }
            else
            {
                a.bannerURL = $"wwwroot\\{PATH_BANNER}\\banner_padrao\\";
            }

            bool termos = form["termos"] == "1";

            if (termos)
            {
                if (agendamentoRepository.Inserir(a))
                {
                    // Manda para uma outra página específica com informações (Resumo) da compra.
                    return(View("_AgendamentoRealizado", new ResumoAgendamentoViewModel(a.DataDoEvento, a.SvcAdicionais, a.PrecoTotal)
                    {
                        NomeView = "Agendamento",
                        UsuarioEmail = ObterUsuarioSession(),
                        UsuarioNome = ObterUsuarioNomeSession(),
                        UsuarioTipo = ObterUsuarioTipoSession()
                    }));
                }
                else
                {
                    TempData["Agendamento"] = "Houve um erro na efetuação do agendamento. Tente novamente mais tarde.";
                    return(RedirectToAction("Index", "Agendamento"));
                }
            }
            else
            {
                TempData["Agendamento"] = "Você precisa aceitar os termos de uso.";
                return(RedirectToAction("Index", "Agendamento"));
            }
        }
コード例 #8
0
        /*hacer esta parte */

        public IActionResult Registrar(IFormCollection form)
        {
            ViewData["Action"] = "Orcamento";


            List <Servico> servicos = new List <Servico>();               /*PAREI AQUI */

            string[] nomesServicos = form["tadicionais"].ToString().Split(",");

            foreach (string nomeServico in nomesServicos)
            {
                servicos.Add(new Servico(nomeServico, servicoRepository.ObterPrecoDe(nomeServico)));
            }

            string emailCliente = ObterUsuarioSession();

            Cliente cliente = clienteRepository.ObterPor(emailCliente);

            TipoDeEvento tipoevento = new TipoDeEvento(form["tTEvento"], tipoEventoRepository.ObterPrecoDe(form["tTEvento"]));

            System.Console.WriteLine();
            System.Console.WriteLine(form["tData"]);
            System.Console.WriteLine("********************************************");

            Evento evento = new Evento(
                cliente,
                DateTime.Parse(form["tData"]),
                tipoevento,
                servicos);

            foreach (var servico in servicos)
            {
                evento.PrecoAdicionais += servico.Preco;
                System.Console.WriteLine();
                System.Console.WriteLine(servico.Preco);
                System.Console.WriteLine();
            }

            evento.PrecoTipoEvento = tipoEventoRepository.ObterPrecoDe(form["tTEvento"]);

            evento.DataPedido = DateTime.Now;


            if (agendamentoRepository.Inserir(evento))
            {
                return(View("Sucesso", new RespostaViewModels("Sucesso")
                {
                    NomeView = "Mensagem",
                    UsuarioNome = ObterUsuarioNomeSession(),
                    UsuarioEmail = ObterUsuarioSession()
                }));
            }
            else
            {
                return(View("Sucesso", new RespostaViewModels("Erro")
                {
                    NomeView = "Mensagem",
                    UsuarioNome = ObterUsuarioNomeSession(),
                    UsuarioEmail = ObterUsuarioSession()
                }));
            }
        }