public string Cadastrar(ClienteDto clienteDto) { if (clienteDto == null) { throw new ArgumentException(nameof(clienteDto)); } if (Password.VerificarSenha(clienteDto.Senha) < PasswordScore.Strong) { throw new ArgumentException("Senha muito fraca"); } try { var cliente = Mapper.Map <ClienteDto, Cliente>(clienteDto); ChaveAssimetrica.GenKey_SaveInContainer(clienteDto.Cpf); var chavePublica = ChaveAssimetrica.GetKeyPublicFromContainer(clienteDto.Cpf); var usuario = _servicoUsuario.GerarUsuario(cliente, clienteDto.Senha); cliente.NumeroCartao = ChaveAssimetrica.RSAEncrypt(Encoding.Unicode.GetBytes(clienteDto.NumeroCartao), chavePublica); cliente.CodigoSeguranca = ChaveAssimetrica.RSAEncrypt(Encoding.Unicode.GetBytes(clienteDto.CodigoSeguranca), chavePublica); cliente.Usuario = usuario.Item2; contexo.Clientes.Add(cliente); contexo.SaveChanges(); return(usuario.Item1); } catch (Exception e) { throw new Exception(e.Message); } }
public ActionResult Index(AutenticacaoDto model) { var retorno = _servicoAutenticacao.Autenticar(model); if (retorno != null) { var cookie = _servicoAutenticacao.GerarCookieComToken(retorno); Response.Cookies.Add(cookie); Session["Chave"] = ChaveAssimetrica.GetKeyPrivateFromContainer(model.Login); return(RedirectToAction("Index", "Home", new { Area = "Vendas" })); } return(View()); }
public ClienteDto ObterClientePorUsuario(int id, string chave) { var cliente = contexo.Clientes.Where(c => c.Usuario.Id == id).FirstOrDefault(); if (cliente != null) { var clienteDto = Mapper.Map <Cliente, ClienteDto>(cliente); clienteDto.NumeroCartao = Encoding.Unicode.GetString(ChaveAssimetrica.RSADecrypt(cliente.NumeroCartao, chave)); clienteDto.CodigoSeguranca = Encoding.Unicode.GetString(ChaveAssimetrica.RSADecrypt(cliente.CodigoSeguranca, chave)); return(clienteDto); } return(null); }