/// <summary> /// Insere um novo usuário. /// </summary> /// <param name="usuario">Usuário a ser incluído.</param> /// <returns></returns> public override long Inserir(UsuarioEntidade usuario) { try { // Valida e-mail if (!Validador.ValidarEmail(usuario.TXT_EMAIL)) { throw new Exception("E-mail inválido."); } // Valida CPF if (!Validador.ValidarCPF(usuario.COD_CPF)) { throw new Exception("CPF inválido."); } // Limpa máscaras usuario.COD_CPF = usuario.COD_CPF.LimparMascara(); usuario.COD_TELEFONE_CEL = usuario.COD_TELEFONE_CEL.LimparMascara(); usuario.COD_TELEFONE_FIXO = usuario.COD_TELEFONE_FIXO.LimparMascara(); // Valida telefones if (usuario.COD_TELEFONE_CEL.Length < 11) { throw new Exception("Telefone Celular inválido"); } if (usuario.COD_TELEFONE_FIXO.Length < 10) { throw new Exception("Telefone Fixo inválido"); } // Valida tamanho da senha if (usuario.PWD_USUARIO.Length < 6) { throw new Exception("A senha deve possuir no mínimo 6 caracteres."); } // Encripta a senha usuario.PWD_USUARIO = Criptografia.Encriptar(usuario.PWD_USUARIO); return(base.Inserir(usuario)); } catch (SqlException ex) { throw new Exception(ErrosBanco.Traduzir(ex.Message, ex.Number)); } catch (Exception ex) { throw ex; } }
/// <summary> /// Atualiza os dados do usuário. /// </summary> /// <param name="usuario">Usuário a ser atualizado</param> /// <returns></returns> public override bool Atualizar(UsuarioEntidade usuario) { try { // Valida e-mail if (!Validador.ValidarEmail(usuario.TXT_EMAIL)) { throw new Exception("E-mail inválido."); } // Valida CPF if (!Validador.ValidarCPF(usuario.COD_CPF)) { throw new Exception("CPF inválido."); } // Limpa máscaras usuario.COD_CPF = usuario.COD_CPF.LimparMascara(); usuario.COD_TELEFONE_CEL = usuario.COD_TELEFONE_CEL.LimparMascara(); usuario.COD_TELEFONE_FIXO = usuario.COD_TELEFONE_FIXO.LimparMascara(); // Valida telefones if (usuario.COD_TELEFONE_CEL.Length < 11) { throw new Exception("Telefone Celular inválido"); } if (usuario.COD_TELEFONE_FIXO.Length < 10) { throw new Exception("Telefone Fixo inválido"); } return(base.Atualizar(usuario)); } catch (SqlException ex) { throw new Exception(ErrosBanco.Traduzir(ex.Message, ex.Number)); } catch (Exception ex) { throw ex; } }
public void ConfigureServices(IServiceCollection services) { services .AddCors() .AddMvc() .SetCompatibilityVersion(CompatibilityVersion.Version_2_1) .AddJsonOptions(jsonOptions => { jsonOptions.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; jsonOptions.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; jsonOptions.SerializerSettings.Formatting = Formatting.Indented; jsonOptions.SerializerSettings.ContractResolver = new DefaultContractResolver(); jsonOptions.SerializerSettings.DateFormatString = "dd/MM/yyyy HH:mm:ss"; jsonOptions.SerializerSettings.Culture = new System.Globalization.CultureInfo("pt-BR"); }); services.AddMemoryCache(); var signingConfigurations = new SigningConfigurations(); services.AddSingleton(signingConfigurations); var tokenConfigurations = new TokenConfigurations(); new ConfigureFromConfigurationOptions <TokenConfigurations>( Configuration.GetSection("TokenConfigurations")) .Configure(tokenConfigurations); services.AddSingleton(tokenConfigurations); services.AddAuthentication(authOptions => { authOptions.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; authOptions.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(bearerOptions => { var paramsValidation = bearerOptions.TokenValidationParameters; paramsValidation.IssuerSigningKey = signingConfigurations.Key; paramsValidation.ValidAudience = tokenConfigurations.Audience; paramsValidation.ValidIssuer = tokenConfigurations.Issuer; // Valida a assinatura de um token recebido paramsValidation.ValidateIssuerSigningKey = true; // Verifica se um token recebido ainda é válido paramsValidation.ValidateLifetime = true; // Tempo de tolerância para a expiração de um token (utilizado // caso haja problemas de sincronismo de horário entre diferentes // computadores envolvidos no processo de comunicação) paramsValidation.ClockSkew = TimeSpan.Zero; }); // Ativa o uso do token como forma de autorizar o acesso // a recursos deste projeto services.AddAuthorization(auth => { auth.AddPolicy("Bearer", new AuthorizationPolicyBuilder() .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme) .RequireAuthenticatedUser().Build()); }); ErrosBanco.Popular(); }