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]
EncuestaJSON GuardarEncuesta(EncuestaJSON model);
[OperationContract]
EncuestaJSON GuardarUsuariosEncuesta(EncuestaJSON model);
#endregion
}

View file

@ -1105,15 +1105,21 @@ namespace AYA.SlnSinort.WCF
{
try
{
if (model.DetalleEncuesta == null)
var encuestaDAL = new EncuestaDAL();
if (model.DetalleEncuestas == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos de la solicitud";
model.DescripcionRespuesta = "No se encontraron datos de los convocados";
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)
@ -1169,7 +1175,36 @@ namespace AYA.SlnSinort.WCF
}
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

View file

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

View file

@ -45,6 +45,7 @@
<table id="tablePreguntas" class="table table-condensed dataTable no-footer">
<thead>
<tr>
<th class="col-sm-1"></th>
<th class="col-sm-2">Tipo Pregunta</th>
<th class="col-sm-3">Título Pregunta</th>
<th class="col-sm-3">Nombre Pregunta</th>
@ -53,6 +54,7 @@
<th class="col-sm-2"></th>
</tr>
<tr>
<th class="col-sm-1"></th>
<th class="col-sm-2"></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)
{
DetalleEncuesta Actual = new DetalleEncuesta();
try
{
using (SinortContex Conn = new SinortContex())
{
Actual = Conn.DetalleEncuesta
.FirstOrDefault(x => x.IdDetalleEncuesta == model.DetalleEncuesta.IdDetalleEncuesta
&& x.IdEncabezadoEncuesta == model.DetalleEncuesta.IdEncabezadoEncuesta);
model.DetalleEncuesta.ClearProperties();
if (!Conn.DetalleEncuesta.Any(x => x.IdDetalleEncuesta == model.DetalleEncuesta.IdDetalleEncuesta))
if (Actual == null)
{
int? Next_id = Conn.DetalleEncuesta.Max(t => (int?)t.IdDetalleEncuesta);
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())
{
registros.UsuariosEncuestas = db.UsuariosEncuesta
registros.ListaUsuariosEncuestas = db.UsuariosEncuesta
.Include(q => q.EncabezadoEncuesta)
.Where(x => x.Estado == true && x.UsuarioSistema == model.UsuarioSistema).AsNoTracking()
.ToList();
@ -278,5 +280,49 @@ namespace AYA.SlnSinortModel.DAL.Sinort
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<DetalleEncuesta> DetalleEncuestas { 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 PlantillaEmail PlantillaEmail { get; set; }
public TareasPendientes TareasPendientes { get; set; }