diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs index c68885117..0dc9d2160 100644 --- a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs +++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs @@ -47,8 +47,7 @@ namespace AYA.SlnSinort.WCF FichaTecnicaJSON GuardarFichaTecnicaHistorico(FichaTecnicaJSON model); [OperationContract] - FichaTecnicaJSON GuardarFichaTecnicaHistoricoPalabraClave(FichaTecnicaJSON model); - + FichaTecnicaJSON GuardarFichaTecnicaHistoricoPalabraClave(FichaTecnicaJSON model); [OperationContract] FichaTecnicaJSON GuardarFichaTecnicaPalabraClave(FichaTecnicaJSON model); @@ -73,6 +72,16 @@ namespace AYA.SlnSinort.WCF [OperationContract] FichaTecnicaJSON ObtenerFichaTecnicaHistorico(FichaTecnicaJSON model); + + [OperationContract] + FichaTecnicaJSON ObtenerFichasTecnicasAlertas(FichaTecnicaJSON model); + + [OperationContract] + FichaTecnicaJSON GuardarFichaTecnicaAlerta(FichaTecnicaJSON model); + + [OperationContract] + FichaTecnicaJSON ObtenerFichaAlerta(FichaTecnicaJSON model); + #endregion #region Adjuntos diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs index 91f2e921f..42b918aea 100644 --- a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs +++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs @@ -193,7 +193,6 @@ namespace AYA.SlnSinort.WCF //} #endregion - //Ficha tecnica # region Ficha Tecnica public FichaTecnicaJSON ObtenerSitios(FichaTecnicaJSON model) { @@ -264,6 +263,7 @@ namespace AYA.SlnSinort.WCF } return model; } + public FichaTecnicaJSON GuardarFichaTecnicaHistorico(FichaTecnicaJSON model) { try @@ -408,6 +408,75 @@ namespace AYA.SlnSinort.WCF } return model; } + + public FichaTecnicaJSON ObtenerFichasTecnicasAlertas(FichaTecnicaJSON model) { + try + { + if (model.FichaTecnicaAlerta == null) + { + + model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; + model.DescripcionRespuesta = "No se encontraron datos de la ficha técnica"; + return model; + } + + model = new FichaTecnicaDAL().ObtenerFichasTecnicasAlertas(model); + + } + catch (Exception ex) + { + log.Error(ex); + model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; + } + return model; + } + + public FichaTecnicaJSON GuardarFichaTecnicaAlerta(FichaTecnicaJSON model) + { + try + { + if (model.FichaTecnicaAlerta == null) + { + + model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; + model.DescripcionRespuesta = "No se encontraron datos de la ficha técnica"; + return model; + } + + model = new FichaTecnicaDAL().GuardarFichaTecnicaAlerta(model); + + } + catch (Exception ex) + { + log.Error(ex); + model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; + } + return model; + } + + public FichaTecnicaJSON ObtenerFichaAlerta(FichaTecnicaJSON model) + { + try + { + if (model.FichaTecnicaAlerta == null) + { + + model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; + model.DescripcionRespuesta = "No se encontraron datos de la ficha técnica"; + return model; + } + + model = new FichaTecnicaDAL().ObtenerFichaAlerta(model); + + } + catch (Exception ex) + { + log.Error(ex); + model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; + } + return model; + } + #endregion #region WCFAYA Envio Correo diff --git a/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/FichaTecnica.js b/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/FichaTecnica.js index 8cfdbbce0..9d7548490 100644 --- a/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/FichaTecnica.js +++ b/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/FichaTecnica.js @@ -12,8 +12,8 @@ var IDFicha; var IDFichaH; var PalabrasHistorico = []; var FTPalabraClaveHistorico; - var idFicha; +var Alerta; jQuery(document).ready(function () { @@ -25,14 +25,6 @@ jQuery(document).ready(function () { IDFicha = ObtenerParametros().fichatecnicaid; - //if (IsNullOrEmpty(IDFicha)) { - // alert("No ha seleccionado una ficha técnica."); - // $("#formDetallePropuesta").FormReadOnly(); - // return; - //} - - //$("#formFichaTecnica").EnableValidationToolTip(); - if (IDFicha != null) { model.FichaTecnica = { IdFichaTecnica: ROT47(IDFicha.toString()) @@ -50,10 +42,6 @@ jQuery(document).ready(function () { getDataModel(); } - - - - }); this.getDataModel = function () { @@ -67,13 +55,11 @@ this.getDataModel = function () { CargarGrupoTematico(); CargarDocumentoTecnico(); CargarPalabraClave(); - //CargarEstado(); - CargarUsuarios(); + Alerta = VerificarAlerta(); $('#tableDestinatarios').TableInit(0, false, true, true, false, null, null); - $("#btnBuscarPalabraClave").unbind("click"); $("#btnBuscarPalabraClave").click(function () { BuscarPalabraClave(); @@ -372,7 +358,18 @@ this.GuardarFichaTecnica = function () { toastr.warning(Message_NoGrants, Message_Warning); } } +this.VerificarAlerta = function () +{ + FichaTecnicaAlerta = { + IdFichaTecnica: FichaTecnicaId, + UsuarioSistema: UsuarioSistema + } + model = FichaTecnicaAlerta; + var uri = SinortWCF + '/api/ObtenerFichaAlerta'; + AjaxPostData(uri, model, false, true, null, null, null); + +} this.GuardarPalabraClaveHistorico = function(data) { historico = data.FichaTecnicaHistorico; @@ -394,6 +391,7 @@ this.GuardarPalabraClaveHistorico = function(data) AjaxPostData(uri, model, true, true, null, null, null); } + this.EliminarFicha = function (accion) { if (!confirm((accion == true) ? "NO" : "Se eliminara la ficha técnica.\n ¿Desea continuar?")) @@ -413,7 +411,6 @@ this.CompletarAccion = function () { ENDREQUEST(); } - this.LimpiarControles = function () { $("#txtAreaIdentificacion").val(''); $("#txtDocumentoIngreso").val(''); @@ -465,7 +462,6 @@ this.EliminarAdjunto = function () { $('#fileupload').prop("disabled", false); } - this.CargarEmisor = function (filtro) { var uri = CatalogosWCF + '/api/ObtenerEmisorPopUp'; @@ -743,7 +739,6 @@ this.CargarGridPalabraClave = function (data) { ENDREQUEST(); } - this.ObtenerFicha = function () { @@ -888,64 +883,6 @@ this.CargarFormulario = function (data) { ENDREQUEST(); } - - - -//this.CargarFichaTecnica = function (filtro) { - -// if (IsNullOrEmpty(FichaTecnicaId)) { -// return; -// } - -// $('#panelBotones').show(); -// model.FichaTecnica = { IdFichaTecnica: FichaTecnicaId }; - -// var uri = SinortWCF + '/api/ObtenerFichaTecnica'; -// AjaxPostData(uri, model, false, true, LlenarFichaTecnica, null, null); - - - -//} - -//this.LlenarFichaTecnica = function (data) { - -// if (data != null) { - -// //IdDocumento: IsNullOrEmpty(modelDocumentoAdjunto) ? 0 : modelDocumentoAdjunto.Adjuntos.IdDocumentoAdjunto , -// $("#txtAreaIdentificacion").val(data.FichaTecnica.Identificacion); -// $("#hiddenEstado").val(data.FichaTecnica.IdEstado); -// $("#txtEstado").val(data.FichaTecnica.DescripcionEstado); -// $("#txtDocumentoIngreso").val(data.FichaTecnica.DocumentoIngreso); -// $("#txtDocumentoEgreso").val(data.FichaTecnica.DocumentoEgreso); -// $("#hiddenDocumentoTecnico").val(data.FichaTecnica.IdDocumentoTecnico); -// $("#txtDocumentoTecnico").val(data.FichaTecnica.DescripcionDocumentoTecnico); -// $("#hiddenAplicacion").val(data.FichaTecnica.IdAplicacion); -// $("#txtAplicacion").val(data.FichaTecnica.DescripcionAplicacion); -// $("#hiddenContenido").val(data.FichaTecnica.IdContenido); -// $("#txtContenido").val(data.FichaTecnica.DescripcionContenido); -// $("#hiddenSubCategoriaContenido").val(data.FichaTecnica.IdSubCategoriaContenido); -// $("#txtSubCategoriaContenido").val(data.FichaTecnica.DescripcionsubCategoriaContenido); -// $("#hiddenGrupoTematico").val(data.FichaTecnica.IdGrupoTematico); -// $("#txtGrupoTematico").val(data.FichaTecnica.DescripcionGrupoTematico); -// $("#hiddenSubCategoriaGrupoTematico").val(data.FichaTecnica.IdSubCategoriaGrupoTematico); -// $("#txtSubCategoriaGrupoTematico").val(data.FichaTecnica.DescripcionSubCategoriaGrupoTematico); -// $("#hiddenEmisor").val(data.FichaTecnica.IdEmisor); -// $("#txtEmisor").val(data.FichaTecnica.DescripcionEmisor); - -// var fecha = DateFormatNoTime(data.FichaTecnica.FechaPublicacionDocumentoTecnico); - -// if (fecha != "Invalid date") -// $("#txtFechaPublicacionDocumentoTecnico").val(fecha); - - -// $("#txtNumeroPublicacionVersion").val(data.FichaTecnica.NumeroPublicacionVersion); - -// CargarGridPalabraClaveFichaTecnica(data.FichaTecnica.FichaTecnicaPalabraClave); -// CargarDocumentosAdjuntos(data.FichaTecnica.DocumentosAdjuntos); -// } -//} - - this.CargarDocumentosAdjuntos = function (data) { if (data != null) { @@ -1000,8 +937,6 @@ this.CargarGridPalabraClaveFichaTecnica = function (data) { ENDREQUEST(); } - - this.BuscarPalabraClave = function () { SelectedCatalog = 'PalabraClave'; @@ -1064,7 +999,6 @@ this.LimpiarPalabraClave = function () { $('#txtPalabraClave').val(''); } - //Adjuntos this.AbrirAdjuntos = function () { DescTipoproyecto = 'Ficha Tecnica'; @@ -1211,8 +1145,6 @@ $('#tableDocFichaTecnica').on('click', 'button', function () { }); //fin adjuntos - - this.DivulgarFichaTecnica = function () { var identificacion = $("#ucIdentificacion").html(); @@ -1358,10 +1290,23 @@ this.EnviarCorreoAlerta = function () { model.FichaTecnica = FichaTecnica; model.PlantillaEmail = Plantilla; - AjaxPostData(uri, model, false, true, null, null, null); - - ENDREQUEST(); + AjaxPostData(uri, model, false, true, GuardarAlertaFichaTecnica, null, null); +} +this.GuardarAlertaFichaTecnica = function (data) { + alerta = data; + + FichaTecnicaAlerta = { + IdFichaTecnica: alerta.FichaTecnica.IdFichaTecnica, + UsuarioSistema: UsuarioSistema, + Estado: 1 + } + model.FichaTecnicaAlerta = FichaTecnicaAlerta; + var uri = SinortWCF + '/api/GuardarFichaTecnicaAlerta'; + AjaxPostData(uri, model, true, true, null, null, null); + + ENDREQUEST(); + location.reload(); } this.DeshabilitarCampos = function () { @@ -1418,7 +1363,6 @@ this.DeshabilitarCampos = function () { } - //tables $('#tableAplicacion').on('click', 'button', function () { @@ -1534,6 +1478,7 @@ $('#tablePalabrasClaves').on('click', 'button', function () { $('#modalPalabrasClaves').modal('hide'); }); + $('#tableDestinatarios').on('click', 'button', function () { var tableParticipantes = $('#tableDestinatarios').DataTable(); diff --git a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/FichaTecnicaDAL.cs b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/FichaTecnicaDAL.cs index c2deadc97..ee9ef416b 100644 --- a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/FichaTecnicaDAL.cs +++ b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/FichaTecnicaDAL.cs @@ -103,7 +103,6 @@ namespace AYA.SlnSinortModel.DAL.Sinort return registros; } - public FichaTecnicaJSON GuardarFichaTecnica(FichaTecnicaJSON model) { try @@ -392,6 +391,116 @@ namespace AYA.SlnSinortModel.DAL.Sinort return model; } + + + + public FichaTecnicaJSON ObtenerFichasTecnicasAlertas(FichaTecnicaJSON model) + { + FichaTecnicaJSON registros = new FichaTecnicaJSON(); + + try + { + using (SinortContex Conn = new SinortContex()) + { + registros.ListaFichasTecnicasAlertas = Conn.FichaTecnicaAlerta + .Include("Usuario") + .Include("FichaTecnica") + .Where(x => x.IdFichaTecnica == model.FichaTecnicaAlerta.IdFichaTecnica && x.Estado == true).AsNoTracking() + .ToList(); + + registros.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO; + } + + } + catch (DbEntityValidationException ex) + { + log.Error(ex); + registros.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; + } + catch (Exception ex) + { + log.Error(ex); + registros.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; + } + + return registros; + } + + + public FichaTecnicaJSON ObtenerFichaAlerta(FichaTecnicaJSON model) + { + FichaTecnicaJSON registros = new FichaTecnicaJSON(); + + try + { + using (SinortContex Conn = new SinortContex()) + { + registros.FichaTecnicaAlerta = Conn.FichaTecnicaAlerta + .Where(x => x.IdFichaTecnica == model.IdFichaTecnica && x.UsuarioSistema == model.UsuarioSistema); + + registros.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO; + } + + } + catch (DbEntityValidationException ex) + { + log.Error(ex); + registros.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; + } + catch (Exception ex) + { + log.Error(ex); + registros.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; + } + + return registros; + } + + + public FichaTecnicaJSON GuardarFichaTecnicaAlerta(FichaTecnicaJSON model) + { + try + { + using (SinortContex Conn = new SinortContex()) + { + + model.FichaTecnicaAlerta.ClearProperties(); + + if (!Conn.FichaTecnicaAlerta.Any(x => x.IdFichaTecnica == model.FichaTecnicaAlerta.IdFichaTecnica)) + { + model.FichaTecnicaAlerta.UsuarioCreacion = model.UserName; + model.FichaTecnicaAlerta.FechaCreacion = DateTime.Now; + Conn.FichaTecnicaAlerta.Add(model.FichaTecnicaAlerta); + } + else + { + model.FichaTecnicaAlerta.UsuarioModificacion = model.UserName; + model.FichaTecnicaAlerta.FechaModificacion = DateTime.Now; + Conn.Entry(model.FichaTecnicaAlerta).State = System.Data.Entity.EntityState.Detached; + Conn.FichaTecnicaAlerta.Attach(model.FichaTecnicaAlerta); + Conn.Entry(model.FichaTecnicaAlerta).State = System.Data.Entity.EntityState.Modified; + } + + Conn.SaveChanges(); + Conn.Commit(); + model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO; + + } + } + catch (DbEntityValidationException ex) + { + log.Error(ex); + model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; + } + catch (Exception ex) + { + log.Error(ex); + model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; + } + + return model; + } + } } diff --git a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs index b3d5f1d18..3dcceeb87 100644 --- a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs +++ b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs @@ -39,6 +39,9 @@ namespace AYA.SlnSinortModel.Entidades public List FichaTecnicaHistoricos { get; set; } public List ListaPalabraClaveHistorico { get; set; } + public FichaTecnicaAlerta FichaTecnicaAlerta { get; set; } + public List ListaFichasTecnicasAlertas { get; set; } + public List FichasTecnicas { get; set; } public List ListaPalabraClave { get; set; } public List EventosJSON { get; set; } @@ -49,6 +52,7 @@ namespace AYA.SlnSinortModel.Entidades public string Mensaje { get; set; } public int? IdPalabra { get; set; } public int? IdFichaTecnica { get; set; } + public string UsuarioSistema { get; set; } } public class AdjuntosJSON : BaseJson