guardar encuesta

git-tfs-id: [http://192.168.1.10:8080/tfs/AyA]$/SINORT;C371
This commit is contained in:
dmendez 2018-08-01 19:57:34 +00:00
parent a87f325970
commit 896777c426
6 changed files with 151 additions and 34 deletions

View file

@ -141,6 +141,9 @@ namespace AYA.SlnSinort.WCF
[OperationContract] [OperationContract]
EncuestaJSON GuardarEncuesta(EncuestaJSON model); EncuestaJSON GuardarEncuesta(EncuestaJSON model);
[OperationContract]
EncuestaJSON GuardarUsuariosEncuesta(EncuestaJSON model);
#endregion #endregion
} }

View file

@ -1105,15 +1105,21 @@ namespace AYA.SlnSinort.WCF
{ {
try try
{ {
if (model.DetalleEncuesta == null) var encuestaDAL = new EncuestaDAL();
if (model.DetalleEncuestas == null)
{ {
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos de la solicitud"; model.DescripcionRespuesta = "No se encontraron datos de los convocados";
return model; return model;
} }
model = new EncuestaDAL().GuardarPregunta(model); foreach (var preguntas in model.DetalleEncuestas)
{
model.DetalleEncuesta = preguntas;
encuestaDAL.GuardarPregunta(model);
}
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
} }
catch (Exception ex) catch (Exception ex)
@ -1169,7 +1175,36 @@ namespace AYA.SlnSinort.WCF
} }
return model; return model;
} }
public EncuestaJSON GuardarUsuariosEncuesta(EncuestaJSON model)
{
try
{
var encuestaDAL = new EncuestaDAL();
if (model.ListaUsuariosEncuestas == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos de los convocados";
return model;
}
foreach (var encuestados in model.ListaUsuariosEncuestas)
{
model.UsuariosEncuesta = encuestados;
encuestaDAL.GuardarUsuariosEncuesta(model);
}
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
#endregion #endregion

View file

@ -132,19 +132,20 @@ this.AgregarPregunta = function () {
var option = $("#ucbtnRemover").html(); var option = $("#ucbtnRemover").html();
if ($('#chkRequerido').prop('checked')) { if ($('#chkRequerido').prop('checked')) {
requerido = '*'; requerido = true;
} else { } else {
requerido = ''; requerido = false;
} }
tablePreguntas.row.add([ tablePreguntas.row.add([
$('#txtTipoPregunta').val(), $("#hiddenTipoPregunta").val(),
$('#txtTituloPregunta').val(), $('#txtTipoPregunta').val(),
$('#txtNombrePregunta').val(), $('#txtTituloPregunta').val(),
requerido, $('#txtNombrePregunta').val(),
$('#tableRespuestas').val(), requerido,
option $('#tableRespuestas').val(),
option
]).draw(); ]).draw();
LimpiarPregunta(); LimpiarPregunta();
@ -348,10 +349,8 @@ this.GuardarEncuesta = function () {
this.GuardarDetalleEncuesta = function (data) { this.GuardarDetalleEncuesta = function (data) {
if (data.CodigoRespuesta == "EXITOSO") {
tablePreguntas = $('#tablePreguntas').DataTable(); tablePreguntas = $('#tablePreguntas').DataTable();
IdEncabezadoEncuesta = data.EncabezadoEncuesta.IdEncabezadoEncuesta; IdEncabezadoEncuesta = data.EncabezadoEncuesta.IdEncuesta;
var ArrayPreguntas = []; var ArrayPreguntas = [];
var data = tablePreguntas var data = tablePreguntas
@ -361,28 +360,60 @@ this.GuardarDetalleEncuesta = function (data) {
$.each(data, function (key, item) { $.each(data, function (key, item) {
Pregunta = { Pregunta = {
IdDetalleEncuesta: item[0],
IdEncabezadoEncuesta: IdEncabezadoEncuesta, IdEncabezadoEncuesta: IdEncabezadoEncuesta,
IdTipoPregunta: item[1], IdTipoPregunta: item[0],
DescTipoPregunta: item[2], DescTipoPregunta: item[1],
TituloPregunta: item[3], TituloPregunta: item[2],
NombrePregunta: item[4], NombrePregunta: item[3],
Requerido: item[5], Requerido: item[4],
RespuestaPregunta: item[6], RespuestaPregunta: item[5],
Estado: 1 Estado: 1,
} }
ArrayPreguntas.push(Pregunta); ArrayPreguntas.push(Pregunta);
}); });
var uri = SinortWCF + '/api/GuardarPregunta'; var uri = SinortWCF + '/api/GuardarPregunta';
var model = { var model = {
ListaPreguntas: ArrayPreguntas DetalleEncuestas: ArrayPreguntas
}; };
AjaxPostData(uri, model, false, true, null, null, null); AjaxPostData(uri, model, false, true, GuardarUsuariosEncuesta, null, null);
}
//LimpiarPropuesta(); this.GuardarUsuariosEncuesta = function (data) {
location.reload();
} tableUsuarios = $('#tableUsuarios').DataTable();
IdEncabezadoEncuesta = data.EncabezadoEncuesta.IdEncuesta;
var ArrayUsuarios = [];
var data = tableUsuarios
.rows()
.data();
$.each(data, function (key, item) {
Encuestados = {
UsuarioSistema: item[0],
IdEncabezadoEncuesta: IdEncabezadoEncuesta,
Estado: 1,
}
ArrayUsuarios.push(Encuestados);
});
var uri = SinortWCF + '/api/GuardarUsuariosEncuesta';
var model = {
ListaUsuariosEncuestas: ArrayUsuarios
};
AjaxPostData(uri, model, false, true, null, null, null);
LimpiarEncuesta();
location.reload();
}
this.LimpiarEncuesta = function () {
$("#txtTituloEncuesta").val('');
tablePreguntas = $('#tablePreguntas').DataTable();
tablePreguntas.clear().draw();
} }
//fin encuesta //fin encuesta

View file

@ -45,6 +45,7 @@
<table id="tablePreguntas" class="table table-condensed dataTable no-footer"> <table id="tablePreguntas" class="table table-condensed dataTable no-footer">
<thead> <thead>
<tr> <tr>
<th class="col-sm-1"></th>
<th class="col-sm-2">Tipo Pregunta</th> <th class="col-sm-2">Tipo Pregunta</th>
<th class="col-sm-3">Título Pregunta</th> <th class="col-sm-3">Título Pregunta</th>
<th class="col-sm-3">Nombre Pregunta</th> <th class="col-sm-3">Nombre Pregunta</th>
@ -53,6 +54,7 @@
<th class="col-sm-2"></th> <th class="col-sm-2"></th>
</tr> </tr>
<tr> <tr>
<th class="col-sm-1"></th>
<th class="col-sm-2"></th> <th class="col-sm-2"></th>
<th class="col-sm-3"></th> <th class="col-sm-3"></th>
<th class="col-sm-3"></th> <th class="col-sm-3"></th>

View file

@ -82,14 +82,16 @@ namespace AYA.SlnSinortModel.DAL.Sinort
public EncuestaJSON GuardarPregunta(EncuestaJSON model) public EncuestaJSON GuardarPregunta(EncuestaJSON model)
{ {
DetalleEncuesta Actual = new DetalleEncuesta();
try try
{ {
using (SinortContex Conn = new SinortContex()) using (SinortContex Conn = new SinortContex())
{ {
Actual = Conn.DetalleEncuesta
.FirstOrDefault(x => x.IdDetalleEncuesta == model.DetalleEncuesta.IdDetalleEncuesta
&& x.IdEncabezadoEncuesta == model.DetalleEncuesta.IdEncabezadoEncuesta);
model.DetalleEncuesta.ClearProperties(); if (Actual == null)
if (!Conn.DetalleEncuesta.Any(x => x.IdDetalleEncuesta == model.DetalleEncuesta.IdDetalleEncuesta))
{ {
int? Next_id = Conn.DetalleEncuesta.Max(t => (int?)t.IdDetalleEncuesta); int? Next_id = Conn.DetalleEncuesta.Max(t => (int?)t.IdDetalleEncuesta);
model.DetalleEncuesta.IdDetalleEncuesta = (Next_id == null) ? 1 : Next_id.Value + 1; model.DetalleEncuesta.IdDetalleEncuesta = (Next_id == null) ? 1 : Next_id.Value + 1;
@ -167,7 +169,7 @@ namespace AYA.SlnSinortModel.DAL.Sinort
using (SinortContex db = new SinortContex()) using (SinortContex db = new SinortContex())
{ {
registros.UsuariosEncuestas = db.UsuariosEncuesta registros.ListaUsuariosEncuestas = db.UsuariosEncuesta
.Include(q => q.EncabezadoEncuesta) .Include(q => q.EncabezadoEncuesta)
.Where(x => x.Estado == true && x.UsuarioSistema == model.UsuarioSistema).AsNoTracking() .Where(x => x.Estado == true && x.UsuarioSistema == model.UsuarioSistema).AsNoTracking()
.ToList(); .ToList();
@ -278,5 +280,49 @@ namespace AYA.SlnSinortModel.DAL.Sinort
return model; return model;
} }
public EncuestaJSON GuardarUsuariosEncuesta(EncuestaJSON model)
{
UsuariosEncuesta Actual = new UsuariosEncuesta();
try
{
using (SinortContex Conn = new SinortContex())
{
Actual = Conn.UsuariosEncuesta
.FirstOrDefault(x => x.IdEncabezadoEncuesta == model.UsuariosEncuesta.IdEncabezadoEncuesta
&& x.UsuarioSistema == model.UsuariosEncuesta.UsuarioSistema);
if (Actual == null)
{
model.UsuariosEncuesta.UsuarioCreacion = model.UserName;
model.UsuariosEncuesta.FechaCreacion = DateTime.Now;
Conn.UsuariosEncuesta.Add(model.UsuariosEncuesta);
}
else
{
model.UsuariosEncuesta.UsuarioModificacion = model.UserName;
model.UsuariosEncuesta.FechaModificacion = DateTime.Now;
Conn.Entry(Actual).State = System.Data.Entity.EntityState.Detached;
Conn.UsuariosEncuesta.Attach(model.UsuariosEncuesta);
Conn.Entry(model.UsuariosEncuesta).State = System.Data.Entity.EntityState.Modified;
}
Conn.SaveChanges();
Conn.Commit();
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO.ToString();
}
}
catch (DbEntityValidationException ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR.ToString();
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR.ToString();
}
return model;
}
} }
} }

View file

@ -101,7 +101,7 @@ namespace AYA.SlnSinortModel.Entidades
public List<TipoPregunta> TipoPreguntas { get; set; } public List<TipoPregunta> TipoPreguntas { get; set; }
public List<DetalleEncuesta> DetalleEncuestas { get; set; } public List<DetalleEncuesta> DetalleEncuestas { get; set; }
public List<EncabezadoEncuesta> EncabezadoEncuestas { get; set; } public List<EncabezadoEncuesta> EncabezadoEncuestas { get; set; }
public List<UsuariosEncuesta> UsuariosEncuestas { get; set; } public List<UsuariosEncuesta> ListaUsuariosEncuestas { get; set; }
public List<PreguntasJSON> questions { get; set; } public List<PreguntasJSON> questions { get; set; }
public PlantillaEmail PlantillaEmail { get; set; } public PlantillaEmail PlantillaEmail { get; set; }
public TareasPendientes TareasPendientes { get; set; } public TareasPendientes TareasPendientes { get; set; }