Пример #1
0
        public Tbusuariocartao IncluirCartaoUsuario(DTOs.CartaoUsuario cartao)
        {
            try
            {
                using (HSContext hs = new HSContext())
                {
                    var             idusuario     = this.Decrypt(cartao.idusuariocripto);
                    Tbusuariocartao cartaoInserir = new Tbusuariocartao()
                    {
                        Cvv            = cartao.cvv,
                        Datavencimento = cartao.datavencimento,
                        Numerocartao   = cartao.numerocartao,
                        Idusuario      = Int32.Parse(idusuario),
                        Nomecartao     = cartao.nomecartao
                    };


                    hs.Tbusuariocartao.Add(cartaoInserir);
                    hs.SaveChanges();

                    return(cartaoInserir);
                }
            }
            catch (Exception ex)
            {
                erros.Add("O quarto não foi adicionado.");
                erros.Add(ex.Message);
                return(null);
            }
        }
Пример #2
0
        public bool CancelarReserva(DTOs.Reserva reserva)
        {
            List <DTOs.produtosReserva> produtos = reserva.produtos;

            try
            {
                using (HSContext hs = new HSContext())
                {
                    var cancelar = hs.Tbreserva.First(x => x.Idreserva == reserva.idreserva);

                    cancelar.Datacancelamento   = DateTime.Now;
                    cancelar.Motivocancelamento = reserva.motivocancelamento;
                    hs.SaveChanges();
                    return(true);
                }
            }
            catch (Exception ex)
            {
                erros.Add("Reserva não foi cancelada.");
                erros.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    erros.Add(ex.InnerException.Message);
                }
                return(false);
            }
        }
Пример #3
0
 public bool IncluirUsuario(DTOs.Usuario usuario)
 {
     try
     {
         byte[] theBytes = Encoding.ASCII.GetBytes(usuario.senha);
         using (HSContext hs = new HSContext())
         {
             Tbusuario UsuarioAdd = new Tbusuario();
             UsuarioAdd.Cpf            = usuario.cpf;
             UsuarioAdd.Datanascimento = DateTime.Parse(usuario.datanascimento);
             UsuarioAdd.Email          = usuario.email;
             UsuarioAdd.Loginusuario   = usuario.loginusuario;
             UsuarioAdd.Nomeusuario    = usuario.nomeusuario;
             UsuarioAdd.Senha          = theBytes;
             hs.Tbusuario.Add(UsuarioAdd);
             hs.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         erros.Add("O quarto não foi adicionado.");
         erros.Add(ex.Message);
         return(false);
     }
     return(true);
 }
Пример #4
0
        public bool FinalizarReserva(DTOs.Reserva reserva)
        {
            List <DTOs.produtosReserva> produtos = reserva.produtos;

            try
            {
                using (HSContext hs = new HSContext())
                {
                    var finalizar = hs.Tbreserva.First(x => x.Idreserva == reserva.idreserva);


                    var valorcheckout  = hs.Tbprodutoreserva.Where(x => x.Idreserva == reserva.idreserva).Sum(x => x.Valor * x.Quantidade);
                    var valorpagamento = hs.Tbpagamento.Where(x => x.Idreserva == reserva.idreserva).Sum(x => x.Valor);

                    var totalPagamentoComCheckout = valorcheckout + valorpagamento;

                    if (finalizar.Checkout == false)
                    {
                        erros.Add("Não foi possível finalizar a reserva.");
                        erros.Add("O checkout dessa reserva ainda não foi realizado.");
                    }
                    else
                    {
                        if (valorpagamento == 0)
                        {
                            erros.Add("Não foi possível finalizar a reserva.");
                            erros.Add("Não foi identificado nenhum pagamento para a reserva.");
                        }
                        else
                        {
                            if ((finalizar.Valor + valorcheckout) > valorpagamento)
                            {
                                erros.Add("Não foi possível finalizar a reserva.");
                                erros.Add("O pagamento da reserva não bateu com o total da reserva, verifique novamente o pagamento dessa reserva.");
                            }
                            else
                            {
                                finalizar.Datafinalizacao = DateTime.Now;
                                hs.SaveChanges();
                            }
                        }
                    }
                    return(true);
                }
            }
            catch (Exception ex)
            {
                erros.Add("Reserva não finalizada.");
                erros.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    erros.Add(ex.InnerException.Message);
                }
                return(false);
            }
        }
