private void cargaContenidoControles() { //Determinando el estatus de la página switch ((TSDK.ASP.Pagina.Estatus)Session["estatus"]) { case TSDK.ASP.Pagina.Estatus.Nuevo: //Borrando el contenido lblId.Text = "Por Asignar"; txtNombre.Text = txtTelefono.Text = txtEmail.Text = ""; break; case TSDK.ASP.Pagina.Estatus.Lectura: case TSDK.ASP.Pagina.Estatus.Edicion: //Instanciando registro de contacto using (SAT_CL.Global.Contacto c = new SAT_CL.Global.Contacto(Convert.ToInt32(Session["id_registro"]))) { //Si el registro existe if (c.habilitar) { //Borrando el contenido lblId.Text = c.id_contacto.ToString(); txtNombre.Text = c.nombre; txtTelefono.Text = c.telefono.ToString(); txtEmail.Text = c.email; using (SAT_CL.Global.CompaniaEmisorReceptor er = new SAT_CL.Global.CompaniaEmisorReceptor(c.id_cliente_proveedor)) { //Si el registro existe if (er.habilitar) { //txtUsuarioSistema.Text = u.nombre.ToString() + " ID:" + c.id_usuario_sistema.ToString(); txtClienteProveedor.Text = String.Format("{0} ID:{1}", er.nombre, c.id_cliente_proveedor); } } using (PerfilSeguridadUsuario psu = PerfilSeguridadUsuario.ObtienePerfilActivo(c.id_usuario_sistema)) { if (psu.id_usuario > 0) { ddlPerfil.SelectedValue = psu.id_perfil.ToString(); } } } } break; } //Limpiando errores lblError.Text = ""; }
/// <summary> /// Inicia sesión para compañía especificada /// </summary> /// <param name="id_compania">Id de Compania</param> /// <returns></returns> private RetornoOperacion iniciaSesion(int id_compania) { // Recuperamos la IP de la máquina del cliente // Primero comprobamos si se accede desde un proxy string ipAddress1 = Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; // Acceso desde una máquina particular string ipAddress2 = Request.ServerVariables["REMOTE_ADDR"]; //Recuperando la ip correspondiente string ipAddress = Cadena.RegresaElementoNoVacio(ipAddress1, ipAddress2); //Nombre de dispositivo string nomDispositivo = Request.ServerVariables["REMOTE_HOST"]; //Recuperando información del navegador UsuarioSesion.TipoDispositivo tipoDispositivo = Request.Browser.IsMobileDevice ? UsuarioSesion.TipoDispositivo.Portatil : UsuarioSesion.TipoDispositivo.Escritorio; //Insertamos Sesión del Usuario RetornoOperacion resultado = UsuarioSesion.IniciaSesion(this._id_usuario, id_compania, tipoDispositivo, ipAddress, nomDispositivo, this._id_usuario); //Si se Insertó Sessión if (resultado.OperacionExitosa) { //Instanciamos Usuario Sesión para Asignar al Sesión using (UsuarioSesion objUsuarioSesion = new UsuarioSesion(resultado.IdRegistro)) { try { //Creando cookie con datos de inicio de sesión HttpCookie Cookie = new HttpCookie("Login"); //Asignando llave de sesión Cookie["ID"] = objUsuarioSesion.id_usuario_sesion.ToString(); //Añadiendo cookie Response.Cookies.Add(Cookie); } catch (Exception ex) { //Registrando en log de eventos de la aplicacion Excepcion.RegistraExcepcionEventLog(ConfigurationManager.AppSettings["EventLogSource"], ex); } //Inicializamos Variables de Sesión Pagina.InicializaVariablesSesion(); //Obteniendo Acceso por Defecto string acceso = TSDK.Base.Cadena.RutaRelativaAAbsoluta("~/Externa/Login.aspx", PerfilSeguridadUsuario.ObtieneAccesoPerfilActivo(objUsuarioSesion.id_usuario)) + "?ustk=" + this._token; //Validando que exista if (!acceso.Equals("")) { //Redireccionando a forma por Default Response.Redirect(acceso); } } } //Devolviendo Resultado Obtenido return(resultado); }