diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs index 346a118de..94bbdf885 100644 --- a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs +++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs @@ -51,6 +51,9 @@ namespace AYA.SlnSinort.WCF [OperationContract] FichaTecnicaJSON ObtenerSitios(FichaTecnicaJSON model); + + [OperationContract] + FichaTecnicaJSON EnviarCorreoFichaTecnica(FichaTecnicaJSON model); #endregion #region Adjuntos diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs index aef43d8a3..50977ca8e 100644 --- a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs +++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs @@ -422,6 +422,86 @@ namespace AYA.SlnSinort.WCF model.CodigoRespuesta = (respuesta == 1) ? EnumTipoCodigoRespuesta.EXITOSO : EnumTipoCodigoRespuesta.ERROR; ; return model; } + + public FichaTecnicaJSON EnviarCorreoFichaTecnica(FichaTecnicaJSON model) + { + PlantillaEmailDAL PlantillalDAL = new PlantillaEmailDAL(); + UsuarioDAL UsuarioDAL = new UsuarioDAL(); + List Listaplantillas = new List(); + PlantillaEmail plantilla = new PlantillaEmail(); + Usuario usuario = new Usuario(); + CatalogosPostJSON catalogo = new CatalogosPostJSON(); + + + int respuesta = 0; + + string email; + string body; + try + { + + //Obtener parametros + + ServiciosUsuariosWCF.ServicioUsuariosClient respuestaAyA = new ServiciosUsuariosWCF.ServicioUsuariosClient(); + ServiciosUsuariosWCF.correoEL correo = new ServiciosUsuariosWCF.correoEL(); + Listaplantillas = PlantillalDAL.ObtenerPlantillasEmail(); + + + switch (model.PlantillaEmail.NombrePlatilla) + { + case "Correo Divulgar": + plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault(); + correo = new ServiciosUsuariosWCF.correoEL(); + correo.FORMATO = "html"; + correo.ASUNTO = plantilla.Subject.Replace("$NombreDocumentoTecnico", model.FichaTecnica.DescripcionDocumentoTecnico); + + + foreach (var participantes in model.ListaParticipantes) + { + catalogo.codigo = participantes.UsuarioSistema; + usuario = UsuarioDAL.BuscarUsuario(catalogo); + body = plantilla.Body.Replace("$Mensaje", model.Mensaje).Replace("|", "
"); + correo.CUERPO = body; + email = usuario.EmailUsuario; + correo.DESTINATARIOS = "randyguti1995@gmail.com"; + + respuesta = respuestaAyA.enviarCorreo(correo); + } + + + break; + + case "Correo Alerta": + plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault(); + correo = new ServiciosUsuariosWCF.correoEL(); + correo.FORMATO = "html"; + correo.ASUNTO = plantilla.Subject.Replace("$NombreDocumentoTecnico", model.FichaTecnica.DescripcionDocumentoTecnico); + + + + catalogo.codigo = "josnunez"; + usuario = UsuarioDAL.BuscarUsuario(catalogo); + body = plantilla.Body.Replace("$NombreDocumentoTecnico", model.FichaTecnica.DescripcionDocumentoTecnico).Replace("|", "
"); + correo.CUERPO = body; + email = usuario.EmailUsuario; + correo.DESTINATARIOS = "randyguti1995@gmail.com"; + + respuesta = respuestaAyA.enviarCorreo(correo); + + + + break; + } + + } + catch (Exception ex) + { + model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; + throw; + } + model.CodigoRespuesta = (respuesta == 1) ? EnumTipoCodigoRespuesta.EXITOSO : EnumTipoCodigoRespuesta.ERROR; ; + return model; + } #endregion #region Adjuntos diff --git a/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/FichaTecnica.js b/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/FichaTecnica.js index 8e39747a5..6163214f6 100644 --- a/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/FichaTecnica.js +++ b/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/FichaTecnica.js @@ -207,6 +207,11 @@ this.getDataModel = function () { DivulgarFichaTecnica(); }); + $("#btnAlerta").unbind("click"); + $("#btnAlerta").click(function () { + EnviarCorreoAlerta(); + }); + $("#btnDestinatarios").unbind("click"); $('#btnDestinatarios').click(function () { $("#modalDestinatarios").modal('show'); @@ -222,6 +227,11 @@ this.getDataModel = function () { AgregarUsuario(); }); + $("#btnEnviar").unbind("click"); + $("#btnEnviar").click(function () { + EnviarCorreoDivulgar(); + }); + $('#tablePalabraClave').TableInit(0, false, true, true, false, null, null); $("#txtFechaPublicacionDocumentoTecnico").datepicker(); @@ -324,6 +334,12 @@ this.LimpiarControles = function () { //$('#lbTituloAccion').append('Ingresar Nuevo Grupo Temático'); } +this.LimpiarDivulgar = function () +{ + $('#txtMensaje').val(''); + var tableDestinatario = $('#tableDestinatarios').DataTable(); + tableDestinatario.clear().draw(); +} this.EliminarAdjunto = function () { @@ -1047,7 +1063,7 @@ this.LimpiarUsuario = function () { $('#txtUsuario').val(''); } -this.EnviarCorreo = function () { +this.EnviarCorreoDivulgar = function () { tableDestinatarios = $('#tableDestinatarios').DataTable(); var ArrayDestinatarios = []; @@ -1055,26 +1071,71 @@ this.EnviarCorreo = function () { .rows() .data(); + + if (data != null && data.length == 0) + { + toastr.warning("No hay destinatarios."); + return false; + } + + if ($("#txtMensaje").val() == '') { + toastr.warning("Por favor digite su mensaje de correo de divulgación"); + return false; + } + $.each(data, function (key, item) { - Convocatoria = { + Destinatarios = { UsuarioSistema: item[0] } - ArrayDestinatarios.push(Convocatoria); + ArrayDestinatarios.push(Destinatarios); }); + var FichaTecnica + = { + DescripcionDocumentoTecnico: $("#txtDescripcionDocAux").val(), + } + + var Plantilla + = { + NombrePlatilla: 'Correo Divulgar', + } + var uri = SinortWCF + '/api/EnviarCorreoFichaTecnica'; + model.FichaTecnica = FichaTecnica; + model.Mensaje = $("#txtMensaje").val(); + model.PlantillaEmail = Plantilla; + model.ListaParticipantes = ArrayDestinatarios; - + AjaxPostData(uri, model, false, true, null, null, null); + $('#modalDivulgar').modal('hide'); + LimpiarDivulgar(); + ENDREQUEST(); + +} + +this.EnviarCorreoAlerta = function () { + + + var ArrayDestinatarios = []; + + + var FichaTecnica + = { + DescripcionDocumentoTecnico: $("#txtDescripcionDocAux").val(), + } var Plantilla = { - NombrePlatilla: 'Correo Divulgación Ficha Técnica', + NombrePlatilla: 'Correo Alerta', } - var uri = SinortWCF + '/api/EnviarCorreo'; + var uri = SinortWCF + '/api/EnviarCorreoFichaTecnica'; + model.FichaTecnica = FichaTecnica; model.PlantillaEmail = Plantilla; - AjaxPostData(uri, model, false, false, null, null, null); + AjaxPostData(uri, model, false, true, null, null, null); + ENDREQUEST(); + } diff --git a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs index 6e1e00e46..316ac90d2 100644 --- a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs +++ b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs @@ -38,6 +38,9 @@ namespace AYA.SlnSinortModel.Entidades public List EventosJSON { get; set; } public TareasPendientes TareasPendientes { get; set; } public List ListaTareasPendientes { get; set; } + public PlantillaEmail PlantillaEmail { get; set; } + public List ListaParticipantes { get; set; } + public string Mensaje { get; set; } public int? IdPalabra { get; set; } public int? IdFichaTecnica { get; set; }