notificacón por correo agregada
This commit is contained in:
@@ -7,6 +7,7 @@ using System.Web.UI.WebControls;
|
||||
using Extensiones;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
public partial class OI_DocumentoDetalle : ClsPaginas
|
||||
{
|
||||
@@ -155,7 +156,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas
|
||||
#endregion
|
||||
|
||||
#region "GENERAR DOCUMENTO"
|
||||
|
||||
|
||||
|
||||
protected void LblGuardar_Click(object sender, EventArgs e)
|
||||
{
|
||||
@@ -166,19 +167,24 @@ public partial class OI_DocumentoDetalle : ClsPaginas
|
||||
//Esta variable es requerida más adelante
|
||||
int CveDocumento = 0;
|
||||
string RutaArchivo = "-1";
|
||||
string CorreosNotificacion = "";
|
||||
byte[] ArchivoNotifiacion = null;
|
||||
|
||||
CveDocumento = GuardarDocumento(ref ObjOI, ref TieneError);//Se crea el Documento
|
||||
if (!TieneError) { RutaArchivo = AsignarArchivoAlDocumento(CveDocumento, ref ObjOI, ref TieneError); }//Se guarda el archivo fisico y se asigna al Documento generado
|
||||
if (!TieneError) { GuardarUsuariosQueAutorizan(CveDocumento, RutaArchivo, ref ObjOI, ref TieneError); }//asignamos a los usuarios que participaran en aprovar este documento
|
||||
|
||||
if (!TieneError) { CorreosNotificacion = GuardarUsuariosQueAutorizan(CveDocumento, RutaArchivo, ref ObjOI, ref TieneError); }//asignamos a los usuarios que participaran en aprovar este documento
|
||||
if (!TieneError)
|
||||
{
|
||||
ArchivoNotifiacion = GenerarArchivoByte(RutaArchivo);
|
||||
NotificarPorCorreo(CorreosNotificacion, RutaArchivo, ArchivoNotifiacion);
|
||||
}
|
||||
|
||||
//Gestión de errores y resultados
|
||||
if (!TieneError)
|
||||
{
|
||||
ObjOI.Commit();
|
||||
Alert("Documento guardado correctamente");
|
||||
//this.CveDocumento = CveDocumento;
|
||||
Response.Redirect(string.Format("/OI/DocumentoDetalle.aspx?CveDocumento={0}",CveDocumento));
|
||||
Response.Redirect(string.Format("/OI/DocumentoDetalle.aspx?CveDocumento={0}", CveDocumento));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -215,7 +221,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas
|
||||
this.ErrorMensaje = "Hubo un error al asignar el archivo";
|
||||
}
|
||||
}
|
||||
else if(RutaArchivo == "Error")
|
||||
else if (RutaArchivo == "Error")
|
||||
{
|
||||
TieneError = true;
|
||||
this.ErrorMensaje = "Hubo un error al guardar el archivo";
|
||||
@@ -223,8 +229,9 @@ public partial class OI_DocumentoDetalle : ClsPaginas
|
||||
return RutaArchivo;
|
||||
}
|
||||
|
||||
private void GuardarUsuariosQueAutorizan(int CveDocumento, string RutaArchivo, ref ClsOIEventos ObjOI, ref bool TieneError)
|
||||
private string GuardarUsuariosQueAutorizan(int CveDocumento, string RutaArchivo, ref ClsOIEventos ObjOI, ref bool TieneError)
|
||||
{
|
||||
StringBuilder CorreosReturn = new StringBuilder("");
|
||||
GridViewRowCollection GridUsuarios = GvUsuarios.Rows;
|
||||
foreach (GridViewRow GvRow in GridUsuarios)
|
||||
{
|
||||
@@ -237,12 +244,19 @@ public partial class OI_DocumentoDetalle : ClsPaginas
|
||||
this.ErrorMensaje = "Hubo un error al asignar los usuarios a este documento";
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
CorreosReturn.AppendFormat("{0},", GvRow.DataKey("Correo"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return CorreosReturn.ToString();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region "ARCHIVO ADJUNTO"
|
||||
|
||||
private string GuardarArchivo(int CveDocumento)
|
||||
{
|
||||
string RutaArchivo = "-1";
|
||||
@@ -278,9 +292,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas
|
||||
return RutaArchivo;
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void LkbDescargarArchivo_Click(object sender,EventArgs e)
|
||||
protected void LkbDescargarArchivo_Click(object sender, EventArgs e)
|
||||
{
|
||||
string Ruta = string.Format("{0}Empresas/{1}/DocumentosRepo/{2}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, ArchivoAdjuntoNombre);
|
||||
byte[] archivoBytes = File.ReadAllBytes(Ruta);
|
||||
@@ -295,5 +307,57 @@ public partial class OI_DocumentoDetalle : ClsPaginas
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region "NOTIFICACIONES CORREO"
|
||||
private void NotificarPorCorreo(string Para, string NombreArchivo, byte[] Adjunto)
|
||||
{
|
||||
string Descripcion = TxtDescripcion.Text;
|
||||
string Asunto = "Se le ha agregado como participante en el desarrollo de un Documento";
|
||||
string a = string.Format("{0} -- {1} --- {2}", Descripcion, Para, "");
|
||||
a.GuardaLog();
|
||||
|
||||
ClsSisMail Mail = new ClsSisMail();
|
||||
|
||||
if (Adjunto != null)
|
||||
{
|
||||
List<ClsSisMail.ArchivoMail> LSRutasMail = new List<ClsSisMail.ArchivoMail>();
|
||||
ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail();
|
||||
|
||||
{
|
||||
var withBlock = itemMail;
|
||||
itemMail.ArchivoBinario = Adjunto;
|
||||
itemMail.NombreArchivo = NombreArchivo;
|
||||
}
|
||||
|
||||
LSRutasMail.Add(itemMail);
|
||||
|
||||
|
||||
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Descripcion, "", LSRutasMail);
|
||||
Mail = null/* TODO Change to default(_) if this is not a reference type */;
|
||||
}
|
||||
else
|
||||
{
|
||||
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Descripcion, "");
|
||||
Mail = null/* TODO Change to default(_) if this is not a reference type */;
|
||||
}
|
||||
}
|
||||
|
||||
private byte[] GenerarArchivoByte(string NombreArchivo)
|
||||
{
|
||||
string ArchivoEnviar = string.Format(@"{0}DocumentosRepo\{1}", UsuarioActual.Empresa.Ruta, NombreArchivo);
|
||||
if (File.Exists(ArchivoEnviar))
|
||||
{
|
||||
System.IO.FileStream fs = System.IO.File.Open(ArchivoEnviar, System.IO.FileMode.Open, System.IO.FileAccess.Read);
|
||||
byte[] buff = new byte[fs.Length + 1];
|
||||
if (fs.Length > 0)
|
||||
{
|
||||
fs.Read(buff, 0, (fs.Length.ToString().ToEntero() - 1));
|
||||
fs.Close();
|
||||
}
|
||||
return buff;
|
||||
}
|
||||
|
||||
return new byte[] { };
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user