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

1697 lines
67 KiB
C#

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 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<Convocatoria> ActualizarConvocados(ProyectoNormativoJSON model)
{
List<Convocatoria> convocados = new List<Convocatoria>();
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 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;
}
#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("$Link", "<a href=" + "'" + model.ProyectoNormativo.Matriz + "'" + ">Aquí </a>").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);
string fechamaxima = Convert.ToDateTime(model.ProyectoNormativo.FechaMaximaConfirmarParticipacion).ToString("dd/MM/yyyy");
body = plantilla.Body.Replace("$NombreProyecto", model.ProyectoNormativo.NombreProyectoNormativo).Replace("$Link", "<a href=" + "'" + model.ProyectoNormativo.Matriz + "'" + ">" + model.ProyectoNormativo.NombreProyectoNormativo + "</a>").Replace("$FechaMaxima", fechamaxima).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("$Link", "<a href=" + "'" + model.ProyectoNormativo.Matriz + "'" + ">" + model.ProyectoNormativo.NombreProyectoNormativo + "</a>").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 = email ;
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 =email;
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", "<a href=" + "'" + model.ProyectoNormativo.Matriz + "'" + ">" + model.ProyectoNormativo.NombreProyectoNormativo + "</a>").Replace("$Asunto", model.Convocado.AsuntoDiscusionFocalizada).Replace("|", "</br>");
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", "<a href=" + "'" + model.ProyectoNormativo.Matriz + "'" + ">Aquí </a>").Replace("|", "</br>");
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("|", "</br>");
correo.CUERPO = body;
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", "<a href=" + "'" + model.ProyectoNormativo.Matriz + "'" + ">" + model.ProyectoNormativo.NombreProyectoNormativo + "</a>").Replace("$FechaMaxima", fechamaxima).Replace("$Usuario", usuario.NombreUsuario).Replace("|", "</br>");
correo.CUERPO = body;
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<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 = 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("|", "</br>");
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("|", "</br>");
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<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 = 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("|", "</br>");
correo.CUERPO = body;
email = usuario.EmailUsuario;
correo.DESTINATARIOS = email;
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("|", "</br>");
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("|", "</br>");
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("|", "</br>");
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("|", "</br>");
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("|", "</br>");
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<PlantillaEmail> Listaplantillas = new List<PlantillaEmail>();
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("|", "</br>");
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("|", "</br>");
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<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();
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<Pantallas> ObtenerPermisos(CatalogosPostJSON 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 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<DetalleEncuesta> ObtenerDetalleEncuesta()
//{
// List<DetalleEncuesta> 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.GuardarUsuariosEncuesta(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
#endregion
}
}