TFS_ANTIGUO/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs

1062 lines
43 KiB
C#
Raw Normal View History


using Atesa.Utilitarios;
using AYA.SlnSinortModel.Constantes;
using AYA.SlnSinortModel.DAL.Sinort;
using AYA.SlnSinortModel.Entidades;
using AYA.SlnSinortModel.Sinort;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.DirectoryServices;
using System.DirectoryServices.ActiveDirectory;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
////using AYA.SlnSinort.WCF.ServiciosUsuariosWCF;
namespace AYA.SlnSinort.WCF
{
public class Sinort : ISinort
{
Log log = new Log("SinortWCF");
#region ProyectoNormativo
public ProyectoNormativoJSON GuardarProyectoNormativo(ProyectoNormativoJSON model)
{
try
{
if (model.ProyectoNormativo == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del proyecto normativo";
return model;
}
model = new ProyectoNormativoDAL().GuardarProyectoNormativo(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public ProyectoNormativoJSON GuardarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model)
{
try
{
var convocatoriaDAL = new ConvocatoriaDAL();
if (model.ListaConvocatoria == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos de los convocados";
return model;
}
foreach (var convocados in model.ListaConvocatoria)
{
model.Convocado = convocados;
convocatoriaDAL.GuardarConvocatoriaProyectoNormativo(model);
}
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public ProyectoNormativoJSON ObtenerProyectoNormativo(ProyectoNormativoJSON model)
{
try
{
if (model.ProyectoNormativo == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del proyecto normativo";
return model;
}
model = new ProyectoNormativoDAL().ObtenerProyectoNormativo(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public ProyectoNormativoJSON GuardarComentarioProyectoNormativo(ProyectoNormativoJSON model)
{
try
{
if (model.ProyectoNormativo == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del proyecto normativo";
return model;
}
if (model.Comentario == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del nuevo comentario";
return model;
}
model = new ComentariosDAL().GuardarComentariosProyectoNormativo(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public ProyectoNormativoJSON GuardarEventoProyectoNormativo(ProyectoNormativoJSON model)
{
try
{
if (model.ProyectoNormativo == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del proyecto normativo";
return model;
}
if (model.Evento == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del nuevo evento";
return model;
}
model = new CalendarioDAL().GuardarEvento(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
//public ProyectoNormativoJSON EliminarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model)
//{
// try
// {
// if (model.ProyectoNormativo == null)
// {
// model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
// model.DescripcionRespuesta = "No se encontraron datos del proyecto normativo";
// return model;
// }
// if (model.Convocado == null)
// {
// model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
// model.DescripcionRespuesta = "No se encontraron datos del usuario";
// return model;
// }
// model = new ConvocatoriaDAL().EliminarConvocatoriaProyectoNormativo(model);
// }
// catch (Exception ex)
// {
// log.Error(ex);
// model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
// }
// return model;
//}
#endregion
//Ficha tecnica
# region Ficha Tecnica
public FichaTecnicaJSON ObtenerSitios(FichaTecnicaJSON model) {
FichaTecnicaJSON registros = new FichaTecnicaJSON();
try
{
registros = new FichaTecnicaDAL().ObtenerSitios(model);
}
catch (Exception ex)
{
registros.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
log.Error(ex);
}
return registros;
}
public FichaTecnicaJSON GuardarFichaTecnica(FichaTecnicaJSON model)
{
try
{
if (model.FichaTecnica == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos de la ficha técnica";
return model;
}
model = new FichaTecnicaDAL().GuardarFichaTecnica(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public FichaTecnicaJSON GuardarFichaTecnicaPalabraClave(FichaTecnicaJSON model)
{
try
{
var fichaTecnicaPalabraClaveDAL = new FichaTecnicaPalabraClaveDAL();
if (model.ListaPalabraClave == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos de las palabras claves";
return model;
}
foreach (var palabrasClaves in model.ListaPalabraClave)
{
model.PalabraClave = palabrasClaves;
fichaTecnicaPalabraClaveDAL.GuardarFichaTecnicaPalabraClave(model);
}
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public FichaTecnicaJSON ObtenerFichaTecnica(FichaTecnicaJSON model)
{
try
{
if (model.FichaTecnica == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos de la ficha técnica";
return model;
}
model = new FichaTecnicaDAL().ObtenerFichaTecnica(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
#endregion
#region WCFAYA Envio Correo
public ProyectoNormativoJSON EnviarCorreo(ProyectoNormativoJSON model)
{
PlantillaEmailDAL PlantillalDAL = new PlantillaEmailDAL();
UsuarioDAL UsuarioDAL = new UsuarioDAL();
List<PlantillaEmail> Listaplantillas = new List<PlantillaEmail>();
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 Proyecto Normativo":
//Correo Analista
plantilla = Listaplantillas.Where(p => p.NombrePlatilla == "Correo Analista").FirstOrDefault();
catalogo.codigo = model.ProyectoNormativo.PromotorProyecto;
usuario = UsuarioDAL.BuscarUsuario(catalogo);
correo.FORMATO = "html";
correo.ASUNTO = plantilla.Subject.Replace("$NombreProyecto", model.ProyectoNormativo.NombreProyectoNormativo);
body = plantilla.Body.Replace("$NombreProyecto", model.ProyectoNormativo.NombreProyectoNormativo).Replace("$Usuario", usuario.NombreUsuario).Replace("|", "</br>");
email = usuario.EmailUsuario;
correo.DESTINATARIOS = "jnunez@atesacr.com";
correo.CUERPO = body;
respuesta = respuestaAyA.enviarCorreo(correo);
//Correo Convocados
plantilla = Listaplantillas.Where(p => p.NombrePlatilla == "Correo Convocados").FirstOrDefault();
correo = new ServiciosUsuariosWCF.correoEL();
correo.FORMATO = "html";
correo.ASUNTO = plantilla.Subject.Replace("$NombreProyecto", model.ProyectoNormativo.NombreProyectoNormativo);
foreach (var participantes in model.ListaConvocatoria)
{
catalogo.codigo = participantes.UsuarioSistema;
usuario = UsuarioDAL.BuscarUsuario(catalogo);
body = plantilla.Body.Replace("$NombreProyecto", model.ProyectoNormativo.NombreProyectoNormativo).Replace("$FechaMaxima", Convert.ToString(model.ProyectoNormativo.FechaMaximaConfirmarParticipacion)).Replace("$Usuario", usuario.NombreUsuario).Replace("|", "</br>");
correo.CUERPO = body;
email = usuario.EmailUsuario;
correo.DESTINATARIOS = "jnunez@atesacr.com"; ;
respuesta = respuestaAyA.enviarCorreo(correo);
}
break;
case "Correo Convocados":
plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault();
correo = new ServiciosUsuariosWCF.correoEL();
correo.FORMATO = "html";
correo.ASUNTO = plantilla.Subject.Replace("$NombreProyecto", model.ProyectoNormativo.NombreProyectoNormativo);
foreach (var participantes in model.ListaConvocatoria)
{
catalogo.codigo = participantes.UsuarioSistema;
usuario = UsuarioDAL.BuscarUsuario(catalogo);
body = plantilla.Body.Replace("$NombreProyecto", model.ProyectoNormativo.NombreProyectoNormativo).Replace("$FechaMaxima", Convert.ToString(model.ProyectoNormativo.FechaMaximaConfirmarParticipacion)).Replace("$Usuario", usuario.NombreUsuario).Replace("|", "</br>");
correo.CUERPO = body;
email = usuario.EmailUsuario;
correo.DESTINATARIOS = "jnunez@atesacr.com"; ;
respuesta = respuestaAyA.enviarCorreo(correo);
}
break;
case "Correo Analista Confirmada" :
plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault();
correo = new ServiciosUsuariosWCF.correoEL();
correo.FORMATO = "html";
foreach (var tareas in model.ListaTareasPendientes)
{
catalogo.codigo = tareas.UsuarioAsignado;
usuario = UsuarioDAL.BuscarUsuario(catalogo);
correo.ASUNTO = plantilla.Subject.Replace("$NombreProyecto", tareas.NombreProyectoNormativo).Replace("$Usuario", usuario.NombreUsuario);
body = plantilla.Body.Replace("$Usuario", usuario.NombreUsuario).Replace("|", "</br>");
catalogo.codigo = tareas.PromotorProyectoNormativo;
usuario = UsuarioDAL.BuscarUsuario(catalogo);
email = usuario.EmailUsuario;
correo.DESTINATARIOS = "jnunez@atesacr.com"; ;
correo.CUERPO = body;
respuesta = respuestaAyA.enviarCorreo(correo);
}
break;
case "Correo Analista No Confirmada":
plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault();
correo = new ServiciosUsuariosWCF.correoEL();
correo.FORMATO = "html";
foreach (var tareas in model.ListaTareasPendientes)
{
catalogo.codigo = tareas.UsuarioAsignado;
usuario = UsuarioDAL.BuscarUsuario(catalogo);
correo.ASUNTO = plantilla.Subject.Replace("$NombreProyecto", tareas.NombreProyectoNormativo).Replace("$Usuario", usuario.NombreUsuario);
body = plantilla.Body.Replace("$Usuario", usuario.NombreUsuario).Replace("$Justificacion", model.Convocado.Justificacion).Replace("|", "</br>");
catalogo.codigo = tareas.PromotorProyectoNormativo;
usuario = UsuarioDAL.BuscarUsuario(catalogo);
email = usuario.EmailUsuario;
correo.DESTINATARIOS = "jnunez@atesacr.com"; ;
correo.CUERPO = body;
respuesta = respuestaAyA.enviarCorreo(correo);
}
break;
}
}
catch (Exception ex)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
throw;
}
model.CodigoRespuesta = (respuesta == 1) ? EnumTipoCodigoRespuesta.EXITOSO : EnumTipoCodigoRespuesta.ERROR; ;
return model;
}
public FichaTecnicaJSON EnviarCorreoFichaTecnica(FichaTecnicaJSON model)
{
PlantillaEmailDAL PlantillalDAL = new PlantillaEmailDAL();
UsuarioDAL UsuarioDAL = new UsuarioDAL();
List<PlantillaEmail> Listaplantillas = new List<PlantillaEmail>();
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("|", "</br>");
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("|", "</br>");
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;
}
public SolicitudJSON EnviarCorreoSolicitud(SolicitudJSON model)
{
PlantillaEmailDAL PlantillalDAL = new PlantillaEmailDAL();
UsuarioDAL UsuarioDAL = new UsuarioDAL();
List<PlantillaEmail> Listaplantillas = new List<PlantillaEmail>();
PlantillaEmail plantilla = new PlantillaEmail();
Usuario usuario = new Usuario();
CatalogosPostJSON catalogo = new CatalogosPostJSON();
List<Usuario> ListaUsuariosCorreo = new List<Usuario>();
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 Generar Solicitud":
plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault();
correo = new ServiciosUsuariosWCF.correoEL();
correo.FORMATO = "html";
correo.ASUNTO = plantilla.Subject.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.IdSolicitud.ToString())
.Replace("$Usuario", model.Solicitud.UsuarioSistema);
foreach (var usuarios in model.ListaUsuariosCorreo)
{
catalogo.codigo = usuarios.UsuarioSistema;
usuario = UsuarioDAL.BuscarUsuario(catalogo);
body = plantilla.Body.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.IdSolicitud.ToString())
.Replace("$Usuario", model.Solicitud.UsuarioSistema).Replace("|", "</br>");
correo.CUERPO = body;
email = usuario.EmailUsuario;
correo.DESTINATARIOS = "randyguti1995@gmail.com";
respuesta = respuestaAyA.enviarCorreo(correo);
}
break;
case "Correo Respuesta Solicitud":
plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault();
correo = new ServiciosUsuariosWCF.correoEL();
correo.FORMATO = "html";
correo.ASUNTO = plantilla.Subject.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString())
.Replace("$DescripcionDocumento", model.Solicitud.DescripcionDocumento);
catalogo.codigo = "josnunez";
usuario = UsuarioDAL.BuscarUsuario(catalogo);
body = plantilla.Body.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString())
.Replace("$DescripcionDocumento", model.Solicitud.DescripcionDocumento).Replace("$Mensaje", model.Mensaje)
.Replace("|", "</br>");
correo.CUERPO = body;
email = usuario.EmailUsuario;
correo.DESTINATARIOS = "randyguti1995@gmail.com";
respuesta = respuestaAyA.enviarCorreo(correo);
break;
case "Correo Respuesta Solicitud Autorizada":
plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault();
correo = new ServiciosUsuariosWCF.correoEL();
correo.FORMATO = "html";
correo.ASUNTO = plantilla.Subject.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString())
.Replace("$DescripcionDocumento", model.Solicitud.DescripcionDocumento);
catalogo.codigo = "josnunez";
usuario = UsuarioDAL.BuscarUsuario(catalogo);
body = plantilla.Body.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString())
.Replace("$DescripcionDocumento", model.Solicitud.DescripcionDocumento).Replace("|", "</br>");
correo.CUERPO = body;
email = usuario.EmailUsuario;
correo.DESTINATARIOS = "randyguti1995@gmail.com";
respuesta = respuestaAyA.enviarCorreo(correo);
break;
case "Correo Respuesta Solicitud Rechazada":
plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault();
correo = new ServiciosUsuariosWCF.correoEL();
correo.FORMATO = "html";
correo.ASUNTO = plantilla.Subject.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString())
.Replace("$DescripcionDocumento", model.Solicitud.DescripcionDocumento);
catalogo.codigo = "josnunez";
usuario = UsuarioDAL.BuscarUsuario(catalogo);
body = plantilla.Body.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString())
.Replace("$DescripcionDocumento", model.Solicitud.DescripcionDocumento).Replace("$Justificacion", model.Mensaje)
.Replace("|", "</br>");
correo.CUERPO = body;
email = usuario.EmailUsuario;
correo.DESTINATARIOS = "randyguti1995@gmail.com";
respuesta = respuestaAyA.enviarCorreo(correo);
break;
case "Correo Info Solicitud Autorizada":
plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault();
correo = new ServiciosUsuariosWCF.correoEL();
correo.FORMATO = "html";
correo.ASUNTO = plantilla.Subject.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString());
foreach (var usuarios in model.ListaUsuariosCorreo)
{
catalogo.codigo = "josnunez";
usuario = UsuarioDAL.BuscarUsuario(catalogo);
body = plantilla.Body.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString())
.Replace("$UsuarioAprobo", model.UsuarioSistema).Replace("$UsuarioCreo", model.Solicitud.UsuarioSistema)
.Replace("|", "</br>");
correo.CUERPO = body;
email = usuario.EmailUsuario;
correo.DESTINATARIOS = "randyguti1995@gmail.com";
respuesta = respuestaAyA.enviarCorreo(correo);
}
break;
case "Correo Info Solicitud Rechazada":
plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault();
correo = new ServiciosUsuariosWCF.correoEL();
correo.FORMATO = "html";
correo.ASUNTO = plantilla.Subject.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString());
foreach (var usuarios in model.ListaUsuariosCorreo)
{
catalogo.codigo = "josnunez";
usuario = UsuarioDAL.BuscarUsuario(catalogo);
body = plantilla.Body.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString())
.Replace("$DescripcionDocumento", model.Solicitud.DescripcionDocumento).Replace("$Justificacion", model.Mensaje)
.Replace("$UsuarioAprobo", model.UsuarioSistema).Replace("$UsuarioCreo", model.Solicitud.UsuarioSistema)
.Replace("|", "</br>");
correo.CUERPO = body;
email = usuario.EmailUsuario;
correo.DESTINATARIOS = "randyguti1995@gmail.com";
respuesta = respuestaAyA.enviarCorreo(correo);
}
break;
case "Correo Solicitando Confirmación":
plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault();
correo = new ServiciosUsuariosWCF.correoEL();
correo.FORMATO = "html";
correo.ASUNTO = plantilla.Subject.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString())
.Replace("$DescripcionDocumento", model.Solicitud.DescripcionDocumento);
catalogo.codigo = "josnunez";
usuario = UsuarioDAL.BuscarUsuario(catalogo);
body = plantilla.Body.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString())
.Replace("$Titulo", model.Solicitud.DescripcionDocumento).Replace("|", "</br>");
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
public AdjuntosJSON GuardarAdjuntos(AdjuntosJSON model)
{
try
{
var documentosDAL = new DocumentosAdjuntosDAL();
if (model.Adjuntos == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del documento ";
return model;
}
documentosDAL.GuardarAdjuntos(model);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public AdjuntosJSON RemoverAdjunto(AdjuntosJSON model)
{
string Serverpath = HttpContext.Current.Server.MapPath("DocumentosSINORT");
Serverpath += "\\" + model.Carpeta;
try
{
string file;
string fileDirectory = Serverpath;
file = model.Nombre.Replace(" ", "_");
fileDirectory = fileDirectory + "\\" + file;
if (File.Exists(fileDirectory))
{
File.Delete(fileDirectory);
}
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public List<DocumentosAdjuntos> ObtenerAdjuntos(AdjuntosJSON model)
{
List<DocumentosAdjuntos> respuesta = null;
try
{
respuesta = new DocumentosAdjuntosDAL().ObtenerAdjuntos(model);
}
catch (Exception ex)
{
log.Error(ex);
}
return respuesta;
}
#endregion
#region Tareas Pendientes
public List<TareasPendientes> ObtenerTareasPendientes(CatalogosPostJSON model)
{
List<TareasPendientes> respuesta = null;
try
{
respuesta = new TareasPendientesDAL().ObtenerTareasPendientes(model);
}
catch (Exception ex)
{
log.Error(ex);
}
return respuesta;
}
public ProyectoNormativoJSON InsertarActualizarTareasPendientes(ProyectoNormativoJSON model)
{
try
{
var tareasDAL = new TareasPendientesDAL();
foreach (var tareas in model.ListaTareasPendientes)
{
model.TareasPendientes = tareas;
tareasDAL.InsertarActualizarTareasPendientes(model);
}
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
catch (Exception ex)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
log.Error(ex);
}
return model;
}
public SolicitudJSON InsertarActualizarTareasPendientes2(SolicitudJSON model)
{
try
{
var tareasDAL = new TareasPendientesDAL();
foreach (var tareas in model.ListaTareasPendientes)
{
model.TareasPendientes = tareas;
tareasDAL.InsertarActualizarTareasPendientes2(model);
}
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
catch (Exception ex)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
log.Error(ex);
}
return model;
}
public NotificacionesJSON ObtenerCantidadTareasPendientes(NotificacionesJSON model)
{
try
{
model = new TareasPendientesDAL().ObtenerCantidadTareasPendientes(model);
}
catch (Exception ex)
{
log.Error(ex);
}
return model;
}
#endregion
#region Gotitas Normativas
public List<GotitasNormativas> ObtenerGotitasPendientes(CatalogosPostJSON model)
{
List<GotitasNormativas> respuesta = null;
try
{
respuesta = new GotitasNormativasDAL().ObtenerGotitasPendientes(model);
}
catch (Exception ex)
{
log.Error(ex);
}
return respuesta;
}
public BaseJson InsertarGotitasNormativas(GotitasNormativas model)
{
BaseJson respuesta = new BaseJson();
try
{
respuesta = new GotitasNormativasDAL().InsertarGotitasNormativas(model);
}
catch (Exception ex)
{
log.Error(ex);
}
return respuesta;
}
public NotificacionesJSON ObtenerCantidadGotitasPendientes(NotificacionesJSON model)
{
try
{
model = new GotitasNormativasDAL().ObtenerCantidadGotitasPendientes(model);
}
catch (Exception ex)
{
log.Error(ex);
}
return model;
}
#endregion
#region Login
public LoginJSON ObtenerUsuarioAD(LoginJSON model)
{
string servidorActiveDirectory = "intranet.aya.go.cr";
//string servidorActiveDirectory = "Atesa154-PC";
string domain = servidorActiveDirectory;
try
{
DirectoryEntry entry = new DirectoryEntry("LDAP://" + domain, model.Usuario, model.Contrasena);
object nativeObject = entry.NativeObject;
DirectorySearcher Buscar = new DirectorySearcher(entry);
Buscar.Filter = "(SAMAccountName=" + model.Usuario + ")";
Buscar.PropertiesToLoad.Add("mail");
Buscar.PropertiesToLoad.Add("displayname");
Buscar.PropertiesToLoad.Add("samaccountname");
var Resultado = Buscar.FindOne();
if (Resultado != null)
{
model.NombreUsuario = Resultado.Properties["displayname"][0].ToString();
model.LoginUsuario = Resultado.Properties["samaccountname"][0].ToString();
model.DescripcionRespuesta = "Bienvenido.";
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
}
catch (Exception ex)
{
model.DescripcionRespuesta = "El usuario o la contraseña son incorrectos.";
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
log.Error(ex);
}
return model;
}//Fin de método
public CatalogosPostJSON VerificarUsuarioBD(CatalogosPostJSON model)
{
UsuarioDAL usuario = new UsuarioDAL();
try
{
model.usuario = usuario.BuscarUsuario(model);
if (model.usuario != null)
{
model.DescripcionRespuesta = "Bienvenido.";
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
else
{
model.DescripcionRespuesta = "El usuario no está registrado.";
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
}
}
catch (Exception ex)
{
log.Error(ex);
}
return model;
}
public List<Pantallas> ObtenerPermisos(AtesaJSON model)
{
List<Pantallas> respuesta = null;
try
{
respuesta = new PermisosUsuarioDAL().ObtenerPermisos(model);
}
catch (Exception ex)
{
log.Error(ex);
}
return respuesta;
}
#endregion
#region Solicitud
public SolicitudJSON ObtenerSolicitud(SolicitudJSON model)
{
try
{
if (model.Solicitud == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del proyecto normativo";
return model;
}
model = new SolicitudDAL().ObtenerSolicitud(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public SolicitudJSON ObtenerSolicitudUsuario(SolicitudJSON model) {
SolicitudJSON registros = new SolicitudJSON();
try
{
registros = new SolicitudDAL().ObtenerSolicitudUsuario(model);
}
catch (Exception ex)
{
registros.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
log.Error(ex);
}
return registros;
}
public SolicitudJSON ObtenerPorTipo(SolicitudJSON model)
{
SolicitudJSON registros = new SolicitudJSON();
try
{
registros = new SolicitudDAL().ObtenerPorTipo(model);
}
catch (Exception ex)
{
registros.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
log.Error(ex);
}
return registros;
}
public SolicitudJSON GuardarSolicitud(SolicitudJSON model)
{
try
{
if (model.Solicitud == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos de la solicitud";
return model;
}
model = new SolicitudDAL().GuardarSolicitud(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
#endregion
}
}