示例#1
0
        // Verifica a existencia do cliente
        public tb_ClienteCF VerificaCliente(string cpfCliente, string nomeCliente, int idCliente)
        {
            var cliente = new tb_ClienteCF();

            if (!string.IsNullOrEmpty(cpfCliente))
            {
                cpfCliente = CPFshorter(cpfCliente);
                cliente    = GetCliente(cpfCliente);
            }
            if (cliente == null || !cliente.clienteAtivo)
            {
                cliente = GetCliente(nomeCliente);
                if (cliente == null || !cliente.clienteAtivo)
                {
                    cliente = GetCliente(idCliente);
                    if (cliente == null || !cliente.clienteAtivo)
                    {
                        return(null);
                    }
                    else
                    {
                        return(cliente);
                    }
                }
                else
                {
                    return(cliente);
                }
            }
            else
            {
                return(cliente);
            }
        }
示例#2
0
        public async Task <string> CadastrarClienteAsync([FromBody] tb_ClienteCF value)
        {
            var result = clienteHelper.verificaCamposCliente(value);

            if (result != null)
            {
                return(result);
            }
            value.CPF = clienteHelper.CPFshorter(value.CPF);
            if (!clienteHelper.IsCpf(value.CPF) || clienteHelper.CPFshorter(value.CPF).Length != 11)
            {
                return("O CPF está invalido ou incorreto");
            }
            var cliente = clienteHelper.VerificaCliente(value.CPF, value.nomeCliente, value.idCliente);

            if (cliente == null || !cliente.clienteAtivo)
            {
                value.clienteAtivo = true;
                await clienteHelper.SalvarClienteAsync(value);

                return("Cliente cadastrado com sucesso!");
            }
            else
            {
                return("Cliente já está cadastrado!");
            }
        }
示例#3
0
        public async Task <string> DesativarClienteAsync([FromBody] tb_ClienteCF value)
        {
            var result = clienteHelper.verificaCamposCliente(value);

            if (result != null)
            {
                return(result);
            }
            value.CPF = clienteHelper.CPFshorter(value.CPF);
            if (!clienteHelper.IsCpf(value.CPF) || clienteHelper.CPFshorter(value.CPF).Length != 11)
            {
                return("O CPF está invalido ou incorreto");
            }
            var cliente = clienteHelper.VerificaCliente(value.CPF, value.nomeCliente, value.idCliente);

            if (cliente != null || cliente.clienteAtivo)
            {
                await clienteHelper.DesativarClienteAsync(cliente);

                return("Concluido");
            }
            else
            {
                return("Esse Cliente não foi encontrado");
            }
        }
示例#4
0
        public async Task <string> DevolverLocacao([FromBody] DadosLocacao value)
        {
            var cliente = new tb_ClienteCF();
            var filme   = new tb_FilmeCF();

            if (string.IsNullOrEmpty(value.cpfCliente) || !clienteHelper.IsCpf(value.cpfCliente) || clienteHelper.CPFshorter(value.cpfCliente).Length != 11)
            {
                return("O CPF está invalido ou incorreto");
            }
            else
            {
                cliente = clienteHelper.VerificaCliente(value.cpfCliente, value.nomeCliente, value.idCliente);
                if (cliente == null)
                {
                    return("Cliente não foi encontrado");
                }
            }
            var locacaoPendente = locacaoHelper.VerificaLocacaoPendente(cliente.idCliente);

            if (locacaoPendente == null)
            {
                return("Não há locação pendente para esse cliente");
            }
            locacaoPendente.Item2.dataDevolucao = DateTime.UtcNow;
            await locacaoHelper.DesativarLocacaoAsync(locacaoPendente.Item2);

            filme            = filmeHelper.GetFilme(locacaoPendente.Item2.tb_FilmeCF.idFilme);
            filme.filmeAtivo = true;
            await filmeHelper.SalvarFilmeAsync(filme);

            return("Devolução concluida! Obrigado!");
        }
示例#5
0
 // Verifica se os dados estão sendo informados
 public string verificaCamposCliente(tb_ClienteCF value)
 {
     if (string.IsNullOrEmpty(value.CPF))
     {
         return("O campo CPF não pode estar vazio");
     }
     if (string.IsNullOrEmpty(value.nomeCliente))
     {
         return("O campo NOME não pode estar vazio");
     }
     return(null);
 }
示例#6
0
        // Salva o cliente
        public async Task <string> SalvarClienteAsync(tb_ClienteCF Value)
        {
            try
            {
                DataModel.Entry(Value).State = Value.idCliente == 0 ?
                                               System.Data.Entity.EntityState.Added : System.Data.Entity.EntityState.Modified;
                await DataModel.SaveChangesAsync();

                return(null);
            }
            catch (Exception e)
            {
                return(e.Source);

                throw;
            }
        }
