예제 #1
0
        public async Task Cadastrar([FromBody] CadastrarModel model)
        {
            model.ValidarCadastro();

            var verificaCpf = await _context
                              .Cliente
                              .AnyAsync(c => c.Cpf == model.Cpf);

            if (verificaCpf)
            {
                throw new Exception("CPF já cadastrado.");
            }

            var cliente = new Dominio.Entities.Cliente()
            {
                Cpf                = model.Cpf,
                NomeCompleto       = model.NomeCompleto,
                DataNascimento     = model.DataNascimento,
                Email              = model.Email,
                Telefone           = model.Telefone,
                DataCriacaoCliente = DateTime.Now
            };

            _context.Cliente.Add(cliente);

            await _context.SaveChangesAsync();
        }
예제 #2
0
        public async Task Cadastrar([FromBody] CadastrarModel model)
        {
            model.ValidarCadastro();

            var verificaCpf = await _context
                              .Cliente
                              .AnyAsync(c => c.Cpf == model.Cpf);

            if (!verificaCpf)
            {
                throw new Exception("CPF não cadastrado.");
            }

            var verificaData = await _context
                               .Reserva
                               .Where(q => q.QuartoId == model.QuartoId)
                               .Where(r => r.StatusId == Status.EmAndamento)
                               .Where(d => d.DataSaida >= model.DataEntrada && d.DataEntrada < model.DataSaida)
                               .Include(s => s.StatusReserva)
                               .FirstOrDefaultAsync();

            if (verificaData != null)
            {
                throw new Exception($"Quarto {model.QuartoId} estará reservado nesta data.");
            }

            var quarto = await _context
                         .Quarto
                         .Where(q => q.QuartoId == model.QuartoId)
                         .FirstOrDefaultAsync();

            var reserva = new Dominio.Entities.Reserva
            {
                Cpf                = model.Cpf,
                QuartoId           = model.QuartoId,
                DataEntrada        = model.DataEntrada,
                DataSaida          = model.DataSaida,
                Hospedes           = new List <HospedeCpf>(),
                DataCriacaoReserva = DateTime.Now,
                StatusId           = Status.EmAndamento
            };

            _context.Reserva.Add(reserva);
            await _context.SaveChangesAsync();
        }
예제 #3
0
        public async Task <IActionResult> CadastroParcial([FromBody] CadastrarModel request)
        {
            var success = await VerifyReCaptcha(request.reCaptchaToken);

            if (!success)
            {
                return(Content("{ \"Erros\": [ { \"Value\" : \"Falha na autenticação\", \"Key\": \"0\"  } ] }", "application/json"));
            }
            var httpClient = new System.Net.Http.HttpClient();

            httpClient.DefaultRequestHeaders.Accept
            .Add(new MediaTypeWithQualityHeaderValue("application/json"));
            var response = await httpClient.PostAsync(string.Format("{0}/ContaService.svc/cadastro-parcial",
                                                                    CacheManager.Configuration.sorteOnlineAPI),
                                                      new JsonContent(request.dadosCadastro));

            string jsonStringResponse = await response.Content.ReadAsStringAsync();

            return(Content(jsonStringResponse, "application/json"));
        }
예제 #4
0
        public async Task Editar(string cpf, [FromBody] CadastrarModel model)
        {
            model.ValidarCadastro();

            var cliente = await _context
                          .Cliente
                          .Where(c => c.Cpf == cpf)
                          .FirstOrDefaultAsync();

            if (cliente == null)
            {
                throw new Exception("Cpf não cadastrado.");
            }

            cliente.Cpf            = model.Cpf;
            cliente.NomeCompleto   = model.NomeCompleto;
            cliente.DataNascimento = model.DataNascimento;
            cliente.Email          = model.Email;
            cliente.Telefone       = model.Telefone;

            await _context.SaveChangesAsync();
        }
예제 #5
0
 public async Task Cadastrar([FromBody] CadastrarModel adicionar)
 {
     await _reserva.Cadastrar(adicionar);
 }
예제 #6
0
 public async Task Editar(string cpf, [FromBody] CadastrarModel editar)
 {
     await _cliente.Editar(cpf, editar);
 }
예제 #7
0
 public async Task Cadastrar([FromBody] CadastrarModel cadastro)
 {
     await _cliente.Cadastrar(cadastro);
 }