public static RayenSalud.WebLun.Entidad.Global.ContratanteLun ObtenerContratanteLunPorId(int id) { Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("es-CL"); string conexionStr = ConfigurationManager.ConnectionStrings["BDWebLunConnectionString"].ConnectionString; SqlConnection conn = new SqlConnection(conexionStr); SqlCommand cmd = null; cmd = new SqlCommand("select * from ENCO_ENTIDAD_CONTRATANTE_LUN where ACTIVO = 1 AND ELIMINADO = 0 and ID = @ID", conn); cmd.Parameters.AddWithValue("@ID", id); conn.Open(); RayenSalud.WebLun.Entidad.Global.ContratanteLun contratante = new RayenSalud.WebLun.Entidad.Global.ContratanteLun(); try { SqlDataReader rdr = cmd.ExecuteReader(); int ID = rdr.GetOrdinal("ID"); int RAZON_SOCIAL = rdr.GetOrdinal("RAZON_SOCIAL"); int FECHA_MODIFICACION = rdr.GetOrdinal("FECHA_MODIFICACION"); int FECHA_INICIO_CONTRATO = rdr.GetOrdinal("FECHA_INICIO_CONTRATO"); int REG_ID = rdr.GetOrdinal("REG_ID"); int COM_ID = rdr.GetOrdinal("COM_ID"); int DIRECCION = rdr.GetOrdinal("DIRECCION"); int RESTO_DIRECCION = rdr.GetOrdinal("RESTO_DIRECCION"); int NUMERO = rdr.GetOrdinal("NUMERO_DIRECCION"); int ACTIVO = rdr.GetOrdinal("ACTIVO"); int ELIMINADO = rdr.GetOrdinal("ELIMINADO"); int CANTIDAD_AVISO = rdr.GetOrdinal("CANTIDAD_AVISO"); try { while (rdr.Read()) { //Saydex.WebLun.Entidad.Global.ContratanteLun contratante = new Saydex.WebLun.Entidad.Global.ContratanteLun(); contratante.Id = rdr.GetInt32(ID); contratante.RazonSocial = rdr.GetString(RAZON_SOCIAL); contratante.FechaModificacion = rdr.IsDBNull(FECHA_MODIFICACION) ? DateTime.MinValue : rdr.GetDateTime(FECHA_MODIFICACION); contratante.FechaInicioContrato = rdr.IsDBNull(FECHA_INICIO_CONTRATO) ? DateTime.MinValue : rdr.GetDateTime(FECHA_INICIO_CONTRATO); contratante.IdRegion = rdr.IsDBNull(REG_ID) ? 0 : rdr.GetInt32(REG_ID); contratante.IdComuna = rdr.IsDBNull(COM_ID) ? 0 : rdr.GetInt32(COM_ID); contratante.Direccion = rdr.GetString(DIRECCION); contratante.RestoDireccion = rdr.IsDBNull(RESTO_DIRECCION) ? "" : rdr.GetString(RESTO_DIRECCION); contratante.Numero = rdr.IsDBNull(NUMERO) ? "" : rdr.GetString(NUMERO); contratante.Activo = rdr.IsDBNull(ACTIVO) ? 0 : rdr.GetInt32(ACTIVO); contratante.Eliminado = rdr.IsDBNull(ELIMINADO) ? 0 : rdr.GetInt32(ELIMINADO); contratante.CantidadAviso = rdr.IsDBNull(CANTIDAD_AVISO) ? 0 : rdr.GetInt32(CANTIDAD_AVISO); //listaDevolver.Add(contratante); } } finally { rdr.Close(); } } finally { conn.Close(); } return(contratante); }
public HttpResponseMessage Get([FromUri] string rol) { HttpResponseMessage httpResponse = new HttpResponseMessage(); if (rol == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Rol Id"); } else { string rolStr = rol; bool esSuper = false; if (rolStr == "Super Administrador") { esSuper = true; } //ahora nos traemos a los usuarios de la entidad contratante o bien a todo si el rol es Super Administrador List <Usuarios> userlist = new List <Usuarios>(); MembershipUserCollection listadeUsuarios = Membership.GetAllUsers(); foreach (MembershipUser user in listadeUsuarios) { //solo los de la app, ya que existen usuarios de vio salud aca string[] rolesEvaluar = Roles.GetRolesForUser(user.UserName); if (Roles.IsUserInRole(user.UserName, "Administrador Lun") || Roles.IsUserInRole(user.UserName, "Administrador Web") || Roles.IsUserInRole(user.UserName, "Consultador Lun") || Roles.IsUserInRole(user.UserName, "Super Administrador")) { Usuarios us = new Usuarios(); string[] roles = Roles.GetRolesForUser(user.UserName); us.Emmail = user.Email; us.NombreUsuario = user.UserName; us.Aprobado = user.IsApproved; //****************************************** ProfileBase prof = ProfileBase.Create(user.UserName); if (prof != null) { //asociar los elementos necesarios us.EncoId = (int)prof.GetPropertyValue("EncoId"); us.Rut = (string)prof.GetPropertyValue("Rut"); us.Nombres = (string)prof.GetPropertyValue("Nombres"); us.ApellidoPaterno = (string)prof.GetPropertyValue("ApellidoPaterno"); us.ApellidoMaterno = (string)prof.GetPropertyValue("ApellidoMaterno"); us.Direccion = (string)prof.GetPropertyValue("Direccion"); us.RestoDireccion = (string)prof.GetPropertyValue("RestoDireccion"); us.TelefonoFijo = (string)prof.GetPropertyValue("TelefonoFijo"); us.TelefonoCelular = (string)prof.GetPropertyValue("TelefonoCelular"); us.Estamento = (string)prof.GetPropertyValue("Estamento"); us.Contratante = (string)prof.GetPropertyValue("Contratante"); us.IdRegion = (int)prof.GetPropertyValue("IdRegion"); us.IdComuna = (int)prof.GetPropertyValue("IdComuna"); us.VeReportes = (bool)prof.GetPropertyValue("VeReportes"); us.NombreCompleto = us.Nombres + " " + us.ApellidoPaterno + " " + us.ApellidoMaterno; } if (us.VeReportes) { us.VeReportesTexto = "Si"; } else { us.VeReportesTexto = "No"; } //obtención de la region RayenSalud.WebLun.Entidad.Territorio.Region region = RayenSalud.WebLun.Negocio.Territorio.Territorio.ObtenerRegionPorId(us.IdRegion); if (region != null) { us.NombreRegion = region.Nombre; } RayenSalud.WebLun.Entidad.Territorio.Comuna comuna = RayenSalud.WebLun.Negocio.Territorio.Territorio.ObtenerComunaPorId(us.IdComuna); if (comuna != null) { us.NombreComuna = comuna.Nombre; } RayenSalud.WebLun.Entidad.Global.ContratanteLun contratante = new RayenSalud.WebLun.Entidad.Global.ContratanteLun(); //obtenemos el contratante por el nombre if (us.EncoId > 0) { contratante = RayenSalud.WebLun.Negocio.Global.Global.ObtenerContratanteLunPorId(us.EncoId); } if (contratante != null) { us.Contratante = contratante.RazonSocial; } us.RolesUsuarios = roles; if (roles != null) { if (roles.Length > 0) { us.RolUsuario = roles[0]; } } userlist.Add(us); } } //ACA EVALUAMOS if (userlist != null && userlist.Count > 0) { if (!esSuper) { userlist = userlist.FindAll(p => p.RolUsuario != "Super Administrador"); } } httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, userlist); } return(httpResponse); }
public HttpResponseMessage Post(dynamic DynamicClass) { HttpResponseMessage httpResponse = new HttpResponseMessage(); string Input = JsonConvert.SerializeObject(DynamicClass); dynamic data = JObject.Parse(Input); if (data.Usuario == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Usuario"); } else if (data.Clave == "") { httpResponse = ManejoMensajes.RetornaMensajeParametroVacio(httpResponse, EnumMensajes.Parametro_vacio_o_invalido, "Clave"); } else { try { string usuario = data.Usuario; string clave = data.Clave; Entidad.Usuarios us = new Entidad.Usuarios(); bool correcto = Membership.ValidateUser(usuario, clave); if (correcto) { //obtenemos al usuario MembershipUser user = Membership.GetUser(usuario); if (user != null) { //datos propios us.Emmail = user.Email; us.NombreUsuario = user.UserName; us.Aprobado = user.IsApproved; //****************************************** ProfileBase prof = ProfileBase.Create(usuario); string[] roles = Roles.GetRolesForUser(usuario); if (prof != null) { //asociar los elementos necesarios us.EncoId = (int)prof.GetPropertyValue("EncoId"); us.Rut = (string)prof.GetPropertyValue("Rut"); us.Nombres = (string)prof.GetPropertyValue("Nombres"); us.ApellidoPaterno = (string)prof.GetPropertyValue("ApellidoPaterno"); us.ApellidoMaterno = (string)prof.GetPropertyValue("ApellidoMaterno"); us.Direccion = (string)prof.GetPropertyValue("Direccion"); us.RestoDireccion = (string)prof.GetPropertyValue("RestoDireccion"); us.TelefonoFijo = (string)prof.GetPropertyValue("TelefonoFijo"); us.TelefonoCelular = (string)prof.GetPropertyValue("TelefonoCelular"); us.Estamento = (string)prof.GetPropertyValue("Estamento"); us.Contratante = (string)prof.GetPropertyValue("Contratante"); us.IdRegion = (int)prof.GetPropertyValue("IdRegion"); us.IdComuna = (int)prof.GetPropertyValue("IdComuna"); us.VeReportes = (bool)prof.GetPropertyValue("VeReportes"); us.NombreCompleto = us.Nombres + " " + us.ApellidoPaterno + " " + us.ApellidoMaterno; } if (us.VeReportes) { us.VeReportesTexto = "Si"; } else { us.VeReportesTexto = "No"; } //obtención de la region RayenSalud.WebLun.Entidad.Territorio.Region region = RayenSalud.WebLun.Negocio.Territorio.Territorio.ObtenerRegionPorId(us.IdRegion); if (region != null) { us.NombreRegion = region.Nombre; } RayenSalud.WebLun.Entidad.Territorio.Comuna comuna = RayenSalud.WebLun.Negocio.Territorio.Territorio.ObtenerComunaPorId(us.IdComuna); if (comuna != null) { us.NombreComuna = comuna.Nombre; } RayenSalud.WebLun.Entidad.Global.ContratanteLun contratante = new RayenSalud.WebLun.Entidad.Global.ContratanteLun(); //obtenemos el contratante por el nombre if (us.EncoId > 0) { contratante = RayenSalud.WebLun.Negocio.Global.Global.ObtenerContratanteLunPorId(us.EncoId); } if (contratante != null) { us.Contratante = contratante.RazonSocial; } us.RolesUsuarios = roles; if (roles != null) { if (roles.Length > 0) { us.RolUsuario = roles[0]; } } httpResponse = ManejoMensajes.RetornaMensajeCorrecto(httpResponse, us); } else { httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Usuario_no_existe); } } else { httpResponse = ManejoMensajes.RetornaMensajeError(httpResponse, EnumMensajes.Clave_incorrecta); } } catch (Exception ex) { Negocio.Utiles.NLogs(ex); httpResponse = ManejoMensajes.RetornaMensajeExcepcion(httpResponse, ex); } } return(httpResponse); }