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 Microsoft.Reporting.WebForms; ////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 string BuscarNombreProyecto(ProyectoNormativoJSON model) { string respuesta = null; try { respuesta = new ProyectoNormativoDAL().BuscarNombreProyecto(model); } catch (Exception ex) { log.Error(ex); } return respuesta; } 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 List ActualizarConvocados(ProyectoNormativoJSON model) { List convocados = new List(); try { var convocatoriaDAL = new ConvocatoriaDAL(); convocados = convocatoriaDAL.ActualizarConvocados(model); model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO; } catch (Exception ex) { log.Error(ex); model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; } return convocados; } 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 #region Ficha Tecnica public int VerificarNombre(AdjuntosJSON model) { int respuesta = 0; try { respuesta = new DocumentosAdjuntosDAL().VerificarNombre(model); } catch (Exception ex) { log.Error(ex); } return respuesta; } 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 ObtenerEliminadas(FichaTecnicaJSON model) { FichaTecnicaJSON registros = new FichaTecnicaJSON(); try { registros = new FichaTecnicaDAL().ObtenerEliminadas(model); } catch (Exception ex) { registros.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; log.Error(ex); } return registros; } public FichaTecnicaJSON ObtenerInactivas(FichaTecnicaJSON model) { FichaTecnicaJSON registros = new FichaTecnicaJSON(); try { registros = new FichaTecnicaDAL().ObtenerInactivas(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 GuardarFichaTecnicaHistorico(FichaTecnicaJSON model) { try { if (model.FichaTecnicaHistorico == null) { model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; model.DescripcionRespuesta = "No se encontraron datos de la ficha técnica histórico"; return model; } model = new FichaTecnicaDAL().GuardarFichaTecnicaHistorico(model); } catch (Exception ex) { log.Error(ex); model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; } return model; } public FichaTecnicaJSON GuardarFichaTecnicaHistoricoPalabraClave(FichaTecnicaJSON model) { try { if (model.ListaPalabraClaveHistorico == null) { model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; model.DescripcionRespuesta = "No se encontraron datos de la ficha técnica histórico"; return model; } model = new FichaTecnicaDAL().GuardarFichaTecnicaHistoricoPalabraClave(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; } public FichaTecnicaJSON ObtenerFichaTecnicaHistorico(FichaTecnicaJSON model) { try { if (model.FichaTecnicaHistorico == null) { model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; model.DescripcionRespuesta = "No se encontraron datos de la ficha técnica"; return model; } model = new FichaTecnicaDAL().ObtenerFichaTecnicaHistorico(model); } catch (Exception ex) { log.Error(ex); model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; } return model; } public FichaTecnicaJSON EliminarFichaTecnica(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().EliminarFichaTecnica(model); } catch (Exception ex) { log.Error(ex); model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; } return model; } public FichaTecnicaJSON InsertarActualizarFichaTecnicaAlerta(FichaTecnicaJSON model) { try { model = new FichaTecnicaDAL().InsertarActualizarFichaTecnicaAlerta(model); } catch (Exception ex) { log.Error(ex); } return model; } public FichaTecnicaJSON ObtenerFichaTecnicaAlerta(FichaTecnicaJSON model) { try { model = new FichaTecnicaDAL().ObtenerFichaTecnicaAlerta(model); } catch (Exception ex) { log.Error(ex); } return model; } public FichaTecnicaJSON ObtenerFichaAlerta(FichaTecnicaJSON model) { try { model = new FichaTecnicaDAL().ObtenerFichaAlerta(model); } catch (Exception ex) { log.Error(ex); } return model; } #endregion #region WCFAYA Envio Correo public ProyectoNormativoJSON EnviarCorreo(ProyectoNormativoJSON 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 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("$Link", "Aquí ").Replace("$Usuario", usuario.NombreUsuario).Replace("|", "
"); 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); string fechamaxima = Convert.ToDateTime(model.ProyectoNormativo.FechaMaximaConfirmarParticipacion).ToString("dd/MM/yyyy"); body = plantilla.Body.Replace("$NombreProyecto", model.ProyectoNormativo.NombreProyectoNormativo).Replace("$Link", "" + model.ProyectoNormativo.NombreProyectoNormativo + "").Replace("$FechaMaxima", fechamaxima).Replace("$Usuario", usuario.NombreUsuario).Replace("|", "
"); 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("$Link", "" + model.ProyectoNormativo.NombreProyectoNormativo + "").Replace("$FechaMaxima", Convert.ToString(model.ProyectoNormativo.FechaMaximaConfirmarParticipacion)).Replace("$Usuario", usuario.NombreUsuario).Replace("|", "
"); 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("|", "
"); 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("|", "
"); 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 Discusion Focalizada": //Correo Discusion Focalizada 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("$Link", "" + model.ProyectoNormativo.NombreProyectoNormativo + "").Replace("$Asunto", model.Convocado.AsuntoDiscusionFocalizada).Replace("|", "
"); email = usuario.EmailUsuario; correo.DESTINATARIOS = "jnunez@atesacr.com"; correo.CUERPO = body; respuesta = respuestaAyA.enviarCorreo(correo); } break; case "Correo Cierre Proyecto": //Correo Cierre Proyecto 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); body = plantilla.Body.Replace("$NombreProyecto", model.ProyectoNormativo.NombreProyectoNormativo).Replace("$Link", "Aquí ").Replace("|", "
"); correo.CUERPO = body; string correos = ""; foreach (var participantes in model.ListaConvocatoria) { catalogo.codigo = participantes.UsuarioSistema; usuario = UsuarioDAL.BuscarUsuario(catalogo); email = usuario.EmailUsuario; correos += email + ";"; } correo.DESTINATARIOS = "jnunez@atesacr.com"; respuesta = respuestaAyA.enviarCorreo(correo); break; case "Correo Evento Calendario": //Correo Evento Calendario plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault(); correo = new ServiciosUsuariosWCF.correoEL(); correo.FORMATO = "html"; correo.ASUNTO = plantilla.Subject.Replace("$Asunto", model.ProyectoNormativo.Matriz); body = plantilla.Body.Replace("$Descripcion", model.ProyectoNormativo.DescTipoProyecto).Replace("|", "
"); correo.CUERPO = body; foreach (var participantes in model.ListaConvocatoria) { catalogo.codigo = participantes.UsuarioSistema; usuario = UsuarioDAL.BuscarUsuario(catalogo); email = usuario.EmailUsuario; correo.DESTINATARIOS = "jnunez@atesacr.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 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("$Link", "Aquí ").Replace("|", "
"); correo.CUERPO = body; email = usuario.EmailUsuario; correo.DESTINATARIOS = email; respuesta = respuestaAyA.enviarCorreo(correo); } break; case "Correo Modificacion Ficha Tecnica": 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("$NombreDocumentoTecnico", model.FichaTecnica.DescripcionDocumentoTecnico).Replace("|", "
"); correo.CUERPO = body; email = usuario.EmailUsuario; correo.DESTINATARIOS =email; 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 = model.UserName; usuario = UsuarioDAL.BuscarUsuario(catalogo); body = plantilla.Body.Replace("$NombreDocumentoTecnico", model.FichaTecnica.DescripcionDocumentoTecnico).Replace("$Link", "Aquí ").Replace("|", "
"); correo.CUERPO = body; email = usuario.EmailUsuario; correo.DESTINATARIOS = email; 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 Listaplantillas = new List(); PlantillaEmail plantilla = new PlantillaEmail(); Usuario usuario = new Usuario(); CatalogosPostJSON catalogo = new CatalogosPostJSON(); List ListaUsuariosCorreo = new List(); 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("$Link", "Aquí ").Replace("|", "
"); correo.CUERPO = body; email = usuario.EmailUsuario; correo.DESTINATARIOS = email; 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 = model.UserName; 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("$Link", "Aquí ").Replace("|", "
"); correo.CUERPO = body; email = usuario.EmailUsuario; correo.DESTINATARIOS = email; correo.RUTAADJUNTOS = model.Ruta != null ? "" : model.Ruta; 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 =model.UserName; usuario = UsuarioDAL.BuscarUsuario(catalogo); body = plantilla.Body.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString()) .Replace("$DescripcionDocumento", model.Solicitud.DescripcionDocumento).Replace("|", "
"); correo.CUERPO = body; email = usuario.EmailUsuario; correo.DESTINATARIOS = email; 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 = model.UserName; 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("|", "
"); correo.CUERPO = body; email = usuario.EmailUsuario; correo.DESTINATARIOS = email; 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 = model.UserName; 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("|", "
"); correo.CUERPO = body; email = usuario.EmailUsuario; correo.DESTINATARIOS = email; 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 = model.UserName; 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("|", "
"); correo.CUERPO = body; email = usuario.EmailUsuario; correo.DESTINATARIOS = email; 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 = model.UserName; usuario = UsuarioDAL.BuscarUsuario(catalogo); body = plantilla.Body.Replace("$DescTipoSolicitud", model.Solicitud.DescripcionTipoSolicitud).Replace("$IdSolicitud", model.Solicitud.IdSolicitud.ToString()) .Replace("$Titulo", model.Solicitud.DescripcionDocumento).Replace("|", "
"); correo.CUERPO = body; email = usuario.EmailUsuario; correo.DESTINATARIOS = email; respuesta = respuestaAyA.enviarCorreo(correo); break; } } catch (Exception ex) { model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; throw; } model.CodigoRespuesta = (respuesta == 1) ? EnumTipoCodigoRespuesta.EXITOSO : EnumTipoCodigoRespuesta.ERROR; ; return model; } public UExternoJSON EnviarCorreoAExterno(UExternoJSON model) { PlantillaEmailDAL PlantillalDAL = new PlantillaEmailDAL(); PlantillaEmail plantilla = new PlantillaEmail(); List Listaplantillas = new List(); Encriptar encriptar = new Encriptar(); 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 Registro Externo": plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault(); correo = new ServiciosUsuariosWCF.correoEL(); correo.FORMATO = "html"; correo.ASUNTO = plantilla.Subject; body = plantilla.Body.Replace("$Nombre", model.UsuarioExterno.Nombre).Replace("$Apellido", model.UsuarioExterno.Apellido1) .Replace("$Usuario", model.UsuarioExterno.Usuario).Replace("$Password",encriptar.desencriptaConstrasena(model.UsuarioExterno.Password)).Replace("|", "
"); correo.CUERPO = body; email = model.UsuarioExterno.Email; correo.DESTINATARIOS = email; respuesta = respuestaAyA.enviarCorreo(correo); break; case "Correo Recupeacion Contrasena": plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault(); correo = new ServiciosUsuariosWCF.correoEL(); correo.FORMATO = "html"; correo.ASUNTO = plantilla.Subject; body = plantilla.Body.Replace("$Nombre", model.UsuarioExterno.Nombre).Replace("$Apellido", model.UsuarioExterno.Apellido1) .Replace("$Password", encriptar.desencriptaConstrasena(model.UsuarioExterno.Password)).Replace("|", "
"); correo.CUERPO = body; email = model.UsuarioExterno.Email; correo.DESTINATARIOS = email; 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 CopiarAdjunto(AdjuntosJSON model) { string Serverpath = model.Carpeta; try { string original; string copia; string fileDirectory = Serverpath; original = model.Tipo.Replace(" ", "_"); copia = model.Nombre.Replace(" ", "_"); string sourceFile = System.IO.Path.Combine(fileDirectory, original); string destFile = System.IO.Path.Combine(fileDirectory, copia); if (File.Exists(sourceFile)) { File.Copy(sourceFile, destFile, true); model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO; } } catch (Exception ex) { log.Error(ex); model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; } return model; } public AdjuntosJSON RemoverAdjunto(AdjuntosJSON model) { string 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 AdjuntosJSON EliminarbaseAdjunto(AdjuntosJSON model) { var DocumentosAdjuntosDAL = new DocumentosAdjuntosDAL(); try { DocumentosAdjuntosDAL.EliminarbaseAdjunto(model); model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO; } catch (Exception ex) { model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; throw; } return model; } public List ObtenerAdjuntos(AdjuntosJSON model) { List respuesta = null; try { respuesta = new DocumentosAdjuntosDAL().ObtenerAdjuntos(model); } catch (Exception ex) { log.Error(ex); } return respuesta; } #endregion #region Tareas Pendientes public List ObtenerTareasPendientes(CatalogosPostJSON model) { List respuesta = null; try { respuesta = new TareasPendientesDAL().ObtenerTareasPendientes(model); } catch (Exception ex) { log.Error(ex); } return respuesta; } public SolicitudJSON ObtenerSolicitudTareasPendientes(SolicitudJSON model) { try { model = new TareasPendientesDAL().ObtenerSolicitudTareasPendientes(model); model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO; } catch (Exception ex) { log.Error(ex); } return model; } 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 ObtenerGotitasPendientes(CatalogosPostJSON model) { List 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(); PermisosUsuarioDAL pantallas = new PermisosUsuarioDAL(); try { model.usuario = usuario.BuscarUsuario(model); if (model.usuario != null) { model.pantallas = pantallas.ObtenerPermisos(model); 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 CatalogosPostJSON VerificarUsuarioBDExterno(CatalogosPostJSON model) { UsuarioExternoDAL usuario = new UsuarioExternoDAL(); PermisosUsuarioDAL pantallas = new PermisosUsuarioDAL(); Encriptar encriptar = new Encriptar(); try { model.UsuarioExterno = usuario.BuscarUsuario(model); if (model.UsuarioExterno != null) { if (encriptar.desencriptaConstrasena(model.UsuarioExterno.Password) == model.filtro) { model.pantallas = pantallas.ObtenerPermisos(model); if (model.pantallas != null && model.pantallas.Count > 0) { model.DescripcionRespuesta = "Bienvenido."; model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO; } else { model.DescripcionRespuesta = "Para iniciar sesión debe tener un rol asignado."; model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; } } else { model.DescripcionRespuesta = "El usuario o la contraseña son incorrectos."; model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; } } else { model.DescripcionRespuesta = "El usuario no está registrado."; model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; } } catch (Exception ex) { log.Error(ex); } return model; } public List ObtenerPermisos(CatalogosPostJSON model) { List 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 ObtenerSolicitudCompraAutorizadas(SolicitudJSON model) { SolicitudJSON registros = new SolicitudJSON(); try { registros = new SolicitudDAL().ObtenerSolicitudCompraAutorizadas(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 #region Encuesta public EncuestaJSON ObtenerEncabezadoEncuesta(EncuestaJSON model) { EncuestaJSON registros = new EncuestaJSON(); try { registros = new EncuestaDAL().ObtenerEncabezadoEncuesta(model); } catch (Exception ex) { registros.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; log.Error(ex); } return registros; } public EncuestaJSON ObtenerUsuariosEncuestas(EncuestaJSON model) { try { model = new EncuestaDAL().ObtenerUsuariosEncuestas(model); } catch (Exception ex) { model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; log.Error(ex); } return model; } public EncuestaJSON ObtenerDetalleEncuesta(EncuestaJSON model) { try { model = new EncuestaDAL().ObtenerDetalleEncuesta(model); } catch (Exception ex) { model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; log.Error(ex); } return model; } //public List ObtenerDetalleEncuesta() //{ // List respuesta = null; // try // { // respuesta = new EncuestaDAL().ObtenerDetalleEncuesta(); // } // catch (Exception ex) // { // log.Error(ex); // } // return respuesta; //} public EncuestaJSON GuardarPregunta(EncuestaJSON model) { try { var encuestaDAL = new EncuestaDAL(); if (model.DetalleEncuestas == null) { model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; model.DescripcionRespuesta = "No se encontraron datos de los convocados"; return model; } foreach (var preguntas in model.DetalleEncuestas) { model.DetalleEncuesta = preguntas; encuestaDAL.GuardarPregunta(model); } model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO; } catch (Exception ex) { log.Error(ex); model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; } return model; } public EncuestaJSON ObtenerEncuestas(EncuestaJSON model) { try { if (model.DetalleEncuesta == null) { model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; model.DescripcionRespuesta = "No se encontraron datos de la ficha técnica"; return model; } model = new EncuestaDAL().ObtenerEncuestas(model); } catch (Exception ex) { log.Error(ex); model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; } return model; } public EncuestaJSON GuardarEncuesta(EncuestaJSON model) { try { if (model.EncabezadoEncuesta == null) { model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; model.DescripcionRespuesta = "No se encontraron datos de la encuesta"; return model; } model = new EncuestaDAL().GuardarEncuesta(model); } catch (Exception ex) { log.Error(ex); model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; } return model; } public EncuestaJSON GuardarUsuariosEncuesta(EncuestaJSON model) { try { var encuestaDAL = new EncuestaDAL(); if (model.UsuariosEncuestas == null) { model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; model.DescripcionRespuesta = "No se encontraron datos de los convocados"; return model; } foreach (var encuestados in model.UsuariosEncuestas) { model.UsuariosEncuesta = encuestados; encuestaDAL.GuardarUsuariosEncuesta(model); } model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO; } catch (Exception ex) { log.Error(ex); model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; } return model; } public EncuestaJSON GuardarRespuestaEncuesta(EncuestaJSON model) { try { var EncuestaDAL = new EncuestaDAL(); if (model == null || model.ListaRespuestas == null) { model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; model.DescripcionRespuesta = "No se encontraron datos de la encuesta"; return model; } model = EncuestaDAL.GuardarRespuestaEncuesta(model); if (model.CodigoRespuesta == EnumTipoCodigoRespuesta.EXITOSO) EncuestaDAL.GuardarUsuarioEncuesta(model); } catch (Exception ex) { log.Error(ex); model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; } return model; } #endregion } }