Пример #5
0
 public bool RemoverPagamento(int idpagamento)
 {
     try
     {
         using (HSContext hs = new HSContext())
         {
             var pagamento = hs.Tbpagamento.First(x => x.Idpagamento == idpagamento);
             hs.Tbpagamento.Remove(pagamento);
             hs.SaveChanges();
             return(true);
         }
     }
     catch (Exception ex)
     {
         erros.Add("A exclusão do pagamento não foi realiada.");
         erros.Add(ex.Message);
         return(false);
     }
 }
Пример #6
0
 public bool CheckOut(int idreserva)
 {
     try
     {
         using (HSContext hs = new HSContext())
         {
             var reserva = hs.Tbreserva.First(x => x.Idreserva == idreserva);
             reserva.Checkout = true;
             hs.SaveChanges();
             return(true);
         }
     }
     catch (Exception ex)
     {
         erros.Add("O checkout não foi realizado.");
         erros.Add(ex.Message);
         return(false);
     }
 }
Пример #7
0
 public bool IncluirCliente(DTOs.Cliente cliente)
 {
     try
     {
         using (HSContext hs = new HSContext())
         {
             var existe = hs.Tbcliente.FirstOrDefault(x => x.Cpf == cliente.cpf.Replace(".", "").Replace("-", ""));
             if (existe == null)
             {
                 var       data       = DateTime.Parse(cliente.datanascimento);
                 Tbcliente clienteAdd = new Tbcliente();
                 clienteAdd.Nomecliente     = cliente.nomeCliente.ToUpper();
                 clienteAdd.Cpf             = cliente.cpf.Replace(".", "").Replace("-", "");
                 clienteAdd.Cep             = cliente.cep.Replace("-", "");
                 clienteAdd.Complemento     = cliente.complemento.ToUpper();
                 clienteAdd.Datanascimento  = DateTime.Parse(cliente.datanascimento);
                 clienteAdd.Email           = cliente.email.ToUpper();
                 clienteAdd.Numero          = cliente.numero.ToUpper();
                 clienteAdd.Rgcliente       = cliente.rgcliente.ToUpper();
                 clienteAdd.Telefonecelular = cliente.telefonecelular.Replace("-", "").Replace("(", "").Replace(")", "");
                 clienteAdd.Telefonefixo    = cliente.telefonefixo.Replace("-", "").Replace("(", "").Replace(")", "");
                 hs.Tbcliente.Add(clienteAdd);
                 hs.SaveChanges();
             }
             else
             {
                 erros.Add("O cliente não foi adicionado.");
                 erros.Add("Já existe um cliente cadastrado para o CPF digitado.");
             }
         }
     }
     catch (Exception ex)
     {
         erros.Add("O cliente não foi adicionado.");
         erros.Add(ex.Message);
         if (ex.InnerException != null)
         {
             inner.Add(ex.InnerException.Message);
         }
         return(false);
     }
     return(true);
 }
