No estoy muy familiarizado con C#, el lenguaje en el que estaba originalmente el Portal, pero os muestro lo que he hecho hasta ahora por si hubiera algo que cambiar o mejorar.
Gracias y un saludo.
Código PHP:
private void btnPublicar_Click(object sender, System.EventArgs e)
{
//nueva oferta en la base de datos
if(Page.IsValid)
{
strCon = ConfigurationSettings.AppSettings["constring"];
con = new SqlConnection(strCon);
string strSql = "INSERT INTO ofertas ....";
SqlCommand cmd = new SqlCommand(strSql,con);
cmd.Parameters.Add("@idEmp",Session["id_empresa"].ToString());
.....
con.Open();
try
{
cmd.ExecuteNonQuery();
//Los datos se han enviado correctamente"
Disable();
}
catch (Exception ex)
{
//Error al enviar los datos
}
finally
{
con.Close();
}
//mensaje al administrador
string message = "<body>" +
"<font><b><i>\"" + this.txtNomEmp.Text + "\"</i></b> " +
"ha publicado una nueva oferta para <b><i>\"" +
this.txtPuesto.Text + "\"</i></b>. " +
"<a href='http://miportaldeempleo.ext/admin/Ofertas.aspx'" +
"'>Ver Ofertas</a></font>" +
"</body>";
Cartero.Mensaje mail = new Cartero.Mensaje();
mail.Hacia = "[email protected]";
mail.Titulo = "Nueva oferta";
mail.Cuerpo = message;
try
{
mail.enviar();
}
catch
{
//no hacemos nada
}
//Creación de una tarea para el envío del aviso a todos los candidatos.
try
{
Thread tarea = new Thread(new ThreadStart(envioMasivo));
tarea.Priority = ThreadPriority.Lowest;
tarea.Start();
}
catch
{}
//Fin de tarea.
}
}
private void envioMasivo()
{
string message = "<body>" +
"<font><b><i>\"" + this.txtNomEmp.Text + "\"</i></b> " +
"ha publicado una nueva oferta para <b><i>\"" +
this.txtPuesto.Text + "\"</i></b>. " +
"<a href='http://miportaldeempleo.ext/'" +
"'>Portal de Empleo</a></font>" +
"</body>";
string strCon = ConfigurationSettings.AppSettings["constring"];
con = new SqlConnection(strCon);
string strSql = "SELECT mail FROM candidatos";
SqlCommand cmd = new SqlCommand(strSql,con);
SqlDataReader r = cmd.ExecuteReader();
while(r.Read())
{
Cartero.Mensaje mail = new Cartero.Mensaje();
mail.Hacia = r.GetValue(0).ToString();
mail.Titulo = "Nueva oferta de empleo!!";
mail.Cuerpo = message;
try
{
mail.enviar();
}
catch
{
//no hacemos nada
}
}
}
}
}