public async Task <Dominio.Servicos.Resposta <Modelos.Usuario> > Salvar(DTOs.NovoUsuario dadosUsuario) { var resposta = new Resposta <Modelos.Usuario>(); var senha = new Modelos.Senha(); if (string.IsNullOrWhiteSpace(dadosUsuario.Nome)) { resposta.Erro = new ErroAtributoEmBranco("nome"); } else if (string.IsNullOrWhiteSpace(dadosUsuario.Login)) { resposta.Erro = new ErroAtributoEmBranco("login"); } else if (string.IsNullOrWhiteSpace(dadosUsuario.Senha)) { resposta.Erro = new ErroAtributoEmBranco("senha"); } else { var usuario = new Modelos.Usuario(dadosUsuario.Login, senha.GerarHash(dadosUsuario.Senha), dadosUsuario.Nome); usuario.Id = await _usuarios.Salvar(usuario); resposta.Resultado = usuario; } return(resposta); }
public async Task <Dominio.Servicos.Resposta <Modelos.Contato> > Atualizar(DTOs.AlteraContato dadosContato) { var resposta = new Resposta <Modelos.Contato>(); var contatoEncontrado = await _contatos.ObterPorId(dadosContato.Id); if (contatoEncontrado == null) { resposta.Erro = new ErroObjetoNaoEncontrado("Contato"); } else { var contato = new Fabricas.Contato().Nome(dadosContato.Nome) .Celular(dadosContato.Celular) .Telefone(dadosContato.Telefone) .Email(dadosContato.Email) .Usuario(contatoEncontrado.Usuario) .Id(dadosContato.Id) .Criar(); contato.Id = await _contatos.Salvar(contato); resposta.Resultado = contato; } return(resposta); }
public async Task <Dominio.Servicos.Resposta <Modelos.Contato> > Deletar(int id) { var resposta = new Resposta <Modelos.Contato>(); if (await ContatoNaoEncontrado(id)) { resposta.Erro = new ErroObjetoNaoEncontrado("Contato"); } else { await _contatos.Deletar(id); } return(resposta); }
public async Task <Dominio.Servicos.Resposta <Modelos.Usuario> > ObterPorId(int id) { var resposta = new Resposta <Modelos.Usuario>(); var usuario = await _usuarios.ObterPorId(id); if (usuario == null) { resposta.Erro = new ErroObjetoNaoEncontrado("Usuário"); } else { resposta.Resultado = usuario; } return(resposta); }
public async Task <Dominio.Servicos.Resposta <Modelos.Contato> > ObterPorId(int id) { var resposta = new Resposta <Modelos.Contato>(); var contato = await _contatos.ObterPorId(id); if (contato == null) { resposta.Erro = new ErroObjetoNaoEncontrado("Contato"); } else { resposta.Resultado = contato; } return(resposta); }
public async Task <Dominio.Servicos.Resposta <List <Modelos.Contato> > > ListarPorUsuarioId(int usuarioId) { var resposta = new Resposta <List <Modelos.Contato> >(); var usuario = await _usuarios.ObterPorId(usuarioId); if (usuario == null) { resposta.Erro = new ErroObjetoNaoEncontrado("Usuário"); return(resposta); } else { resposta.Resultado = usuario.Contatos.ToList(); } return(resposta); }
public async Task <Dominio.Servicos.Resposta <Modelos.Usuario> > Deletar(int id) { var resposta = new Resposta <Modelos.Usuario>(); var usuario = await _usuarios.ObterPorId(id); if (usuario == null) { resposta.Erro = new ErroObjetoNaoEncontrado("Usuário"); } else if (ExisteContatosVinculados(usuario)) { resposta.Erro = new ErroObjetoPossuiObjetosVinculados("usuário", "contatos"); } else { await _usuarios.Deletar(id); } return(resposta); }
public async Task <Dominio.Servicos.Resposta <DTOs.Usuario> > Autenticar(DTOs.NovoUsuario dadosUsuario) { var resposta = new Resposta <DTOs.Usuario>(); var senha = new Modelos.Senha(); var usuario = await _usuarios.ObterPorLogin(dadosUsuario.Login); if (usuario == null) { resposta.Erro = new ErroAtributoInvalido("Login"); return(resposta); } bool senhaEhValida = senha.Validar(usuario.Senha, dadosUsuario.Senha); if (senhaEhValida) { usuario.AdicionarToken(Guid.NewGuid().ToString()); await _usuarios.Salvar(usuario); resposta.Resultado = new DTOs.Usuario { Id = usuario.Id, Login = usuario.Login, Token = usuario.Token, Nome = usuario.Nome }; } else { resposta.Erro = new ErroAtributoInvalido("Senha"); } return(resposta); }