diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs index 3b4167336..d7db273fd 100644 --- a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs +++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs @@ -135,9 +135,12 @@ namespace AYA.SlnSinort.WCF [OperationContract] EncuestaJSON ObtenerEncabezadoEncuesta(EncuestaJSON model); + [OperationContract] EncuestaJSON ObtenerDetalleEncuesta(EncuestaJSON model); - + + [OperationContract] + EncuestaJSON GuardarEncuesta(EncuestaJSON model); #endregion } diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs index b16fa19ec..d75517941 100644 --- a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs +++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs @@ -1146,6 +1146,30 @@ namespace AYA.SlnSinort.WCF } 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; + } + #endregion diff --git a/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/CrearEncuesta.js b/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/CrearEncuesta.js index 0bca66f8e..1d52668dc 100644 --- a/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/CrearEncuesta.js +++ b/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/CrearEncuesta.js @@ -1,15 +1,21 @@ var model = {}; +var IdDetalleEncuesta; +var IdEncabezadoEncuesta; jQuery(document).ready(function () { getDataModel(); - }); this.getDataModel = function () { CargarTipoPregunta(); + CargarUsuarios(); + //CargarDetalleEncuesta(); + + $('#tableUsuarios').TableInit(0, false, true, true, false, null, null); + $('#tableRespuestas').TableInit(0, false, true, true, false, null, null); $("#btnBuscarTipoPregunta").unbind("click"); $("#btnBuscarTipoPregunta").click(function () { @@ -29,24 +35,58 @@ this.getDataModel = function () { $("#btnPreguntas").unbind("click"); $('#btnPreguntas').click(function () { - $("#modalTipoPregunta").modal('show'); + $("#modalPreguntas").modal('show'); + }); + + $("#btnAgregar").unbind("click"); + $('#btnAgregar').click(function () { + AgregarPregunta(); + }); + + $("#btnUsuarios").unbind("click"); + $('#btnUsuarios').click(function () { + $("#modalUsuarios").modal('show'); + }); + + $("#btnBuscarUsuario").unbind("click"); + $("#btnBuscarUsuario").click(function () { + BuscarUsuario(); + }); + + $("#btnAgregarUsuario").unbind("click"); + $("#btnAgregarUsuario").click(function () { + AgregarUsuario(); + }); + + $("#btnRespuesta").unbind("click"); + $('#btnRespuesta').click(function () { + $("#modalRespuestas").modal('show'); + }); + + $("#btnAgregarRespuesta").unbind("click"); + $("#btnAgregarRespuesta").click(function () { + AgregarRespuesta(); + }); + + $("#btnGuardar").unbind("click"); + $('#btnGuardar').click(function () { + GuardarEncuesta(); }); } +//CargarTipoPregunta this.CargarTipoPregunta = function () { var uri = CatalogosWCF + '/api/ObtenerTipoPregunta'; - AjaxPostData(uri, null, false, false, CargarGridTareasPendientes, null, null); + AjaxPostData(uri, null, false, false, CargarGridTiposPreguntas, null, null); } -this.CargarGridTareasPendientes = function (data) { +this.CargarGridTiposPreguntas = function (data) { if (data != null) { - - var Seleccionar = $("#ucBtnSeleccionarCatalogo").html(); var columnDefinition = [ @@ -64,9 +104,8 @@ this.CargarGridTareasPendientes = function (data) { toastr.error("Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde", Message_Error); } - -} +} $('#tableTipoPregunta').on('click', 'button', function () { @@ -74,8 +113,276 @@ $('#tableTipoPregunta').on('click', 'button', function () { $('#hiddenTipoPregunta').val(data.IdTipoPregunta); $('#txtTipoPregunta').val(data.Descripcion); - + $('#modalTipoPregunta').modal('hide'); }); +//fin tipopregunta +//Agregar Pregunta +this.AgregarPregunta = function () { + if ($("#txtTipoPregunta").val() == '' || $("#txtTituloPregunta").val() == '' || $("#txtNombrePregunta").val() == '') { + toastr.warning("Por favor digite los campos en blanco"); + return false; + } + + if (!confirm("¿Desea agregar una pregunta?")) return; + + var tablePreguntas = $('#tablePreguntas').DataTable(); + var option = $("#ucbtnRemover").html(); + + if ($('#chkRequerido').prop('checked')) { + requerido = '*'; + } else { + requerido = ''; + } + + + tablePreguntas.row.add([ + $('#txtTipoPregunta').val(), + $('#txtTituloPregunta').val(), + $('#txtNombrePregunta').val(), + requerido, + $('#tableRespuestas').val(), + option + ]).draw(); + + LimpiarPregunta(); +} + +//this.CargarDetalleEncuesta = function () { + +// var uri = SinortWCF + '/api/ObtenerEncuestas'; +// var model = +// AjaxPostData(uri, Item, false, false, CargarGridDetalleEncuesta, null, null); + +//} + +//this.CargarGridDetalleEncuesta = function (data) { + +// if (data != null && data.DetalleEncuestas != null) { +// DetalleEncuesta = data.DetalleEncuestas; + +// var columnDefinition = [ +// { "data": "IdDetalleEncuesta" }, +// { "data": "IdEncabezadoEncuesta" }, +// { "data": "IdTipoPregunta" }, +// { "data": "DescTipoPregunta" }, +// { "data": "TituloPregunta" }, +// { "data": "NombrePregunta" }, +// { "data": "Requerido" }, +// { "data": "RespuestaPregunta" } +// ]; +// ENDREQUEST(); +// } +//} + +$('#tablePreguntas').on('click', 'button', function () { + + var tablePreguntas = $('#tablePreguntas').DataTable(); + tablePreguntas.row($(this).parents('tr')).remove().draw(); +}); + +//fin pregunta +//AgregarUsuario +this.AgregarUsuario = function () { + + if ($("#txtUsuario").val() == '') { + toastr.warning("Por favor escoja un usuario"); + return false; + } + + if (!confirm("¿Desea agregar a un nuevo usuario?")) return; + + var tableUsuarios = $('#tableUsuarios').DataTable(); + var option = $("#ucbtnRemover").html(); + var a = $("#hiddenusuario").val(); + + tableUsuarios.row.add( + [$("#hiddenusuario").val(), + $("#txtUsuario").val(), + option]) + .draw(); + + toastr.success(Message_Default, Message_Success); + $('#hiddenusuario').val(''); + $('#txtUsuario').val(''); +} + +this.LimpiarPregunta = function () { + $('#txtMensaje').val(''); + $('#txtTipoPregunta').val(''); + $('#txtTituloPregunta').val(''); + $('#txtNombrePregunta').val(''); + var tableRespuestas = $('#tableRespuestas').DataTable(); + tableRespuestas.clear().draw(); + var tableUsuarios = $('#tableUsuarios').DataTable(); + tableUsuarios.clear().draw(); +} + +$('#tableUsuarios').on('click', 'button', function () { + + var tableUsuarios = $('#tableUsuarios').DataTable(); + tableUsuarios.row($(this).parents('tr')).remove().draw(); +}); + +this.CargarUsuarios = function (filtro) { + + var uri = CatalogosWCF + '/api/ObtenerUsuario'; + AjaxPostData(uri, null, false, false, CargarGridUsuarios, null, null); + +} + +this.CargarGridUsuarios = function (data) { + + if (data != null) { + + var Seleccionar = $("#ucBtnSeleccionarCatalogo").html(); + var columnDefinition = [ + { "data": "UsuarioSistema", className: "center" }, + { "data": "NombreUsuario", className: "center" }, + { "data": null, className: "center", defaultContent: Seleccionar } + ]; + + $('#tableUsuario').TableInit(0, false, true, true, false, columnDefinition, data, false); + } + + else { + + toastr.error("Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde", Message_Error); + } + + ENDREQUEST(); +} + +this.BuscarUsuario = function () { + SelectedCatalog = 'Usuarios'; + + if ($.fn.DataTable.isDataTable('#tableUsuario')) { + + LoadMessage(); + $('#tableUsuario').DataTable().search('').draw(); + $('#modalUsuario').modal('show'); + ENDREQUEST(); + + } +} + +$('#tableUsuario').on('click', 'button', function () { + + var data = $('#tableUsuario').DataTable().row($(this).parents('tr')).data(); + + if (SelectedCatalog == "Usuarios") { + + $('#hiddenusuario').val(data.UsuarioSistema); + $('#txtUsuario').val(data.NombreUsuario); + } + $('#modalUsuario').modal('hide'); + +}); + +this.LimpiarUsuario = function () { + $('#hiddenusuario').val(''); + $('#txtUsuario').val(''); +} +//fin usuario +//AgregarRespuestas +this.AgregarRespuesta = function () { + + if ($("#txtRespuesta").val() == '') { + toastr.warning("Por favor digite los campos en blanco"); + return false; + } + + if (!confirm("¿Desea agregar una respuesta?")) return; + + var tableRespuestas = $('#tableRespuestas').DataTable(); + var option = $("#ucbtnRemover").html(); + + tableRespuestas.row.add( + [$("#txtRespuesta").val(), + option]) + .draw(); + + toastr.success(Message_Default, Message_Success); + $('#txtRespuesta').val(''); +} + +this.LimpiarRespuesta = function () { + $('#txtRespuesta').val(''); +} + +$('#tableRespuestas').on('click', 'button', function () { + + var tableRespuestas = $('#tableRespuestas').DataTable(); + tableRespuestas.row($(this).parents('tr')).remove().draw(); +}); +//fin respuetas +//Guardar encuesta +this.GuardarEncuesta = function () { + + if (!$("#formCrearEncuesta").valid()) { + toastr.warning("Ingresar todos los campos que son requeridos."); + return false; + } + + if (IsNullOrEmpty(tablePreguntas)) { + toastr.warning("Antes de continuar; debe de ingresar una pregunta."); + return false; + } + + if (!confirm("Va a ingresar una nueva Encuesta .\n ¿Desea continuar?")) + { return; } + + Encuesta = { + Descripcion: $("#txtTituloEncuesta").val(), + Estado: 1 + } + + model.EncabezadoEncuesta = Encuesta; + + var uri = SinortWCF + '/api/GuardarEncuesta'; + AjaxPostData(uri, model, true, true, GuardarDetalleEncuesta, null, null); + +} + +this.GuardarDetalleEncuesta = function (data) { + + if (data.CodigoRespuesta == "EXITOSO") { + + tablePreguntas = $('#tablePreguntas').DataTable(); + IdEncabezadoEncuesta = data.EncabezadoEncuesta.IdEncabezadoEncuesta; + + var ArrayPreguntas = []; + var data = tablePreguntas + .rows() + .data(); + + $.each(data, function (key, item) { + + Pregunta = { + IdDetalleEncuesta: item[0], + IdEncabezadoEncuesta: IdEncabezadoEncuesta, + IdTipoPregunta: item[1], + DescTipoPregunta: item[2], + TituloPregunta: item[3], + NombrePregunta: item[4], + Requerido: item[5], + RespuestaPregunta: item[6], + Estado: 1 + } + ArrayPreguntas.push(Pregunta); + }); + + var uri = SinortWCF + '/api/GuardarPregunta'; + var model = { + ListaPreguntas: ArrayPreguntas + }; + + AjaxPostData(uri, model, false, true, null, null, null); + + //LimpiarPropuesta(); + location.reload(); + } +} +//fin encuesta diff --git a/AYA.SlnSynor/AYA.SlnSynor/Views/NormativaReglamentacionTecnica/CrearEncuesta.cshtml b/AYA.SlnSynor/AYA.SlnSynor/Views/NormativaReglamentacionTecnica/CrearEncuesta.cshtml index 58f2e425a..7c7b009db 100644 --- a/AYA.SlnSynor/AYA.SlnSynor/Views/NormativaReglamentacionTecnica/CrearEncuesta.cshtml +++ b/AYA.SlnSynor/AYA.SlnSynor/Views/NormativaReglamentacionTecnica/CrearEncuesta.cshtml @@ -5,12 +5,10 @@ }