protected void rdUsuarios_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
        {
            switch (e.CommandName)
            {
            case "cmdEdit":
                string[] cParam = new string[2];
                cParam[0] = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["cod_user"].ToString();
                Response.Redirect(String.Format("musuario.aspx?codusuario={0}", cParam));
                break;

            case "cmdDelete":
                string pCodUsuario = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["cod_user"].ToString();
                DBConn oConn       = new DBConn();
                if (oConn.Open())
                {
                    cSysUserCliente oUserCliente = new cSysUserCliente(ref oConn);
                    oUserCliente.CodUser = pCodUsuario;
                    oUserCliente.Accion  = "ELIMINAR";
                    oUserCliente.Put();

                    cSysUserDeudor oUserDeudor = new cSysUserDeudor(ref oConn);
                    oUserDeudor.CodUser = pCodUsuario;
                    oUserDeudor.Accion  = "ELIMINAR";
                    oUserDeudor.Put();

                    cSysPerfilesUsuarios oPerfilesUsuarios = new cSysPerfilesUsuarios(ref oConn);
                    oPerfilesUsuarios.CodUser = pCodUsuario;
                    oPerfilesUsuarios.Accion  = "ELIMINAR";
                    oPerfilesUsuarios.Put();

                    cSysUsuario oUsuario = new cSysUsuario(ref oConn);
                    oUsuario.CodUser = pCodUsuario;
                    oUsuario.Accion  = "ELIMINAR";
                    oUsuario.Put();

                    oConn.Close();
                }
                rdUsuarios.Rebind();
                break;
            }
        }
        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            //Session["bLicenciatario"] = string.Empty;
            string sRutEmpresa = txt_box_empresa.Text;
            string sLogin      = txt_rut.Text;

            if (Page.IsValid)
            {
                try
                {
                    bool   bExito = false;
                    string sError = string.Empty;
                    string sPwd   = oWeb.Crypt(txt_password.Text);

                    if (sRutEmpresa.IndexOf("-") >= 0)
                    {
                        string sRut = sRutEmpresa.Substring(0, sRutEmpresa.IndexOf("-"));
                        string sDv  = sRutEmpresa.Substring(sRutEmpresa.IndexOf("-") + 1);

                        DBConn oConn = new DBConn();
                        if (oConn.Open())
                        {
                            cSysUsuario oSysUsuario = new cSysUsuario(ref oConn);
                            oSysUsuario.LoginUser = sLogin;
                            oSysUsuario.PwdUser   = sPwd;
                            DataTable dtUser = oSysUsuario.Get();
                            if (dtUser != null)
                            {
                                if (dtUser.Rows.Count > 0)
                                {
                                    oUsuario                  = oWeb.GetObjUsuario();
                                    oUsuario.CodUsuario       = dtUser.Rows[0]["cod_user"].ToString();
                                    oUsuario.Nombres          = (dtUser.Rows[0]["nom_user"].ToString() + " " + dtUser.Rows[0]["ape_user"].ToString()).Trim();
                                    oUsuario.Pais             = cmbox_pais.SelectedValue;
                                    oUsuario.Email            = dtUser.Rows[0]["eml_user"].ToString();
                                    oUsuario.CodTipoUsuario   = dtUser.Rows[0]["cod_tipo"].ToString();
                                    oUsuario.RutLicenciatario = sRutEmpresa;
                                    oUsuario.RutUsuario       = sLogin;


                                    cSysPerfilesUsuarios oSysPerfilesUsuarios = new cSysPerfilesUsuarios(ref oConn);
                                    oSysPerfilesUsuarios.CodUser = dtUser.Rows[0]["cod_user"].ToString();
                                    DataTable dtUserPerfil = oSysPerfilesUsuarios.Get();
                                    if (dtUserPerfil != null)
                                    {
                                        foreach (DataRow oRow in dtUserPerfil.Rows)
                                        {
                                            if (oRow["cod_perfil"].ToString() == "4")
                                            {
                                                cSysUserCliente oSysUserCliente = new cSysUserCliente(ref oConn);
                                                oSysUserCliente.CodUser = dtUser.Rows[0]["cod_user"].ToString();
                                                oSysUserCliente.Rut     = sRut;
                                                oSysUserCliente.Dv      = sDv;
                                                DataTable dtUserCliente = oSysUserCliente.GetByLogin();
                                                if (dtUserCliente != null)
                                                {
                                                    if (dtUserCliente.Rows.Count > 0)
                                                    {
                                                        bExito = true;
                                                        oUsuario.NKeyUsuario = dtUserCliente.Rows[0]["nkey_cliente"].ToString();
                                                        oUsuario.VistaMenu   = dtUserCliente.Rows[0]["tipo_cliente"].ToString();
                                                        oUsuario.Tipo        = string.Empty;
                                                    }
                                                }
                                                dtUserCliente = null;
                                            }
                                            else if (oRow["cod_perfil"].ToString() == "5")
                                            {
                                                cSysUserDeudor oSysUserDeudor = new cSysUserDeudor(ref oConn);
                                                oSysUserDeudor.CodUser = dtUser.Rows[0]["cod_user"].ToString();
                                                oSysUserDeudor.Rut     = sRut;
                                                oSysUserDeudor.Dv      = sDv;
                                                DataTable dtUserDeudor = oSysUserDeudor.GetByLogin();
                                                if (dtUserDeudor != null)
                                                {
                                                    if (dtUserDeudor.Rows.Count > 0)
                                                    {
                                                        bExito = true;
                                                        oUsuario.NKeyUsuario   = dtUserDeudor.Rows[0]["nkey_deudor"].ToString();
                                                        oUsuario.NKeyDeudor    = dtUserDeudor.Rows[0]["nkey_deudor"].ToString();
                                                        oUsuario.Licenciatario = dtUserDeudor.Rows[0]["nombre_deudor"].ToString();
                                                        oUsuario.VistaMenu     = string.Empty;
                                                        oUsuario.Tipo          = "1";
                                                        //Session["bLicenciatario"] = 1;
                                                    }
                                                }
                                                dtUserDeudor = null;
                                            }
                                        }
                                    }
                                    dtUserPerfil = null;
                                }
                                else
                                {
                                    sError = "Login o Password incorrecto.";
                                }
                            }
                            dtUser = null;
                        }
                        oConn.Close();
                    }
                    if (bExito)
                    {
                        Session["USUARIO"] = oUsuario;

                        DBConn oConn = new DBConn();
                        if (oConn.Open())
                        {
                            cLogEventos oLogEventos = new cLogEventos(ref oConn);
                            oLogEventos.AccionLog  = "LOGIN";
                            oLogEventos.CodCanal   = "2";
                            oLogEventos.CodFlujo   = "1";
                            oLogEventos.NomFlujo   = "LOGIN";
                            oLogEventos.NkeyDeudor = (!string.IsNullOrEmpty(oUsuario.NKeyDeudor)? oUsuario.NKeyDeudor: string.Empty);
                            oLogEventos.RutDeudor  = (!string.IsNullOrEmpty(oUsuario.RutLicenciatario) ? oUsuario.RutLicenciatario : string.Empty);
                            oLogEventos.NomDeudor  = (!string.IsNullOrEmpty(oUsuario.Licenciatario) ? oUsuario.Licenciatario : string.Empty);
                            oLogEventos.CodUser    = (!string.IsNullOrEmpty(oUsuario.CodUsuario) ? oUsuario.CodUsuario : string.Empty);
                            oLogEventos.RutUser    = (!string.IsNullOrEmpty(oUsuario.RutUsuario) ? oUsuario.RutUsuario : string.Empty);
                            oLogEventos.NomUser    = (!string.IsNullOrEmpty(oUsuario.Nombres) ? oUsuario.Nombres : string.Empty);
                            oLogEventos.ObsLog     = "El usuario se ha logeado con exito.";
                            oLogEventos.IpLog      = (!string.IsNullOrEmpty(oWeb.GetIpUsuario()) ? oWeb.GetIpUsuario() : string.Empty);
                            oLogEventos.Accion     = "CREAR";
                            oLogEventos.Put();

                            if (!string.IsNullOrEmpty(oLogEventos.Error))
                            {
                                Response.Write("error 1:" + oLogEventos.Error);

                                Response.Write("NKeyDeudor  " + oUsuario.NKeyDeudor + "<br>");
                                Response.Write("RutLicenciatario  " + oUsuario.RutLicenciatario + "<br>");
                                Response.Write("Licenciatario  " + oUsuario.Licenciatario + "<br>");
                                Response.Write("CodUsuario  " + oUsuario.CodUsuario + "<br>");
                                Response.Write("RutUsuario  " + oUsuario.RutUsuario + "<br>");
                                Response.Write("Nombres  " + oUsuario.Nombres + "<br>");
                                Response.Write("GetIpUsuario  " + oWeb.GetIpUsuario() + "<br>");

                                Response.End();
                            }
                        }
                        oConn.Close();

                        Response.Redirect("licenciatarios.aspx", false);
                    }
                    else
                    {
                        DBConn oConn = new DBConn();
                        if (oConn.Open())
                        {
                            sError = (!string.IsNullOrEmpty(sError) ? sError : "Usted no tiene los roles necesarios para acceder a este sistema, por favor contacte al administrador del sitio para que le otorgen el acceso.");

                            cLogEventos oLogEventos = new cLogEventos(ref oConn);
                            oLogEventos.AccionLog  = "LOGIN";
                            oLogEventos.CodCanal   = "2";
                            oLogEventos.CodFlujo   = "1";
                            oLogEventos.NomFlujo   = "LOGIN";
                            oLogEventos.NkeyDeudor = oUsuario.NKeyDeudor;
                            oLogEventos.RutDeudor  = oUsuario.RutLicenciatario;
                            oLogEventos.NomDeudor  = oUsuario.Licenciatario;
                            oLogEventos.CodUser    = oUsuario.CodUsuario;
                            oLogEventos.RutUser    = oUsuario.RutUsuario;
                            oLogEventos.NomUser    = oUsuario.Nombres;
                            oLogEventos.ObsLog     = sError;
                            oLogEventos.IpLog      = oWeb.GetIpUsuario();
                            oLogEventos.Accion     = "CREAR";
                            oLogEventos.Put();

                            //if (!string.IsNullOrEmpty(oLogEventos.Error))
                            //{
                            //  Response.Write("error 2:" + oLogEventos.Error);
                            //  Response.Write("NKeyDeudor  " + oUsuario.NKeyDeudor + "<br>");
                            //  Response.Write("RutLicenciatario  " + oUsuario.RutLicenciatario + "<br>");
                            //  Response.Write("Licenciatario  " + oUsuario.Licenciatario + "<br>");
                            //  Response.Write("CodUsuario  " + oUsuario.CodUsuario + "<br>");
                            //  Response.Write("RutUsuario  " + oUsuario.RutUsuario + "<br>");
                            //  Response.Write("Nombres  " + oUsuario.Nombres + "<br>");
                            //  Response.Write("GetIpUsuario  " + oWeb.GetIpUsuario() + "<br>");
                            //  Response.End();
                            //}
                        }
                        oConn.Close();


                        StringBuilder js = new StringBuilder();
                        js.Append("function LgRespuesta() {");
                        js.Append(" window.radalert('" + sError + ".', 400, 200,'Atención'); ");
                        js.Append(" Sys.Application.remove_load(LgRespuesta); ");
                        js.Append("};");
                        js.Append("Sys.Application.add_load(LgRespuesta);");
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "LgRespuesta", js.ToString(), true);
                    }
                }
                catch (Exception Ex) {
                    DBConn oConn = new DBConn();
                    if (oConn.Open())
                    {
                        string sError = "El usuario " + sLogin + ", de la empresa " + sRutEmpresa + ", no se ha podido logear.";

                        cLogEventos oLogEventos = new cLogEventos(ref oConn);
                        oLogEventos.AccionLog   = "LOGIN";
                        oLogEventos.CodCanal    = "2";
                        oLogEventos.CodFlujo    = "1";
                        oLogEventos.NomFlujo    = "LOGIN";
                        oLogEventos.NkeyDeudor  = oUsuario.NKeyDeudor;
                        oLogEventos.RutDeudor   = oUsuario.RutLicenciatario;
                        oLogEventos.NomDeudor   = oUsuario.Licenciatario;
                        oLogEventos.NomUser     = oUsuario.Nombres;
                        oLogEventos.RutUser     = oUsuario.RutUsuario;
                        oLogEventos.ObsLog      = sError;
                        oLogEventos.ObsErrorLog = Ex.Message + " / " + Ex.Source;
                        oLogEventos.IpLog       = oWeb.GetIpUsuario();
                        oLogEventos.Accion      = "CREAR";
                        oLogEventos.Put();

                        //if (!string.IsNullOrEmpty(oLogEventos.Error))
                        //{
                        //  Response.Write("error 3:" + oLogEventos.Error);
                        //  Response.Write("NKeyDeudor  " + oUsuario.NKeyDeudor + "<br>");
                        //    Response.Write("RutLicenciatario  " + oUsuario.RutLicenciatario + "<br>");
                        //    Response.Write("Licenciatario  " + oUsuario.Licenciatario + "<br>");
                        //    Response.Write("CodUsuario  " + oUsuario.CodUsuario + "<br>");
                        //    Response.Write("RutUsuario  " + oUsuario.RutUsuario + "<br>");
                        //    Response.Write("Nombres  " + oUsuario.Nombres + "<br>");
                        //    Response.Write("GetIpUsuario  " + oWeb.GetIpUsuario() + "<br>");
                        //  Response.End();
                        //}

                        StringBuilder js = new StringBuilder();
                        js.Append("function LgRespuesta() {");
                        js.Append(" window.radalert('" + sError + ".', 400, 200,'Atención'); ");
                        js.Append(" Sys.Application.remove_load(LgRespuesta); ");
                        js.Append("};");
                        js.Append("Sys.Application.add_load(LgRespuesta);");
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "LgRespuesta", js.ToString(), true);
                    }
                }
            }
        }
        protected void getUsuario()
        {
            DBConn oConn = new DBConn();

            if (oConn.Open())
            {
                cSysUsuario oUsuario = new cSysUsuario(ref oConn);
                oUsuario.CodUser = hdd_codusuario.Value;
                DataTable dUsuario = oUsuario.Get();
                if (dUsuario != null)
                {
                    if (dUsuario.Rows.Count > 0)
                    {
                        txtnombre.Text   = dUsuario.Rows[0]["nom_user"].ToString();
                        txtapellido.Text = dUsuario.Rows[0]["ape_user"].ToString();
                        txtemail.Text    = dUsuario.Rows[0]["eml_user"].ToString();
                        txtlogin.Text    = dUsuario.Rows[0]["login_user"].ToString();
                        txtpassword.Attributes.Add("value", ((dUsuario.Rows[0]["pwd_user"] == null) || (string.IsNullOrEmpty(dUsuario.Rows[0]["pwd_user"].ToString())) ? "" : oWeb.UnCrypt(dUsuario.Rows[0]["pwd_user"].ToString())));
                        ddlestado.Items.FindByValue(dUsuario.Rows[0]["est_user"].ToString()).Selected = true;
                        if (!string.IsNullOrEmpty(dUsuario.Rows[0]["cod_tipo"].ToString()))
                        {
                            ddlTipoUsuario.Items.FindByValue(dUsuario.Rows[0]["cod_tipo"].ToString()).Selected = true;
                        }

                        idAtrib.Visible = true;

                        cSysPerfilesUsuarios oSysPerfilesUsuarios = new cSysPerfilesUsuarios(ref oConn);
                        oSysPerfilesUsuarios.CodUser = hdd_codusuario.Value;
                        DataTable dtPerfiles = oSysPerfilesUsuarios.Get();
                        if (dtPerfiles != null)
                        {
                            foreach (DataRow oRow in dtPerfiles.Rows)
                            {
                                foreach (ListItem item in rdbtnlist_roles.Items)
                                {
                                    if (item.Value == oRow["cod_perfil"].ToString())
                                    {
                                        item.Selected = true;
                                        if (item.Value == "4")
                                        {
                                            idcliente.Visible = true;
                                            cSysUserCliente oSysUserCliente = new cSysUserCliente(ref oConn);
                                            oSysUserCliente.CodUser = hdd_codusuario.Value;
                                            DataTable dtUserCliente = oSysUserCliente.Get();
                                            if (dtUserCliente != null)
                                            {
                                                if (dtUserCliente.Rows.Count > 0)
                                                {
                                                    foreach (ListItem rdItem in rdCmbCliente.Items)
                                                    {
                                                        if (rdItem.Value == dtUserCliente.Rows[0]["nkey_cliente"].ToString())
                                                        {
                                                            rdItem.Selected = true;
                                                        }
                                                    }

                                                    foreach (ListItem rdItemPerfil in ddlperfil.Items)
                                                    {
                                                        if (rdItemPerfil.Value == dtUserCliente.Rows[0]["tipo_cliente"].ToString())
                                                        {
                                                            rdItemPerfil.Selected = true;
                                                        }
                                                    }
                                                }
                                            }
                                            dtUserCliente = null;
                                        }
                                        else if (item.Value == "5")
                                        {
                                            idLicenciatario.Visible = true;
                                            cSysUserDeudor oSysUserDeudor = new cSysUserDeudor(ref oConn);
                                            oSysUserDeudor.CodUser = hdd_codusuario.Value;
                                            DataTable dtUserDeudor = oSysUserDeudor.Get();
                                            if (dtUserDeudor != null)
                                            {
                                                if (dtUserDeudor.Rows.Count > 0)
                                                {
                                                    foreach (ListItem rditem in rdCmbLicencitarios.Items)
                                                    {
                                                        if (rditem.Value == dtUserDeudor.Rows[0]["nkey_deudor"].ToString())
                                                        {
                                                            rditem.Selected = true;
                                                        }
                                                    }
                                                }
                                            }
                                            dtUserDeudor = null;
                                        }
                                    }
                                }
                            }
                        }
                        dtPerfiles = null;
                    }
                }
                dUsuario = null;
                oConn.Close();
            }
        }
        protected void btnGrabar_Click(object sender, EventArgs e)
        {
            DBConn oConn = new DBConn();

            if (oConn.Open())
            {
                string sClave = oWeb.Crypt(txtpassword.Text);

                cSysUsuario oSysUsuario = new cSysUsuario(ref oConn);
                oSysUsuario.CodUser        = hdd_codusuario.Value;
                oSysUsuario.NomUser        = txtnombre.Text;
                oSysUsuario.ApeUser        = txtapellido.Text;
                oSysUsuario.EmlUser        = txtemail.Text;
                oSysUsuario.LoginUser      = txtlogin.Text;
                oSysUsuario.PwdUser        = sClave;
                oSysUsuario.EstUser        = ddlestado.SelectedValue;
                oSysUsuario.CodTipoUsuario = ddlTipoUsuario.SelectedValue;
                oSysUsuario.Accion         = (string.IsNullOrEmpty(hdd_codusuario.Value) ? "CREAR" : "EDITAR");
                oSysUsuario.Put();
                hdd_codusuario.Value = oSysUsuario.CodUser;
                txtpassword.Attributes.Add("value", txtpassword.Text);

                idAtrib.Visible         = true;
                idcliente.Visible       = false;
                idLicenciatario.Visible = false;
                cSysPerfilesUsuarios oSysPerfilesUsuarios = new cSysPerfilesUsuarios(ref oConn);
                oSysPerfilesUsuarios.CodUser = hdd_codusuario.Value;
                oSysPerfilesUsuarios.Accion  = "ELIMINAR";
                oSysPerfilesUsuarios.Put();

                cSysUserCliente oSysUserCliente = new cSysUserCliente(ref oConn);
                oSysUserCliente.CodUser = hdd_codusuario.Value;
                oSysUserCliente.Accion  = "ELIMINAR";
                oSysUserCliente.Put();

                cSysUserDeudor oSysUserDeudor = new cSysUserDeudor(ref oConn);
                oSysUserDeudor.CodUser = hdd_codusuario.Value;
                oSysUserDeudor.Accion  = "ELIMINAR";
                oSysUserDeudor.Put();

                oSysPerfilesUsuarios.Accion = "CREAR";
                foreach (ListItem item in rdbtnlist_roles.Items)
                {
                    if (item.Selected)
                    {
                        oSysPerfilesUsuarios.CodPerfil = item.Value;
                        oSysPerfilesUsuarios.Put();

                        if (item.Value == "4")
                        {
                            idcliente.Visible = true;
                            if (rdCmbCliente.SelectedValue != "0")
                            {
                                oSysUserCliente.NKeyCliente = rdCmbCliente.SelectedValue;
                                oSysUserCliente.TipoCliente = ddlperfil.SelectedValue;
                                oSysUserCliente.Accion      = "CREAR";
                                oSysUserCliente.Put();
                            }
                        }
                        else if (item.Value == "5")
                        {
                            idLicenciatario.Visible = true;
                            if (rdCmbLicencitarios.SelectedValue != "0")
                            {
                                oSysUserDeudor.NKeyDeudor = rdCmbLicencitarios.SelectedValue;
                                oSysUserDeudor.Accion     = "CREAR";
                                oSysUserDeudor.Put();
                            }
                        }
                    }
                }

                oConn.Close();
            }
        }