Пример #8
0
 public bool AlterarQuarto(DTOs.Quarto quarto)
 {
     try
     {
         using (HSContext hs = new HSContext())
         {
             var quartoAlterar = hs.Tbquarto.First(x => x.Idquarto == quarto.idquarto);
             quartoAlterar.Quarto       = quarto.quarto.ToUpper();
             quartoAlterar.Idtipoquarto = quarto.idtipoquarto;
             hs.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         erros.Add("O quarto não foi alterado.");
         erros.Add(ex.Message);
         return(false);
     }
     return(true);
 }
Пример #9
0
 public bool AlterarProduto(DTOs.Produto produto)
 {
     try
     {
         using (HSContext hs = new HSContext())
         {
             var produtoAlterar = hs.Tbproduto.First(x => x.Idproduto == produto.idProduto);
             produtoAlterar.Descricao = produto.descricao.ToUpper();
             produtoAlterar.Valor     = Decimal.Parse(produto.valor);
             hs.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         erros.Add("O produto não foi alterado.");
         erros.Add(ex.Message);
         return(false);
     }
     return(true);
 }
Пример #10
0
 public bool IncluirProduto(DTOs.Produto produto)
 {
     try
     {
         using (HSContext hs = new HSContext())
         {
             Tbproduto produtoAdd = new Tbproduto();
             produtoAdd.Descricao = produto.descricao.ToUpper();
             produtoAdd.Valor     = decimal.Parse(produto.valor);
             hs.Tbproduto.Add(produtoAdd);
             hs.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         erros.Add("O produto não foi adicionado.");
         erros.Add(ex.Message);
         return(false);
     }
     return(true);
 }
Пример #11
0
        public bool RealizarPagamento(DTOs.Pagamento pagamento)
        {
            try
            {
                using (HSContext hs = new HSContext())
                {
                    var reserva = hs.Tbreserva.First(x => x.Idreserva == pagamento.idreserva);

                    var totalPagamentos = hs.Tbpagamento.Where(x => x.Idreserva == pagamento.idreserva).Sum(x => x.Valor);

                    var totalDividaCheckout = hs.Tbprodutoreserva.Where(x => x.Idreserva == pagamento.idreserva).Sum(x => x.Valor * x.Quantidade);

                    var totalPagamentoComCheckout = reserva.Valor + totalDividaCheckout;

                    if (totalPagamentos + decimal.Parse(pagamento.valor) > totalPagamentoComCheckout)
                    {
                        erros.Add("Não pode ser adicionado esse pagamento, porque o valor fica superior ao devido pelo cliente.");
                        return(false);
                    }
                    else
                    {
                        Tbpagamento pagamentoAdd = new Tbpagamento();
                        pagamentoAdd.Idreserva       = pagamento.idreserva;
                        pagamentoAdd.Datapagamento   = DateTime.Now;
                        pagamentoAdd.Valor           = Decimal.Parse(pagamento.valor);
                        pagamentoAdd.Chavepagamento  = pagamento.chavepagamento;
                        pagamentoAdd.Idtipopagamento = pagamento.idtipopagamento;
                        hs.Tbpagamento.Add(pagamentoAdd);
                        hs.SaveChanges();
                        return(true);
                    }
                }
            }
            catch (Exception ex)
            {
                erros.Add("O pagamento não foi inserido.");
                erros.Add(ex.Message);
                return(false);
            }
        }
Пример #12
0
 public bool IncluirQuarto(DTOs.Quarto quarto)
 {
     try
     {
         using (HSContext hs = new HSContext())
         {
             Tbquarto quartoAdd = new Tbquarto();
             quartoAdd.Quarto       = quarto.quarto.ToUpper();
             quartoAdd.Status       = 1;
             quartoAdd.Idtipoquarto = quarto.idtipoquarto;
             hs.Tbquarto.Add(quartoAdd);
             hs.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         erros.Add("O quarto não foi adicionado.");
         erros.Add(ex.Message);
         return(false);
     }
     return(true);
 }
Пример #13
0
        public bool AdicionarProdutosReservaCheckout(DTOs.Reserva reserva)
        {
            List <DTOs.produtosReserva> produtos = reserva.produtos;

            try
            {
                using (HSContext hs = new HSContext())
                {
                    var produtosdaReserva         = hs.Tbprodutoreserva.Where(x => x.Idreserva == reserva.idreserva).ToList();
                    var idprodutoscheckout        = produtosdaReserva.Select(x => x.Idprodutocheckout).ToList();
                    var idprodutoscheckoutReserva = produtos.Select(x => x.idprodutocheckout).ToList();

                    var idsParaDeletar = idprodutoscheckout.Except(idprodutoscheckoutReserva.Where(x => x != 0)).ToList();

                    var produtosDeletados = hs.Tbprodutoreserva.Where(x => idsParaDeletar.Contains(x.Idprodutocheckout)).ToList();

                    var reservaAtual = hs.Tbreserva.First(x => x.Idreserva == reserva.idreserva);
                    reservaAtual.Checkout = true;
                    if (produtos.Count > 0)
                    {
                        foreach (var item in produtos)
                        {
                            if (item.idprodutocheckout == 0)
                            {
                                hs.Tbprodutoreserva
                                .Add(new Tbprodutoreserva()
                                {
                                    Idproduto  = item.idproduto,
                                    Idreserva  = item.idreserva,
                                    Quantidade = item.quantidade,
                                    Valor      = decimal.Parse(item.valor.Replace(".", ","))
                                });
                            }
                            else
                            {
                                var produtoreserva = hs.Tbprodutoreserva.First(x => x.Idprodutocheckout == item.idprodutocheckout);
                                produtoreserva.Quantidade = item.quantidade;
                                produtoreserva.Valor      = decimal.Parse(item.valor.Replace(".", ","));
                            }
                        }

                        foreach (var item in produtosDeletados)
                        {
                            hs.Tbprodutoreserva.Remove(item);
                        }

                        hs.SaveChanges();
                        return(true);
                    }
                    else
                    {
                        return(true);
                    }
                }
            }
            catch (Exception ex)
            {
                erros.Add("Produtos do checkout não inseridos.");
                erros.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    erros.Add(ex.InnerException.Message);
                }
                return(false);
            }
        }
Пример #14
0
        public bool IncluirReserva(DTOs.Reserva reserva)
        {
            try
            {
                var idcliente = this.Decrypt(reserva.idusuariocripto);
                using (HSContext hs = new HSContext())
                {
                    //var podeCadastrar = hs.Tbreserva
                    //    .Where
                    //    (
                    //        x =>
                    //        (
                    //            (x.Dataentrada >= DateTime.Parse(reserva.dataentrada) && x.Datasaida <= DateTime.Parse(reserva.dataentrada))
                    //                ||
                    //            (x.Datasaida <= DateTime.Parse(reserva.datasaida))
                    //        )
                    //            &&
                    //        (x.Idquarto == reserva.idquarto)

                    //    ).ToList();

                    //if (podeCadastrar.Count() > 0)
                    //{
                    //    this.erros.Add("Infelizmente esse quarto já foi reservado.");
                    //    this.erros.Add("Escolha outro quarto.");
                    //    return false;
                    //}                    //var podeCadastrar = hs.Tbreserva
                    //    .Where
                    //    (
                    //        x =>
                    //        (
                    //            (x.Dataentrada >= DateTime.Parse(reserva.dataentrada) && x.Datasaida <= DateTime.Parse(reserva.dataentrada))
                    //                ||
                    //            (x.Datasaida <= DateTime.Parse(reserva.datasaida))
                    //        )
                    //            &&
                    //        (x.Idquarto == reserva.idquarto)

                    //    ).ToList();

                    //if (podeCadastrar.Count() > 0)
                    //{
                    //    this.erros.Add("Infelizmente esse quarto já foi reservado.");
                    //    this.erros.Add("Escolha outro quarto.");
                    //    return false;
                    //}

                    Tbreserva reservaAdd = new Tbreserva();

                    reservaAdd.Idquarto     = reserva.idquarto;
                    reservaAdd.Idusuario    = Int32.Parse(idcliente);
                    reservaAdd.Valor        = Decimal.Parse(reserva.valor.Replace(".", ","));
                    reservaAdd.Checkout     = false;
                    reservaAdd.Dataentrada  = DateTime.Parse(reserva.dataentrada);
                    reservaAdd.Datasaida    = DateTime.Parse(reserva.datasaida);
                    reservaAdd.Datacadastro = DateTime.Now;
                    hs.Tbreserva.Add(reservaAdd);
                    hs.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                erros.Add("A reserva não foi adicionada.");
                erros.Add(ex.Message);
                return(false);
            }
            return(true);
        }