コード例 #1
0
    protected void Button_InformarDescarte_Click(object sender, EventArgs e)
    {
        Decimal ID_REQUERIMIENTO = Convert.ToDecimal(HiddenField_ID_REQUERIMIENTO.Value);
        Decimal ID_SOLICITUD = Convert.ToDecimal(HiddenField_ID_SOLICITUD.Value);

        ConRegContratoTemporal _contratoTemporal = new ConRegContratoTemporal(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        Boolean correcto = _contratoTemporal.DescartarConRegContratosTemporal(ID_REQUERIMIENTO, ID_SOLICITUD, TextBox_ObservacionesDescarte.Text.Trim());

        if (correcto == false)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _contratoTemporal.MensajeError, Proceso.Error);
        }
        else
        {
            parametro _parametro = new parametro(Session["idEmpresa"].ToString());

            DataTable tablaRolParaInformar = _parametro.ObtenerParametrosPorTabla(tabla.PARAMETROS_ROL_INFORMAR_DESCARTE_PROCESO_CONTRATACION);

            if (tablaRolParaInformar.Rows.Count <= 0)
            {
                tools _tools = new tools();
                SecureQueryString QueryStringSeguro;
                QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());

                QueryStringSeguro["img_area"] = "contratacion";
                QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                QueryStringSeguro["nombre_modulo"] = "HOJA DE TRABAJO DE CONTRATACIÓN";
                QueryStringSeguro["accion"] = "descarteContratacionNoRol";

                Response.Redirect("~/contratacion/hojaTrabajoContratacion.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
            }
            else
            {
                DataRow filaParametroRol = tablaRolParaInformar.Rows[0];

                String NOMBRE_ROL = filaParametroRol["CODIGO"].ToString().Trim();

                usuario _usuario = new usuario(Session["idEmpresa"].ToString());
                DataTable tablaUsuariosAInformar = _usuario.ObtenerListaUsuariosSistemaActivosPorNombreRol(NOMBRE_ROL);

                if (tablaUsuariosAInformar.Rows.Count <= 0)
                {
                    tools _tools = new tools();
                    SecureQueryString QueryStringSeguro;
                    QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());

                    QueryStringSeguro["img_area"] = "contratacion";
                    QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                    QueryStringSeguro["nombre_modulo"] = "HOJA DE TRABAJO DE CONTRATACIÓN";
                    QueryStringSeguro["accion"] = "descarteContratacionNoUsuarios";

                    Response.Redirect("~/contratacion/hojaTrabajoContratacion.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
                }
                else
                {
                    Int32 contadorEnvios = 0;
                    Int32 contadorErrores = 0;

                    StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\email_informativo_descarte_contratacion.htm"));
                    String html_formato_plantilla_email = archivo_original.ReadToEnd();
                    archivo_original.Dispose();
                    archivo_original.Close();

                    String NOMBRE_CANDIDATO = Label_NOMBRE_TRABAJADOR.Text;
                    String NUMERO_IDENTIFICACION = Label_NUM_DOC_IDENTIDAD.Text;
                    String OBSERVACIONES_DESCARTE = TextBox_ObservacionesDescarte.Text.Trim();

                    String NOMBRE_USUARIO;
                    DataTable tablaUsuario = _usuario.ObtenerUsuarioPorUsuLog(Session["USU_LOG"].ToString());
                    DataRow filaUsuario = tablaUsuario.Rows[0];

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

                    html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NOMBRE_CANDIDATO]", NOMBRE_CANDIDATO);
                    html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NUMERO_IDENTIFICACION]", NUMERO_IDENTIFICACION);
                    html_formato_plantilla_email = html_formato_plantilla_email.Replace("[OBSERVACIONES_DESCARTE]", OBSERVACIONES_DESCARTE);
                    html_formato_plantilla_email = html_formato_plantilla_email.Replace("[NOMBRE_USUARIO]", NOMBRE_USUARIO);

                    tools _tools = new tools();

                    foreach (DataRow filausuario in tablaUsuariosAInformar.Rows)
                    {
                        if (DBNull.Value.Equals(filausuario["USU_MAIL"]) == false)
                        {
                            try
                            {
                                _tools.enviarCorreoConCuerpoHtml(filausuario["USU_MAIL"].ToString().Trim(), "DESCARTE EN CONTRATACIÓN", html_formato_plantilla_email);
                                contadorEnvios += 1;
                            }
                            catch
                            {
                                contadorErrores += 1;
                            }
                        }
                        else
                        {
                            contadorErrores += 1;
                        }
                    }

                    if (contadorEnvios <= 0)
                    {
                        SecureQueryString QueryStringSeguro;
                        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());

                        QueryStringSeguro["img_area"] = "contratacion";
                        QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                        QueryStringSeguro["nombre_modulo"] = "HOJA DE TRABAJO DE CONTRATACIÓN";
                        QueryStringSeguro["accion"] = "descarteContratacionNoEmail";

                        Response.Redirect("~/contratacion/hojaTrabajoContratacion.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
                    }
                    else
                    {
                        SecureQueryString QueryStringSeguro;
                        QueryStringSeguro = new SecureQueryString(_tools.byteParaQueryStringSeguro());

                        QueryStringSeguro["img_area"] = "contratacion";
                        QueryStringSeguro["nombre_area"] = "CONTRATACIÓN Y RELACIONES LABORALES";
                        QueryStringSeguro["nombre_modulo"] = "HOJA DE TRABAJO DE CONTRATACIÓN";
                        QueryStringSeguro["accion"] = "descarteContratacionOk";

                        Response.Redirect("~/contratacion/hojaTrabajoContratacion.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro.ToString()));
                    }
                }
            }
        }
    }