This commit is contained in:
jnunez 2018-07-03 21:49:32 +00:00
parent 3a223e5ce7
commit 2f3c583172
19 changed files with 454 additions and 503 deletions

View file

@ -44,5 +44,13 @@ namespace AYA.SlnSinort.WCF
[OperationContract]
List<DocumentosAdjuntos> ObtenerAdjuntos(AdjuntosJSON model);
#endregion
#region Tareas Pendientes
[OperationContract]
List<TareasPendientes> ObtenerTareasPendientes(CatalogosPostJSON model);
[OperationContract]
BaseJson InsertarActualizarTareasPendientes(TareasPendientes model);
#endregion
}
}

View file

@ -332,6 +332,37 @@ namespace AYA.SlnSinort.WCF
}
#endregion
#region Tareas Pendientes
public List<TareasPendientes> ObtenerTareasPendientes(CatalogosPostJSON model)
{
List<TareasPendientes> respuesta = null;
try
{
respuesta = new TareasPendientesDAL().ObtenerTareasPendientes(model);
}
catch (Exception ex)
{
log.Error(ex);
}
return respuesta;
}
public BaseJson InsertarActualizarTareasPendientes(TareasPendientes model)
{
BaseJson respuesta = new BaseJson();
try
{
respuesta = new TareasPendientesDAL().InsertarActualizarTareasPendientes(model);
}
catch (Exception ex)
{
log.Error(ex);
}
return respuesta;
}
#endregion
}

View file

@ -7773,6 +7773,7 @@
<Content Include="Sinort-Scripts\ROTn.js" />
<Content Include="Sinort-Scripts\SubCategoriaContenido.js" />
<Content Include="Sinort-Scripts\SubCategoriaGrupoTematico.js" />
<Content Include="Sinort-Scripts\TareasPendientes.js" />
<Content Include="Sinort-Scripts\Usuario.js" />
<Content Include="Web.config">
<SubType>Designer</SubType>
@ -7830,6 +7831,7 @@
<Content Include="Views\Catalogos\SubCategoriaGrupoTematico.cshtml" />
<Content Include="Views\Catalogos\DocumentoTecnico.cshtml" />
<Content Include="Views\Catalogos\PalabraClave.cshtml" />
<Content Include="Views\Home\TareasPendientes.cshtml" />
</ItemGroup>
<ItemGroup>
<Folder Include="App_Data\" />

View file

@ -24,5 +24,12 @@ namespace AYA.SlnSinort.Controllers
InitControllers();
return View();
}
public ActionResult TareasPendientes()
{
InitControllers();
return View();
}
}
}

View file

