/// <summary> /// verificará que el usuario esté habilitado para resetear o desbloquear un UW y que no registre un ausentismo para ese día. /// </summary> /// <param name="userName"></param> public static UserAPiBE VirifyUser(string userName) { UserAPiBE item = null; var connectionString = Common.GetCnn(Common.CnnStringNameepiron).ConnectionString; using (SqlConnection cnn = new SqlConnection(connectionString)) using (SqlCommand cmd = new SqlCommand("dbo.usp_ReseteoWebVerificarUsuario", cnn) { CommandType = System.Data.CommandType.StoredProcedure }) { cnn.Open(); /// FACTURA_NRO cmd.Parameters.AddWithValue("@UW", userName); //cmd.Parameters.AddWithValue("@dom_id", domainId); using (IDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { item = new UserAPiBE(); item.Legajo = Convert.ToInt32(reader["Legajo"]); item.CAIS = Convert.ToBoolean(reader["CAIS"]); item.Cuenta = reader["Cuenta"].ToString(); item.Cargo = reader["Cargo"].ToString(); item.Emp_id = Convert.ToInt32(reader["Legajo"]); //item.DomainId = domainId; item.WindowsUser = userName; } } return(item); } }
/// <summary> /// /// </summary> /// <param name="req"></param> //public static void Bot_insert_sendStatus(EnqueueCommentBotReq req) //{ // var connectionString = Common.GetCnn(Common.CnnStringNameepiron).ConnectionString; // using (SqlConnection cnn = new SqlConnection(connectionString)) // using (SqlCommand cmd = new SqlCommand("dbo.MessageBot_i", cnn) { CommandType = System.Data.CommandType.StoredProcedure }) // { // cnn.Open(); // cmd.Parameters.AddWithValue("@CaseCommentTextSent", req.CaseCommentTextSent); // cmd.Parameters.AddWithValue("@AccountUnique ", req.AccountUnique); // cmd.Parameters.AddWithValue("@CaseId", req.CaseId); // cmd.Parameters.AddWithValue("@CaseCommentGUID", req.CaseCommentGUID); // cmd.Parameters.AddWithValue("@CreationDateLog", DateTime.Now); // cmd.Parameters.AddWithValue("@SCInternalCode", req.SCInternalCode); // cmd.Parameters.AddWithValue("@ElementTypePublic", req.ElementTypePublic); // cmd.ExecuteNonQuery(); // } //} /// <summary> /// /// </summary> /// <param name="domainName">Proviene de la tabla Domains URL y es el SiteDoamin</param> /// <returns></returns> //internal static int GetDimainId(string domainName) //{ // domainName = domainName.Replace("-", "."); // var epironDomains = RetriveDommains(); // var d = epironDomains.Where(p => p.Domain.ToLower().Equals(domainName.ToLower())).FirstOrDefault(); // if (d == null) // throw new Fwk.Exceptions.FunctionalException("No es posible encontrar informacion configurada sobre el dominio " + domainName.ToLower()); // return d.DomainId; // //antes sacabamos del domain.json // //var d = Common.Domains.Where(p => p.Domain.ToLower().Equals(domainName.ToLower())).FirstOrDefault(); // //if(d==null) // // throw new Fwk.Exceptions.FunctionalException("No es posible encontrar informacion configurada sobre el dominio " + domainName.ToLower()); // //return d.DomainId; //} //private static object RetriveDommains() //{ // throw new NotImplementedException(); //} /// <summary> /// Buscar /// </summary> /// <param name="userName"></param> /// <param name="domainId"></param> /// <param name="DNI"></param> public static UserAPiBE RetriveDatosUserAPi(string userName, int domainId, string DNI) { //return RetriveDatosReseteoEmpleados_mok(); UserAPiBE item = null; var connectionString = Common.GetCnn(Common.CnnStringNameepiron).ConnectionString; using (SqlConnection cnn = new SqlConnection(connectionString)) using (SqlCommand cmd = new SqlCommand("dbo.UserAPi", cnn) { CommandType = System.Data.CommandType.StoredProcedure }) { cnn.Open(); cmd.Parameters.AddWithValue("@UW", userName); cmd.Parameters.AddWithValue("@dom_id", domainId); cmd.Parameters.AddWithValue("@DNI", DNI); using (IDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { item = new UserAPiBE(); //cue_nombre sar_nombre car_nombre usuariowindows dominio item.Emp_id = Convert.ToInt32(reader["Emp_id"]); item.Cargo = reader["car_nombre"].ToString(); item.Cuenta = reader["cue_nombre"].ToString(); item.Subarea = reader["sar_nombre"].ToString(); item.ApeNom = reader["emp_apenom"].ToString(); if (reader["aus_id"] != DBNull.Value) { item.Aus_Id = Convert.ToInt32(reader["aus_id"]); } } } return(item); } }
public static string GenerateTokenEpiron(UserAPiBE emmpleadoBE) { var tokenHandler = new JwtSecurityTokenHandler(); var secretKey = Encoding.ASCII.GetBytes(apiAppSettings.serverSettings.apiConfig.api_secretKey); var securityKey = new SymmetricSecurityKey(secretKey); var signingCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature); ClaimsIdentity claimsIdentity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, emmpleadoBE.WindowsUser) }); if (emmpleadoBE != null) { claimsIdentity.AddClaim(new Claim(ClaimTypes.WindowsAccountName, emmpleadoBE.WindowsUser)); claimsIdentity.AddClaim(new Claim("Emp_id", emmpleadoBE.Emp_id.ToString())); claimsIdentity.AddClaim(new Claim("Legajo", emmpleadoBE.Legajo.ToString())); claimsIdentity.AddClaim(new Claim("dom_id", emmpleadoBE.DomainId.ToString())); claimsIdentity.AddClaim(new Claim("cuenta", emmpleadoBE.Cuenta)); claimsIdentity.AddClaim(new Claim("cargo", emmpleadoBE.Cargo)); claimsIdentity.AddClaim(new Claim("CAIS", emmpleadoBE.CAIS.ToString())); } var tokenDescriptor = new SecurityTokenDescriptor { Audience = apiAppSettings.serverSettings.apiConfig.api_audienceToken, Subject = claimsIdentity, Expires = DateTime.UtcNow.AddMinutes(Convert.ToInt32(apiAppSettings.serverSettings.apiConfig.api_expireTime)), Issuer = apiAppSettings.serverSettings.apiConfig.api_issuerToken, NotBefore = DateTime.UtcNow, SigningCredentials = signingCredentials }; var secToken = tokenHandler.CreateToken(tokenDescriptor); var jwtTokenString = tokenHandler.WriteToken(secToken); return(jwtTokenString); }