示例#7
0
        public async Task <string> LocarFilme([FromBody] DadosLocacao value)
        {
            var cliente = new tb_ClienteCF();
            var filme   = new tb_FilmeCF();
            var locacao = new tb_LocacaoCF();

            if (string.IsNullOrEmpty(value.cpfCliente) || !clienteHelper.IsCpf(value.cpfCliente) || clienteHelper.CPFshorter(value.cpfCliente).Length != 11)
            {
                return("O CPF está invalido ou incorreto");
            }
            else
            {
                cliente = clienteHelper.VerificaCliente(value.cpfCliente, value.nomeCliente, value.idCliente);
                if (cliente == null)
                {
                    return("Cliente não foi encontrado");
                }
            }
            var locacaoPendente = locacaoHelper.VerificaLocacaoPendente(value.idCliente);

            if (locacaoPendente != null)
            {
                return(locacaoPendente.Item1);
            }
            var result = filmeHelper.VerificaFilme(value.idCliente, value.nomeFilme);

            if (result.Item2 == null || !result.Item2.filmeAtivo)
            {
                return(result.Item1);
            }
            else
            {
                filme = result.Item2;
            }
            locacao.idCliente     = cliente.idCliente;
            locacao.idFilme       = filme.idFilme;
            locacao.locacaoAtiva  = true;
            locacao.dataLocacao   = DateTime.UtcNow;
            locacao.dataDevolucao = DateTime.UtcNow.AddDays(7);
            await locacaoHelper.SalvarLocacaoAsync(locacao);

            await filmeHelper.DesativarFilmeAsync(filme);

            return("A locação do filme " + filme.nomeFilme + " foi realizada em nome de " + cliente.nomeCliente + ", a data de devolução foi marcada para " + locacao.dataDevolucao.Value.ToShortDateString() + ", Essa data pode ser renovada se necessário, se não for devolvido até a data uma multa será cobrada!");
        }
示例#8
0
        public async Task <string> RenovarFilme([FromBody] DadosLocacao value)
        {
            var cliente = new tb_ClienteCF();

            if (string.IsNullOrEmpty(value.cpfCliente) || !clienteHelper.IsCpf(value.cpfCliente) || clienteHelper.CPFshorter(value.cpfCliente).Length != 11)
            {
                return("O CPF está invalido ou incorreto");
            }
            else
            {
                cliente = clienteHelper.VerificaCliente(value.cpfCliente, value.nomeCliente, value.idCliente);
                if (cliente == null)
                {
                    return("Cliente não foi encontrado");
                }
            }
            var locacaoPendente = locacaoHelper.GetLocacaoAtivaByCliente(cliente.idCliente);

            locacaoPendente.dataDevolucao = DateTime.UtcNow.AddDays(7);
            await locacaoHelper.SalvarLocacaoAsync(locacaoPendente);

            return("Concluido, foi adicionado mais 7 dias a data de devolução");
        }
示例#9
0
        public async Task <string> AlterarClienteAsync([FromBody] tb_ClienteCF value)
        {
            var result = clienteHelper.verificaCamposCliente(value);

            if (result != null)
            {
                return(result);
            }
            if (!string.IsNullOrEmpty(value.CPF))
            {
                value.CPF = clienteHelper.CPFshorter(value.CPF);
                if (!clienteHelper.IsCpf(value.CPF) || clienteHelper.CPFshorter(value.CPF).Length != 11)
                {
                    return("O CPF está invalido ou incorreto");
                }
            }
            var cliente = clienteHelper.VerificaCliente(value.CPF, value.nomeCliente, value.idCliente);

            if (cliente != null)
            {
                if (!cliente.CPF.Equals(value.CPF) || string.IsNullOrEmpty(cliente.CPF))
                {
                    cliente.CPF = value.CPF;
                }
                if (!cliente.nomeCliente.Equals(value.nomeCliente) || string.IsNullOrEmpty(cliente.nomeCliente))
                {
                    cliente.nomeCliente = value.nomeCliente;
                }
                await clienteHelper.SalvarClienteAsync(cliente);

                return("Cliente atualizado");
            }
            else
            {
                return("Esse Cliente não foi encontrado");
            }
        }
示例#10
0
 // Desativa o cliente
 public async Task DesativarClienteAsync(tb_ClienteCF cliente)
 {
     cliente.clienteAtivo = false;
     await SalvarClienteAsync(cliente);
 }
示例#11
0
 // Retorna todas as locações feitas pelos cliente
 public List <tb_LocacaoCF> GetTodaslocacoes(tb_ClienteCF value)
 {
     return(DataModel.Locacoes.Where(e => e.idCliente == value.idCliente || e.tb_ClienteCF.CPF == value.CPF || e.tb_ClienteCF.nomeCliente == value.nomeCliente).ToList());
 }