@ -101,7 +101,7 @@ this.getDataModel = function () {
$("#txtTextoPropuesto").val('');
$('#btnVerAdjuntosMatriz').prop("disabled", false);
EsRespuesta = false;
$('#modalDiscusion-footer').css("display", "block");
$('#modalElemento-footer').css("display", "block");
$('#modalElemento').modal('show');
var tableDocMatriz = $('#tableDocMatriz').DataTable();
tableDocMatriz.clear().draw();
@ -184,7 +184,9 @@ this.CargarFormulario = function (data) {
$("#txtEmisor").val(model.ProyectoNormativo.Emisor);
$("#txtAplicacion").val(model.ProyectoNormativo.Aplicacion);
//CONVOCADOS
CargarConvocados();
//AREA DE TRABAJO
CargarForo();
if (EsForo) {
@ -254,7 +256,7 @@ this.CargarForo = function () {
var tableForo = $('#tableForo').DataTable();
tableForo.clear().draw();
var listaComentarios = $.grep(model.ProyectoNormativo.ComentariosProyecto, function (data) {
return data.IdTipoComentario == Comentarios.Foro.Codigo;
return data.IdTipoComentario == Comentarios.Foro.Codigo && data.Respuesta == null;
});
$.each(listaComentarios, function (key, item) {
@ -421,11 +423,11 @@ this.VisualizarRespuestas = function (IdComentario) {
$.each(respuestas, function (key, item) {
var el = $("#btnDocRespuesta")[0];
el.style.display = (item.IdDocumento == null) ? 'none' : 'block';
respuestaForo = $("#ucVisualizar").html();
CargarDocumentosForoRespuesta(item.IdDocumento);
respuestaForo = replaceAll("[$IdComentario]", item.IdComentarioProyecto, respuestaForo);
respuestaForo = replaceAll("[$Usuario]", item.UsuarioSistema, respuestaForo);
respuestaForo = replaceAll("[$Asunto]", item.Asunto, respuestaForo);
@ -478,8 +480,10 @@ this.VerDetalleAporte = function (IdComentario, IdTipoComentario) {
this.CargarMatriz = function () {
var tableMatriz = $('#tableMatriz').DataTable();
tableMatriz.clear().draw();
var listaComentarios = $.grep(model.ProyectoNormativo.ComentariosProyecto, function (data) {
return data.IdTipoComentario == Comentarios.Matriz.Codigo;
return data.IdTipoComentario == Comentarios.Matriz.Codigo && data.Respuesta == null;
});
$.each(listaComentarios, function (key, item) {
@ -572,7 +576,8 @@ this.ResponderComentarioMatriz = function (IdComentario) {
var comentario = $.grep(model.ProyectoNormativo.ComentariosProyecto, function (data) {
return data.IdComentarioProyecto == IDComentario;
})[0];
var tableDocMatriz = $('#tableDocMatriz').DataTable();
tableDocMatriz.clear().draw();
var respuesta = $("#ucRespuesta").html();
respuesta = replaceAll("[$Contenido]", comentario.Comentario, respuesta);
@ -1008,7 +1013,7 @@ this.GuardarAdjuntos = function (nombre) {
var uri = SinortWCF + '/api/GuardarAdjuntos';
var ruta;
var nombredoc = nombre.replace(" ", "_");
var nombredoc = replaceAll(" ", "_",nombre);
var Idetipoproyecto;
var DesTipoProyecto;
var cheched = $("#cboxDocAux").prop("checked") ? true : false
@ -1037,7 +1042,7 @@ this.GuardarAdjuntos = function (nombre) {
IdTipoDocumento: Idetipoproyecto,
DescTipoDocumento: DesTipoProyecto,
NumeroTipoDocumento: model.ProyectoNormativo.IdProyectoNormativo,
IdSubTipoDocumento: $('#hiddenSubTipoDocumento').val(),
IdSubTipoDocumento: IdSubTipoDocumento,
DescIdSubTipoDocumento: SubTipoproyecto,
RutaFisica: RepositorioLocal + ruta,
RutaDescarga: RepositorioVirtual + ruta,
@ -1108,12 +1113,10 @@ this.CargarGridComentario = function (data) {
lista.RutaDescarga]).draw();
$('#btnVerAdjuntosForo').prop("disabled", true);
break;
default:
CargarDocumentosAuxiliares();
break;
}
CargarDocumentosAuxiliares();
}
function ActualizarUpload() {

View file

@ -76,10 +76,7 @@ this.getDataModel = function () {
$("#txtFechaFinalizacion").datepicker();
$("#txtFechaMaximaConfirmarParticipacion").datepicker();
$("#btnAdjuntar").unbind("click");
$('#btnAdjuntar').click(function () {
AbrirAdjuntos();
});
@ -387,279 +384,3 @@ this.EnviarCorreo = function () {
ENDREQUEST();
}
this.AbrirAdjuntos = function () {
$('#modalAdjuntos').modal('show');
}
//$(function () {
// 'use strict';
// // Change this to the location of your server-side upload handler:
// var url = '',
// uploadButton = $('<button/>')
// .addClass('btn btn-primary')
// .prop('disabled', true)
// .text('Pocesando...')
// .on('click', function () {
// var $this = $(this),
// data = $this.data();
// $this
// .off('click')
// .text('Cancelar')
// .on('click', function () {
// $this.remove();
// data.abort();
// });
// data.submit().always(function () {
// $this.remove();
// });
// });
// $('#fileupload').fileupload({
// url: url,
// dataType: 'POST',
// autoUpload: false,
// maxFileSize: 999000,
// disableImageResize: /Android(?!.*Chrome)|Opera/
// .test(window.navigator.userAgent),
// previewMaxWidth: 100,
// previewMaxHeight: 100,
// previewCrop: true
// }).on('fileuploadadd', function (e, data) {
// var tableAdjuntos = $('#tableAdjuntos').DataTable();
// data.context = $('<div/>').appendTo('#files');
// $.each(data.files, function (index, file) {
// tableAdjuntos.row.add(
// [file.name],
// data)
// .draw();
// var node = $('<p/>')
// .append($('<span/>').text(file.name));
// if (!index) {
// node
// .append('<br>')
// .append(uploadButton.clone(true).data(data));
// }
// node.appendTo(data.context);
// });
// }).on('fileuploadprocessalways', function (e, data) {
// var index = data.index,
// file = data.files[index],
// node = $(data.context.children()[index]);
// if (file.preview) {
// node
// .prepend('<br>')
// .prepend(file.preview);
// }
// if (file.error) {
// node
// .append('<br>')
// .append($('<span class="text-danger"/>').text(file.error));
// }
// if (index + 1 === data.files.length) {
// data.context.find('button')
// .text('Agregar')
// .prop('disabled', !!data.files.error);
// }
// }).on('fileuploadprogress', function (e, data) {
// var progress = parseInt(data.loaded / data.total * 100, 10);
// $('#progress .progress-bar').css(
// 'width',
// progress + '%'
// );
// }).on('fileuploaddone', function (e, data) {
// }).on('fileuploadfail', function (e, data) {
// $.each(data.files, function (index) {
// var error = $('<span class="text-danger"/>').text('Error al subir el archivo.');
// $(data.context.children()[index])
// .append('<br>')
// .append(error);
// $('#progress .progress-bar').css(
// 'width','0%');
// ENDREQUEST();
// });
// });
// .on('fileuploaddone', function (e, data) {
// $.each(data.result.files, function (index, file) {
// if (file.url) {
// var link = $('<a>')
// .attr('target', '_blank')
// .prop('href', file.url);
// $(data.context.children()[index])
// .wrap(link);
// } else if (file.error) {
// var error = $('<span class="text-danger"/>').text(file.error);
// $(data.context.children()[index])
// .append('<br>')
// .append(error);
// }
// });
//}).on('fileuploadfail', function (e, data) {
// $.each(data.files, function (index) {
// var error = $('<span class="text-danger"/>').text('Error al subir el archivo.');
// $(data.context.children()[index])
// .append('<br>')
// .append(error);
// alert(data.files.name);
// ENDREQUEST();
// });
//}).prop('disabled', !$.support.fileInput)
// .parent().addClass($.support.fileInput ? undefined : 'disabled');
//});
//$('#tableAdjuntos').on('click', 'button', function () {
// if (!confirm("¿Desea remover el documento?")) return;
// var data = $('#tableAdjuntos').DataTable().row($(this).parents('tr')).data();
// model = {
// Nombre: data[0],
// Carpeta: 1,
// }
// //var uri = SinortWCF + '/api/RemoverAdjunto';
// //AjaxPostData(uri, model, false, false, null, null, null);
// //var tableAdjuntos = $('#tableAdjuntos').DataTable();
// //tableAdjuntos.row($(this).parents('tr')).remove().draw();
// window.open('C:\\AYA\\SINORT\\AYA.SlnSynor\\AYA.SlnSynor\\FileUploadHandler\\DocumentosSINORT\\1\\Captura.PNG');
//});
this.AbrirDocumento = function (value) {
var url = Repositorio + 'PropuestaNormativa/1/DocumentosAuxiliares/' + value;
window.open(url);
}
$(function () {
$('#fileupload').fileupload({
url: FileUploadHandler + '/FileUploadHandler.ashx?tipo=PropuestaNormativa&id=1&carpeta=DocumentosAuxiliares',
type: 'POST',
add: function (e, data) {
data.submit();
},
progress: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .progress-bar').css(
'width',
progress + '%'
);
var tableAdjuntos = $('#tableAdjuntos').DataTable();
$.each(data.files, function (index, file) {
var optionVer = $("#ucbtnVerAdjuntos").html();
optionVer = replaceAll("[$value]", file.name, optionVer);
var optionRemover = $("#ucbtnRemoverAdjuntos").html();
tableAdjuntos.row.add(
[location.hre =file.name,
optionVer,
optionRemover])
.draw();
//var node = $('<p/>')
// .append($('<span/>').text(file.name));
//if (!index) {
// node
// .append('<br>')
// .append(uploadButton.clone(true).data(data));
//}
//node.appendTo(data.context);
});
},
success: function (response, status) {
$('#progress .progress-bar').css(
'width','0%');
ENDREQUEST();
if (response != '') {
}
},
error: function (error) {
if (error.status = "200") {
$('#progress .progress-bar').css(
'width', '0%');
ENDREQUEST();
//console.log('success', response);
if (error.responseText != '') {
}
}
}
});
});

View file

@ -0,0 +1,66 @@

var Item = {};
jQuery(document).ready(function () {
CargarTareasPendientes();
$('#tableTareasPendientes').TableInit(0, false, true, true, false, null, null);
$('#tableTareasPendientes').DataTable().column(0).visible(false);
$('#tableTareasPendientes').DataTable().column(5).visible(false);
});
this.CargarTareasPendientes = function () {
var uri = SinortWCF + '/api/ObtenerTareasPendientes';
var model = {
codigo: "kcascante"
}
AjaxPostData(uri, model, true, false, CargarTablaTareasPendientes, null, null);
}
this.CargarTablaTareasPendientes = function (data) {
var tableTareasPendientes = $('#tableTareasPendientes').DataTable();
tableTareasPendientes.clear().draw();
var lista = data;
$.each(lista, function (key, item) {
var option = $("#ucbtnSeleccionar").html();
tableTareasPendientes.row.add([item.IdTareasPendientes,
item.Descripcion,
item.ContenidoRelacionado,
DateFormatNoTime(item.FechaVencimiento),
option,
item.TipoTareaPendiente]).draw();
});
ENDREQUEST();
}
$('#tableTareasPendientes').on('click', 'button', function () {
var data = $('#tableTareasPendientes').DataTable().row($(this).parents('tr')).data();
if (data[5] == "Convocatoria") {
$('#modalConvocatoria').modal('show');
var instrucciones = "Convocatoria de participantes a propuesta normativa iniciado por cuenta del sistema en " + DateFormatNoTime(data[3]) + ". \nComentario :Confirme su participación en el proceso de consulta."
$('#txtInstrucciones').html(instrucciones);
}
});
$("#drpParticipo").change(function () {
var estado = this.value;
var el = $('#divJustificacion')[0];
el.style.display = (estado == 0) ? 'none' : 'block';
});

View file

@ -0,0 +1,102 @@

@{
ViewBag.Title = "TareasPendientes";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<form id="formTareasPendientes" class="form-horizontal" role="form">
<div class="panel-body"> <h3>&nbsp;<i class="fa fa-list-ul"></i>&nbsp; Mis tareas pendientes </h3> </div>
<div class="panel panel-success">
<div class="panel-body">
<br />
<div>
<table id="tableTareasPendientes" class="table table-condensed dataTable no-footer">
<thead>
<tr>
<th></th>
<th class="col-sm-6">Título</th>
<th class="col-sm-4">Contenido relacionado</th>
<th class="col-sm-3">Fecha de vencimiento</th>
<th></th>
<th></th>
</tr>
</thead>
</table>
</div>
<div id="ucbtnSeleccionar" style=" display:none;">
<button type="button" id="btnseleccionar" class="btn btn-default btn-xs">
<i class="fa fa-reply"></i>&nbsp;&nbsp;Responder
</button>
</div>
</div>
</div>
</form>
@section Modals{
@*---------------------Responder Convocatoria ---------------------------------------------------------*@
<div class="modal fade" id="modalConvocatoria" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" style="display: none;z-index:1600;">
<div class="modal-dialog modal-lg" style="width:40%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title" id="propuesta">[$Propuesta]</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
@*---------------------Instrucciones ---------------------------------------------------------*@
<div class="form-group " id="divInstrucciones">
<label class="col-sm-4 control-label ControlsForms" id="lblInstrucciones">Instrucciones</label>
<div class="input-group input-group-sm col-lg-6 col-md-6 col-sm-6 col-xs-6">
<textarea name="txtInstrucciones" rows="5" cols="39" id="txtInstrucciones" style="resize: none" readonly></textarea>
</div>
</div>
@*---------------------Participacion ---------------------------------------------------------*@
<div class="form-group " id="divEnviarDocAux">
<label class="col-sm-4 control-label ControlsForms" id="lblEnviarDocAux">Participación</label>
<div class="btn-group">
<select name="drpParticipo" id="drpParticipo">
<option value="">Seleccione una opción...</option>
<option value="1">Participo</option>
<option value="0">No participo</option>
</select>
@*<button type="button" class="btn btn-default dropdown-toggle btn-xs" data-toggle="dropdown">
<i class="fa fa-wrench"></i> &nbsp;Seleccione una opción <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="javascript: EditarItem();"><i class="fa fa-check"></i>&nbsp;Participo</a></li>
<li><a href="javascript: toggleEnabledItem();"><i class="fa fa-times"></i>&nbsp; No participo</a></li>
</ul>*@
</div>
</div>
@*---------------------Justificacion ---------------------------------------------------------*@
<div class="form-group " id="divJustificacion" style="display:none;">
<label class="col-sm-4 control-label ControlsForms" id="lblJustificacion">Justificación</label>
<div class="input-group input-group-sm col-lg-6 col-md-6 col-sm-6 col-xs-6">
<textarea name="txtJustificacion" rows="5" cols="39" id="txtJustificacion" style="resize: none"></textarea>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-success btn-sm" data-dismiss="modal">Guardar</button>
<button type="button" class="btn btn-danger btn-sm" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
}
@Scripts.Render("~/Sinort-Scripts/TareasPendientes.js")

View file

@ -166,20 +166,21 @@
<div class="panel-body">
<div class="row">
@* Foro *@
@* Matriz *@
<div class="col-md-8">
<div class="modal-header" id="divForo">
<button class="btn btn-info btn-xs btn-margin-catalogo" id="btnAgregarComentario" type="button">
<div class="modal-header" id="divMatriz">
<br />
<button class="btn btn-info btn-xs btn-margin-catalogo" id="btnAgregarElemento" type="button">
<i class="fa fa-comments"></i>
&nbsp;&nbsp;Foro - Nueva Discusión
&nbsp;&nbsp;Matriz Cambios - Nuevo Elemento
</button>
</div>
<div class="col-md-12" style="overflow-y: scroll; height:250px;" id="divComentarios">
<table id="tableForo" class="display">
<div class="col-md-12" style="overflow-y: scroll; height:250px;" id="divMatrizCambios">
<table id="tableMatriz" class="display">
<thead>
<tr>
<th class="col-sm-6">Asunto</th>
<th>Comentario</th>
<th>Detalle</th>
<th>Respuestas</th>
<th class="col-sm-4">Creado Por</th>
<th></th>
@ -230,21 +231,20 @@
</div>
</div>
@* Matriz*@
@* Foro *@
<div class="col-md-8">
<div class="modal-header" id="divMatriz">
<br />
<button class="btn btn-info btn-xs btn-margin-catalogo" id="btnAgregarElemento" type="button">
<div class="modal-header" id="divForo">
<button class="btn btn-info btn-xs btn-margin-catalogo" id="btnAgregarComentario" type="button">
<i class="fa fa-comments"></i>
&nbsp;&nbsp;Matriz Cambios - Nuevo Elemento
&nbsp;&nbsp;Foro - Nueva Discusión
</button>
</div>
<div class="col-md-12" style="overflow-y: scroll; height:250px;" id="divMatrizCambios">
<table id="tableMatriz" class="display">
<div class="col-md-12" style="overflow-y: scroll; height:250px;" id="divComentarios">
<table id="tableForo" class="display">
<thead>
<tr>
<th class="col-sm-6">Asunto</th>
<th>Detalle</th>
<th>Comentario</th>
<th>Respuestas</th>
<th class="col-sm-4">Creado Por</th>
<th></th>
@ -253,6 +253,7 @@
</table>
</div>
</div>
@* Calendario *@
<div class="col-md-4">
@ -367,13 +368,15 @@
<input id="hiddenRutaDoc" type="hidden">
<div id="Respuesta_[$IdComentario]" style="border-bottom: 2px solid">
<h4> [$Asunto] </h4>
<h5> [$Comentario]</h5>
<button type="button" id="btnAbrirDocRespuesta" class="btn btn-default btn-xs" onclick="AbrirDocRespuesta()">
<i class=" fa [$icon]">
</i>&nbsp;&nbsp;
</button> [$NombreDoc]
<h6> <i class="fa fa-user"> </i> &nbsp;&nbsp; [$Usuario] - [$Fecha] </h6>
</div>
<h5> [$Comentario]</h5>
<div class="form-group" id="btnDocRespuesta" >
<button type="button" id="btnAbrirDocRespuesta" class="btn btn-default btn-xs" onclick="AbrirDocRespuesta()">
<i class=" fa [$icon]">
</i>&nbsp;&nbsp;[$NombreDoc]
</button>
</div>
<h6> <i class="fa fa-user"> </i> &nbsp;&nbsp; [$Usuario] - [$Fecha] </h6>
</div>
</div>
<div id="ucRespuesta" style="display:none">
@ -622,12 +625,12 @@
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title"> <i class="fa fa-comment-o"></i>&nbsp;&nbsp; Agregar Elemento </h4>
</div>
<div class="col-md-12" style="overflow-y: scroll; height:450px;" id="divMatrizForm">
<div class="modal-body">
<div class="modal-body" style="overflow-y: scroll; height:450px;">
<form id="formElemento">
@*<div class="col-md-12" style="overflow-y: scroll; height:250px;" id="divMatrizForm">*@
@ -706,9 +709,9 @@
</tr>
</thead>
</table>
</form>
</div>
@*</div>*@
</div>
<div class="modal-footer" id="modalElemento-footer">

View file

@ -81,7 +81,7 @@
@*---------------------Fecha máxima para confirmar participación date---------------------------------------------*@
<div class="form-group" id="divFechaMaximaConfirmarParticipacion">
<label class="ccol-lg-5 col-md-5 col-xs-5 control-label ControlsForms" id="lblFechaMaximaConfirmarParticipacion">Fecha Máx. Confirmación</label>
<label class="ccol-lg-5 col-md-5 col-xs-5 control-label ControlsForms" id="lblFechaMaximaConfirmarParticipacion">Fecha de Confirmación</label>
<div class="input-group col-lg-6 col-md-6 col-xs-6">
<span class="input-group-addon"><i class="fa fa-calendar" id="iconFechaMaximaConfirmarParticipacion"></i></span>

View file

@ -98,7 +98,7 @@
@*---------------------Fecha máxima para confirmar participación date---------------------------------------------*@
<div class="form-group" id="divFechaMaximaConfirmarParticipacion">
<label class="col-sm-4 control-label ControlsForms" id="lblFechaMaximaConfirmarParticipacion">Fecha Máx. Confirmación</label>
<label class="col-sm-4 control-label ControlsForms" id="lblFechaMaximaConfirmarParticipacion">Fecha de Confirmación</label>
<div class="input-group input-group-sm col-lg-6 col-md-6 col-sm-6 col-xs-6">
<span class="input-group-addon"><i class="fa fa-calendar" id="iconFechaMaximaConfirmarParticipacion"></i></span>
@ -127,9 +127,7 @@
<button type="button" id="btnGuardar" class="btn btn-success btn-medium" data-dismiss="modal">
<i class="fa fa-floppy-o"></i>&nbsp;Guardar
</button>
<button type="button" id="btnAdjuntar" class="btn btn-success btn-medium" data-dismiss="modal">
<i class="fa fa-floppy-o"></i>&nbsp;Adjuntar
</button>
</div>
</div>

View file

@ -77,7 +77,7 @@
<li class="dropdown messages-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-envelope-o"></i>
<i class="glyphicon glyphicon-tint"></i>
<span class="label label-success">4</span>
</a>
<ul class="dropdown-menu">
@ -91,70 +91,24 @@
<li class="dropdown notifications-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-bell-o"></i>
<span class="label label-warning">10</span>
<i class="glyphicon glyphicon-bell"></i>
<span class="label label-warning">1</span>
</a>
<ul class="dropdown-menu">
<li class="header">Tienes 10 notificaciones</li>
<li>
<ul class="menu">
<li>
<a href="#">
<i class="fa fa-users text-aqua"></i> 5 nuevos requerimientos
</a>
</li>
<
</ul>
</li>
<li class="footer"><a href="#"> Ver todos </a></li>
</ul>
</li>
<li class="dropdown tasks-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-flag-o"></i>
<span class="label label-danger">9</span>
</a>
<ul class="dropdown-menu">
<li class="header">Tienes 9 tareas nuevas</li>
<li>
<ul class="menu">
<li>
<a href="#">
<h3>
Porciento Finalizado de tareas
<small class="pull-right">20%</small>
</h3>
<div class="progress xs">
<div class="progress-bar progress-bar-aqua" style="width: 20%" role="progressbar"
aria-valuenow="20" aria-valuemin="0" aria-valuemax="100">
<span class="sr-only">20% Complete</span>
</div>
</div>
</a>
</li>
</ul>
</li>
<li class="footer">
<a href="#">Ver todas las tareas</a>
</li>
<li class="header">Tienes 1 tarea pendiente</li>
<li class="footer"><a href="@Url.Action("TareasPendientes", "Home")"> Ver todos </a></li>
</ul>
</li>
<li class="dropdown user user-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<img src="~/dist/img/user2-160x160.jpg" class="user-image" alt="User Image">
<span class="hidden-xs">Usuario</span>
<span class="hidden-xs">jnunez</span>
</a>
<ul class="dropdown-menu">
@ -162,12 +116,12 @@
<img src="~/dist/img/user2-160x160.jpg" class="img-circle" alt="User Image">
<p>
Información de Usuario
<small> <a href="#" class="btn btn-default btn-flat">Configuración de Usuario </a> </small>
Josué Nuñez Cascante
<small> <a href="#" class="btn btn-default btn-flat">Cerrar sesión </a> </small>
</p>
</li>
<li class="user-body">
@*<li class="user-body">
<div class="row">
<div class="col-xs-4 text-center">
<a href="#">usuario@aya.go.cr</a>
@ -179,22 +133,20 @@
<a href="#"></a>
</div>
</div>
</li>
</li>*@
<li class="user-footer">
@*<li class="user-footer">
<div class="pull-left">
<a href="#" class="btn btn-default btn-flat">Perfil</a>
</div>
<div class="pull-right">
<a href="#" class="btn btn-default btn-flat">Cerrar seción</a>
</div>
</li>
</li>*@
</ul>
</li>
<li>
<a href="#" data-toggle="control-sidebar"><i class="fa fa-gears"></i></a>
</li>
</ul>
</div>
</nav>
@ -269,121 +221,6 @@
<strong> Derechos Reservados AYA &copy; 2018. <a href="https://www.aya.go.cr/SitePages/Principal.aspx"> AyA </a></strong>
</footer>
<aside class="control-sidebar control-sidebar-dark">
<ul class="nav nav-tabs nav-justified control-sidebar-tabs">
<li class="active"><a href="#control-sidebar-home-tab" data-toggle="tab"><i class="fa fa-files-o"></i></a></li>
<li><a href="#control-sidebar-settings-tab" data-toggle="tab"><i class="fa fa-globe"></i></a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="control-sidebar-home-tab">
<h3 class="control-sidebar-heading">Mis Tareas Importantes </h3>
<ul class="control-sidebar-menu">
<!-- 1 -->
<li>
<a href="javascript:;">
<i class="menu-icon fa fa-file"></i>
<div class="menu-info">
<h4 class="control-sidebar-subheading"></h4>
<p>Proyecto A</p>
</div>
</a>
</li>
<!-- 2 -->
<li>
<a href="javascript:;">
<i class="menu-icon fa fa-file"></i>
<div class="menu-info">
<h4 class="control-sidebar-subheading"></h4>
<p>Proyecto B</p>
</div>
</a>
</li>
<!-- 3 -->
<li>
<a href="javascript:;">
<i class="menu-icon fa fa-file"></i>
<div class="menu-info">
<h4 class="control-sidebar-subheading"></h4>
<p>Proyecto C</p>
</div>
</a>
</li>
</ul>
<h3 class="control-sidebar-heading">Progreso</h3>
<ul class="control-sidebar-menu">
<!-- 1 -->
<li>
<a href="javascript:;">
<h4 class="control-sidebar-subheading">
Proyecto A
<span class="pull-right-container">
<span class="label label-danger pull-right">70%</span>
</span>
</h4>
<div class="progress progress-xxs">
<div class="progress-bar progress-bar-danger" style="width: 70%"></div>
</div>
</a>
</li>
<!-- 2 -->
<li>
<a href="javascript:;">
<h4 class="control-sidebar-subheading">
Proyecto B
<span class="pull-right-container">
<span class="label label-danger pull-right">70%</span>
</span>
</h4>
<div class="progress progress-xxs">
<div class="progress-bar progress-bar-danger" style="width: 70%"></div>
</div>
</a>
</li>
<!-- 3 -->
<li>
<a href="javascript:;">
<h4 class="control-sidebar-subheading">
Proyecto C
<span class="pull-right-container">
<span class="label label-danger pull-right">70%</span>
</span>
</h4>
<div class="progress progress-xxs">
<div class="progress-bar progress-bar-danger" style="width: 70%"></div>
</div>
</a>
</li>
</ul>
</div>
<div class="tab-pane" id="control-sidebar-settings-tab">
<form method="post">
<h3 class="control-sidebar-heading">Goticas Normativas</h3>
</form>
</div>
</div>
</aside>
<div class="control-sidebar-bg"></div>
</div>

View file

@ -90,6 +90,7 @@
<Compile Include="Sinort\RolesDAL.cs" />
<Compile Include="Sinort\SubCategoriaContenidoDAL.cs" />
<Compile Include="Sinort\SubCategoriaGrupoTematicoDAL.cs" />
<Compile Include="Sinort\TareasPendientesDAL.cs" />
<Compile Include="Sinort\TipoDocumentoDAL.cs" />
<Compile Include="Sinort\TipoEmisorDAL.cs" />
<Compile Include="Sinort\TipoEstadoDAL.cs" />

View file

@ -0,0 +1,92 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AYA.SlnSinortModel;
using AYA.SlnSinortModel.Entidades;
using AYA.SlnSinortModel.Sinort;
using System.Data.Entity.Validation;
using Atesa.Utilitarios;
using AYA.SlnSinortModel.Constantes;
namespace AYA.SlnSinortModel.DAL.Sinort
{
public class TareasPendientesDAL
{
Log log = new Log("TareasPendientesDAL");
public List<TareasPendientes> ObtenerTareasPendientes(CatalogosPostJSON model)
{
List<TareasPendientes> registros = null;
string filtro = model != null ? model.filtro : null;
try
{
using (SinortContex db = new SinortContex())
{
registros = db.TareasPendientes.Where(r => r.UsuarioAsignado.ToString() == model.codigo && r.Respuesta == false).OrderBy(r => r.IdTareasPendientes).ToList();
}
}
catch (Exception ex)
{
log.Error(ex);
}
return registros;
}
public BaseJson InsertarActualizarTareasPendientes(TareasPendientes model)
{
TareasPendientes Actual = new TareasPendientes();
BaseJson Respuesta = new BaseJson();
try
{
model.ClearProperties();
using (SinortContex Conn = new SinortContex())
{
Actual = Conn.TareasPendientes.Where(x => x.IdTareasPendientes == model.IdTareasPendientes).FirstOrDefault();
if (Actual == null)
{
int? Next_id = Conn.Aplicacion.Max(t => (int?)t.IdAplicacion);
model.IdTareasPendientes = (Next_id == null) ? 1 : Next_id.Value + 1;
model.FechaCreacion = DateTime.Now;
Conn.TareasPendientes.Add(model);
}
else
{
model.FechaModificacion = DateTime.Now;
model.FechaCreacion = Actual.FechaCreacion;
model.UsuarioCreacion = Actual.UsuarioCreacion;
Conn.Entry(Actual).State = System.Data.Entity.EntityState.Detached;
Conn.TareasPendientes.Attach(model);
Conn.Entry(model).State = System.Data.Entity.EntityState.Modified;
}
Conn.SaveChanges();
Conn.Commit();
Respuesta.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO.ToString();
}
}
catch (DbEntityValidationException ex)
{
log.Error(ex);
Respuesta.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR.ToString();
}
catch (Exception ex)
{
log.Error(ex);
Respuesta.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR.ToString();
}
finally
{
Actual = null;
}
return Respuesta;
}
}
}

View file

@ -92,6 +92,7 @@
<Compile Include="Sinort\SubCategoriaContenido.cs" />
<Compile Include="Sinort\SubCategoriaGrupoTematico.cs" />
<Compile Include="Sinort\SubCategoriaTipoDocumento.cs" />
<Compile Include="Sinort\TareasPendientes.cs" />
<Compile Include="Sinort\TipoAplicacion.cs" />
<Compile Include="Sinort\TipoComentario.cs" />
<Compile Include="Sinort\TipoDocumento.cs" />

View file

@ -10,6 +10,7 @@ namespace AYA.SlnSinortModel.Sinort
{
public virtual DbSet<Aplicacion> Aplicacion { get; set; }
public virtual DbSet<Categoria> Categoria { get; set; }
public virtual DbSet<Contenido> Contenido { get; set; }
@ -41,6 +42,7 @@ namespace AYA.SlnSinortModel.Sinort
public virtual DbSet<ComentariosProyecto> ComentariosProyecto { get; set; }
public virtual DbSet<Convocatoria> Convocatoria { get; set; }
public virtual DbSet<ProyectoNormativo> ProyectoNormativo { get; set; }
public virtual DbSet<TareasPendientes> TareasPendientes { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
@ -381,6 +383,11 @@ namespace AYA.SlnSinortModel.Sinort
.WithRequired(e => e.Usuario)
.WillCascadeOnDelete(false);
modelBuilder.Entity<Usuario>()
.HasMany(e => e.TareasPendientes)
.WithOptional(e => e.Usuario)
.HasForeignKey(e => e.UsuarioAsignado);
modelBuilder.Entity<BitacoraDocumentos>()
.Property(e => e.UsuarioCreacion)
.IsUnicode(false);
@ -556,6 +563,30 @@ namespace AYA.SlnSinortModel.Sinort
.HasMany(e => e.Convocatoria)
.WithRequired(e => e.ProyectoNormativo)
.WillCascadeOnDelete(false);
modelBuilder.Entity<TareasPendientes>()
.Property(e => e.Descripcion)
.IsUnicode(false);
modelBuilder.Entity<TareasPendientes>()
.Property(e => e.ContenidoRelacionado)
.IsUnicode(false);
modelBuilder.Entity<TareasPendientes>()
.Property(e => e.TipoTareaPendiente)
.IsUnicode(false);
modelBuilder.Entity<TareasPendientes>()
.Property(e => e.UsuarioAsignado)
.IsUnicode(false);
modelBuilder.Entity<TareasPendientes>()
.Property(e => e.UsuarioCreacion)
.IsUnicode(false);
modelBuilder.Entity<TareasPendientes>()
.Property(e => e.UsuarioModificacion)
.IsUnicode(false);
}
}
}

View file

@ -0,0 +1,44 @@
namespace AYA.SlnSinortModel.Sinort
{
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.Spatial;
[Table("Global.TareasPendientes")]
public partial class TareasPendientes
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int IdTareasPendientes { get; set; }
[StringLength(500)]
public string Descripcion { get; set; }
[StringLength(200)]
public string ContenidoRelacionado { get; set; }
public DateTime? FechaVencimiento { get; set; }
public bool? Respuesta { get; set; }
[StringLength(200)]
public string TipoTareaPendiente { get; set; }
[StringLength(200)]
public string UsuarioAsignado { get; set; }
public DateTime? FechaCreacion { get; set; }
[StringLength(200)]
public string UsuarioCreacion { get; set; }
public DateTime? FechaModificacion { get; set; }
[StringLength(200)]
public string UsuarioModificacion { get; set; }
public virtual Usuario Usuario { get; set; }
}
}

View file

@ -14,6 +14,7 @@ namespace AYA.SlnSinortModel.Sinort
{
RolesUsuario = new HashSet<RolesUsuario>();
Convocatoria = new HashSet<Convocatoria>();
TareasPendientes = new HashSet<TareasPendientes>();
}
[Key]
@ -43,5 +44,8 @@ namespace AYA.SlnSinortModel.Sinort
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Convocatoria> Convocatoria { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<TareasPendientes> TareasPendientes { get; set; }
}
}