// 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); } }
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!"); } }
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"); } }
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!"); }
// 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); }
// 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; } }
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!"); }
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"); }
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"); } }
// Desativa o cliente public async Task DesativarClienteAsync(tb_ClienteCF cliente) { cliente.clienteAtivo = false; await SalvarClienteAsync(cliente); }
// 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()); }