/// <summary>
    /// hecho por cesar pulido
    /// el dia 17 de enero de enero de 2013
    /// para cargar en el pdf la seccion de unidad de negocio
    /// </summary>
    /// <param name="ID_EMPRESA"></param>
    /// <param name="_datos"></param>
    /// <returns></returns>
    public String CargarUnidadDeNegocio(Decimal ID_EMPRESA, Conexion _datos)
    {
        //verificado por _datos

        seguridad _seguridad = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        //ok -----------------
        DataTable tablaContratosOriginal = _seguridad.ObtenerUsuariosPorEmpresa(ID_EMPRESA, _datos);

        String htmlSeccion = String.Empty;

        foreach (DataRow fila in tablaContratosOriginal.Rows)
        {
            htmlSeccion += "<tr>";
            htmlSeccion += "  <td width=\"20%\" style=\"text-align:center;\">";
            htmlSeccion += fila["USU_LOG"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"30%\" style=\"text-align:justify;\">";
            htmlSeccion += fila["NOMBRES_EMPLEADO"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "  <td width=\"50%\" style=\"text-align:justify;\">";
            htmlSeccion += fila["UNIDAD_NEGOCIO"].ToString().Trim();
            htmlSeccion += "  </td>";
            htmlSeccion += "</tr>";
        }

        return htmlSeccion;
    }
    private void cargar_unidad_de_negocio(Decimal ID_EMPRESA)
    {
        seguridad _seguridad = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaContratosOriginal = _seguridad.ObtenerUsuariosPorEmpresa(ID_EMPRESA);

        if (tablaContratosOriginal.Rows.Count <= 0)
        {
            if (_seguridad.MensajeError != null)
            {
                Informar(panelMensajeError, lblMensajeError, _seguridad.MensajeError, Proceso.Error);
            }

            Panel_INFO_SIN_UNIDAD_NEGOCIO.Visible = true;
            Panel_GRILLA_UNIDAD_NEGOCIO.Visible = false;

            GridView_UNIDAD_NEGOCIO.DataSource = null;
            GridView_UNIDAD_NEGOCIO.DataBind();
        }
        else
        {
            Panel_INFO_SIN_UNIDAD_NEGOCIO.Visible = false;
            Panel_GRILLA_UNIDAD_NEGOCIO.Visible = true;

            GridView_UNIDAD_NEGOCIO.DataSource = tablaContratosOriginal;
            GridView_UNIDAD_NEGOCIO.DataBind();
        }
    }
    private void Cargar(GridView gridView)
    {
        seguridad _seguridad = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable dataTable = _seguridad.ObtenerUsuariosPorEmpresa(Convert.ToDecimal(HiddenField_ID_EMPRESA.Value));

        if (dataTable.Rows.Count <= 0)
        {
            if (_seguridad.MensajeError == null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontraron registros de usuarios asociados a unidad de negocio para esta empresa.", Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _seguridad.MensajeError, Proceso.Error);
            }

            Panel_empresas_unidad_negocio.Visible = false;
        }
        else
        {
            gridView.DataSource = dataTable;
            gridView.DataBind();
            Panel_empresas_unidad_negocio.Visible = true;
        }
    }
    private void EnviarCorreoAComercial()
    {
        tools _tools = new tools();
        Decimal ID_EMPRESA = Convert.ToDecimal(HiddenField_ID_EMPRESA.Value);

        seguridad _seguridad = new seguridad(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable tablaUsuariosEmpresa = _seguridad.ObtenerUsuariosPorEmpresa(ID_EMPRESA);

        if (tablaUsuariosEmpresa.Rows.Count <= 0)
        {
            if (_seguridad.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _seguridad.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La ubicación seleccionada NO posee CONDICIONES COMERCIALES. Puede continuar con el proceso, pero debe informar personalmente a un Representante Comercial para que ingrese las CONDICIONES COMERCIALES para esta empresa.", Proceso.Advertencia);
            }
        }
        else
        {
            StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\email_conf_condiciones_comerciales.htm"));
            String html_formato_plantilla_email = archivo_original.ReadToEnd();
            archivo_original.Dispose();
            archivo_original.Close();

            String html_tabla_ubicacion_perfil = "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"400px\" style=\"font-size:11px; line-height:13px;\">";
            if (DropDownList_SUB_CENTRO.SelectedIndex > 0)
            {
                html_tabla_ubicacion_perfil += "<tr>";
                html_tabla_ubicacion_perfil += "<td width=\"30%\" valign=\"middle\" style=\"text-align: left; font-weight: bold;\">";
                html_tabla_ubicacion_perfil += "CIUDAD:";
                html_tabla_ubicacion_perfil += "</td>";
                html_tabla_ubicacion_perfil += "<td width=\"70%\" valign=\"middle\" style=\"text-align: justify;\">";
                html_tabla_ubicacion_perfil += DropDownList_CIUDAD.SelectedItem.Text;
                html_tabla_ubicacion_perfil += "</td>";
                html_tabla_ubicacion_perfil += "</tr>";

                html_tabla_ubicacion_perfil += "<tr>";
                html_tabla_ubicacion_perfil += "<td width=\"30%\" valign=\"middle\" style=\"text-align: left; font-weight: bold;\">";
                html_tabla_ubicacion_perfil += "CENTRO DE COSTO:";
                html_tabla_ubicacion_perfil += "</td>";
                html_tabla_ubicacion_perfil += "<td width=\"70%\" valign=\"middle\" style=\"text-align: justify;\">";
                html_tabla_ubicacion_perfil += DropDownList_CENTRO_COSTO.SelectedItem.Text;
                html_tabla_ubicacion_perfil += "</td>";
                html_tabla_ubicacion_perfil += "</tr>";

                html_tabla_ubicacion_perfil += "<tr>";
                html_tabla_ubicacion_perfil += "<td width=\"30%\" valign=\"middle\" style=\"text-align: left; font-weight: bold;\">";
                html_tabla_ubicacion_perfil += "SUB CENTRO:";
                html_tabla_ubicacion_perfil += "</td>";
                html_tabla_ubicacion_perfil += "<td width=\"70%\" valign=\"middle\" style=\"text-align: justify;\">";
                html_tabla_ubicacion_perfil += DropDownList_SUB_CENTRO.SelectedItem.Text;
                html_tabla_ubicacion_perfil += "</td>";
                html_tabla_ubicacion_perfil += "</tr>";
            }
            else
            {
                if (DropDownList_CENTRO_COSTO.SelectedIndex > 0)
                {
                    html_tabla_ubicacion_perfil += "<tr>";
                    html_tabla_ubicacion_perfil += "<td width=\"30%\" valign=\"middle\" style=\"text-align: left; font-weight: bold;\">";
                    html_tabla_ubicacion_perfil += "CIUDAD:";
                    html_tabla_ubicacion_perfil += "</td>";
                    html_tabla_ubicacion_perfil += "<td width=\"70%\" valign=\"middle\" style=\"text-align: justify;\">";
                    html_tabla_ubicacion_perfil += DropDownList_CIUDAD.SelectedItem.Text;
                    html_tabla_ubicacion_perfil += "</td>";
                    html_tabla_ubicacion_perfil += "</tr>";

                    html_tabla_ubicacion_perfil += "<tr>";
                    html_tabla_ubicacion_perfil += "<td width=\"30%\" valign=\"middle\" style=\"text-align: left; font-weight: bold;\">";
                    html_tabla_ubicacion_perfil += "CENTRO DE COSTO:";
                    html_tabla_ubicacion_perfil += "</td>";
                    html_tabla_ubicacion_perfil += "<td width=\"70%\" valign=\"middle\" style=\"text-align: justify;\">";
                    html_tabla_ubicacion_perfil += DropDownList_CENTRO_COSTO.SelectedItem.Text;
                    html_tabla_ubicacion_perfil += "</td>";
                    html_tabla_ubicacion_perfil += "</tr>";
                }
                else
                {
                    html_tabla_ubicacion_perfil += "<tr>";
                    html_tabla_ubicacion_perfil += "<td width=\"30%\" valign=\"middle\" style=\"text-align: left; font-weight: bold;\">";
                    html_tabla_ubicacion_perfil += "CIUDAD:";
                    html_tabla_ubicacion_perfil += "</td>";
                    html_tabla_ubicacion_perfil += "<td width=\"70%\" valign=\"middle\" style=\"text-align: justify;\">";
                    html_tabla_ubicacion_perfil += DropDownList_CIUDAD.SelectedItem.Text;
                    html_tabla_ubicacion_perfil += "</td>";
                    html_tabla_ubicacion_perfil += "</tr>";
                }
            }
            html_tabla_ubicacion_perfil += "</table>";

            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[RAZ_SOCIAL]", Label_INFO_ADICIONAL_MODULO.Text);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[TABLA_UBICACION]", html_tabla_ubicacion_perfil);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NOM_OCUPACION]", Label_NOM_OCUPACION.Text);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[EDAD_MIN]", Label_EDAD_MIN.Text);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[EDAD_MAX]", Label_EDAD_MAX.Text);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NIVEL_ACADEMICO]", Label_NIVEL_ACADEMICO.Text);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[EXPERIENCIA]", Label_EXPERIENCIA.Text);
            html_formato_plantilla_email = html_formato_plantilla_email.Replace("[SEXO]", Label_SEXO.Text);

            usuario _usuario = new usuario(Session["idEmpresa"].ToString());
            DataTable tablaUsuario = _usuario.ObtenerUsuarioPorUsuLog(Session["USU_LOG"].ToString());
            DataRow filaUsuario = tablaUsuario.Rows[0];

            if (filaUsuario["USU_TIPO"].ToString().ToUpper() == "PLANTA")
            {
                html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NOMBRE_USUARIO]", filaUsuario["NOMBRES"].ToString().Trim() + " " + filaUsuario["APELLIDOS"].ToString().Trim());
            }
            else
            {
                html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NOMBRE_USUARIO]", filaUsuario["NOMBRES_EXTERNO"].ToString().Trim() + " " + filaUsuario["APELLIDOS_EXTERNO"].ToString().Trim());
            }

            Int32 contadorEnvioEmail = 0;
            Int32 contadorErrores = 0;
            foreach (DataRow fila in tablaUsuariosEmpresa.Rows)
            {
                if (fila["UNIDAD_NEGOCIO"].ToString().Trim().Contains("REP. COMERCIAL") == true)
                {
                    if (DBNull.Value.Equals(fila["USU_MAIL"]) == false)
                    {
                        try
                        {
                            _tools.enviarCorreoConCuerpoHtml(fila["USU_MAIL"].ToString().Trim(), "CONFIGURACIÓN DE CONDICIONES COMERCIALES", html_formato_plantilla_email);
                            contadorEnvioEmail += 1;
                        }
                        catch
                        {
                            contadorErrores += 1;
                        }
                    }
                }
            }

            if (contadorEnvioEmail <= 0)
            {
                if (contadorErrores <= 0)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La ubicación seleccionada NO posee CONDICIONES COMERCIALES. Puede continuar con el proceso, pero debe informar personalmente a un Representante Comercial para que ingrese las CONDICIONES COMERCIALES para esta empresa.", Proceso.Advertencia);
                }
                else
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La ubicación seleccionada NO posee CONDICIONES COMERCIALES. Puede continuar con el proceso, pero debe informar personalmente a un Representante Comercial para que ingrese las CONDICIONES COMERCIALES para esta empresa. (Problema con envío de Emails)", Proceso.Advertencia);
                }
            }
        }
    }