guardar encuesta
git-tfs-id: [http://192.168.1.10:8080/tfs/AyA]$/SINORT;C371
This commit is contained in:
parent
a87f325970
commit
896777c426
6 changed files with 151 additions and 34 deletions
|
|
@ -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
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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; }
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue