diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs index 824c98305..175e600b5 100644 --- a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs +++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs @@ -142,6 +142,9 @@ namespace AYA.SlnSinort.WCF [OperationContract] EncuestaJSON GuardarEncuesta(EncuestaJSON model); + [OperationContract] + EncuestaJSON GuardarRespuestaEncuesta(EncuestaJSON model); + [OperationContract] EncuestaJSON GuardarUsuariosEncuesta(EncuestaJSON model); #endregion diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs index d4c809db6..54282449a 100644 --- a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs +++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs @@ -1206,7 +1206,28 @@ namespace AYA.SlnSinort.WCF return model; } #endregion + public EncuestaJSON GuardarRespuestaEncuesta(EncuestaJSON model) + { + try + { + if (model.RespuestaEncuesta == 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; + } } } diff --git a/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/ResponderEncuesta.js b/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/ResponderEncuesta.js index 452387ea6..014640610 100644 --- a/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/ResponderEncuesta.js +++ b/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/ResponderEncuesta.js @@ -73,9 +73,17 @@ this.CrearEncuesta = function (data) { .onComplete .add(function (result) { - document - .querySelector('#surveyResult') - .innerHTML = "result: " + JSON.stringify(result.data); + var uri = SinortWCF + '/api/GuardarRespuestaEncuesta'; + var model = { + ListaRespuestas: result.data, + IdEncabezadoEncuesta: EncuestaId, + UsuarioSistema: UsuarioSistema + }; + + AjaxPostData(uri, model, false, true, null, null, null); + //document + // .querySelector('#surveyResult') + // .innerHTML = "result: " + JSON.stringify(result.data); }); $("#surveyElement").Survey({ diff --git a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/EncuestaDAL.cs b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/EncuestaDAL.cs index 6a8d7e99c..1eda0f037 100644 --- a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/EncuestaDAL.cs +++ b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/EncuestaDAL.cs @@ -265,6 +265,36 @@ namespace AYA.SlnSinortModel.DAL.Sinort return model; } + public EncuestaJSON GuardarRespuestaEncuesta(EncuestaJSON model) + { + try + { + using (SinortContex Conn = new SinortContex()) + { + + + model.RespuestaEncuesta.UsuarioCreacion = model.UserName; + model.RespuestaEncuesta.FechaCreacion = DateTime.Now; + Conn.RespuestaEncuesta.Add(model.RespuestaEncuesta); + + 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; + } public EncuestaJSON GuardarUsuariosEncuesta(EncuestaJSON model) { UsuariosEncuesta Actual = new UsuariosEncuesta(); diff --git a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/CatalogosJSON.cs b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/CatalogosJSON.cs index 1d0b40da4..50c1731b7 100644 --- a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/CatalogosJSON.cs +++ b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/CatalogosJSON.cs @@ -83,6 +83,11 @@ namespace AYA.SlnSinortModel.Entidades } + + public class RespuestaJSON { + public string nombrePregunta { get; set; } + public string respuesta { get; set; } + } public class Columnas { public string value { get; set; } diff --git a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs index 194016aae..3c2cee26c 100644 --- a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs +++ b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs @@ -98,6 +98,7 @@ namespace AYA.SlnSinortModel.Entidades public EncabezadoEncuesta EncabezadoEncuesta { get; set; } public UsuariosEncuesta UsuariosEncuesta { get; set; } public TipoPregunta TipoPregunta { get; set; } + public RespuestaEncuesta RespuestaEncuesta { get; set; } public List TipoPreguntas { get; set; } public List DetalleEncuestas { get; set; } public List EncabezadoEncuestas { get; set; } @@ -107,6 +108,8 @@ namespace AYA.SlnSinortModel.Entidades public TareasPendientes TareasPendientes { get; set; } public List ListaTareasPendientes { get; set; } public List ListaUsuariosCorreo { get; set; } + + public List ListaRespuestas { get; set; } public int IdEncabezadoEncuesta { get; set; } public string UsuarioSistema { get; set; } public string Mensaje { get; set; }