This commit is contained in:
jnunez 2018-08-29 21:50:13 +00:00
parent ce331adbac
commit c0ede1b5f3
8 changed files with 351 additions and 83 deletions

View file

@ -23,6 +23,9 @@ namespace AYA.SlnSinort.WCF
[OperationContract]
ProyectoNormativoJSON GuardarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model);
[OperationContract]
List<Convocatoria> ActualizarConvocados(ProyectoNormativoJSON model);
[OperationContract]
ProyectoNormativoJSON ObtenerProyectoNormativo(ProyectoNormativoJSON model);

View file

@ -84,6 +84,24 @@ namespace AYA.SlnSinort.WCF
return model;
}
public List<Convocatoria> ActualizarConvocados(ProyectoNormativoJSON model)
{
List<Convocatoria> convocados = new List<Convocatoria>();
try
{
var convocatoriaDAL = new ConvocatoriaDAL();
convocados = convocatoriaDAL.ActualizarConvocados(model);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return convocados;
}
public ProyectoNormativoJSON ObtenerProyectoNormativo(ProyectoNormativoJSON model)
{
try
@ -561,6 +579,29 @@ namespace AYA.SlnSinort.WCF
respuesta = respuestaAyA.enviarCorreo(correo);
}
break;
case "Correo Discusion Focalizada":
//Correo Discusion Focalizada
plantilla = Listaplantillas.Where(p => p.NombrePlatilla == model.PlantillaEmail.NombrePlatilla).FirstOrDefault();
correo = new ServiciosUsuariosWCF.correoEL();
correo.FORMATO = "html";
correo.ASUNTO = plantilla.Subject.Replace("$NombreProyecto", model.ProyectoNormativo.NombreProyectoNormativo);
foreach (var participantes in model.ListaConvocatoria)
{
catalogo.codigo = participantes.UsuarioSistema;
usuario = UsuarioDAL.BuscarUsuario(catalogo);
body = plantilla.Body.Replace("$NombreProyecto", model.ProyectoNormativo.NombreProyectoNormativo).Replace("$Asunto", model.Convocado.AsuntoDiscusionFocalizada).Replace("|", "</br>");
email = usuario.EmailUsuario;
correo.DESTINATARIOS = "jnunez@atesacr.com";
correo.CUERPO = body;
respuesta = respuestaAyA.enviarCorreo(correo);
}
break;
}

View file

@ -14,11 +14,22 @@ var IdDocumentoAdjunto;
var Promotor;
var Estado;
jQuery(document).ready(function () {
window.onload = cerrar;
function cerrar() {
$("#carga").animate({ "opacity": "0" }, 1000, function () { $("#carga").css("display", "none"); });
}
$(document).tooltip();
$('#tableParticipantes').TableInit(0, false, true, true, false, null, null);
$('#tableParticipantes').DataTable().column(1).visible(false);
$('#tableDiscusion').TableInit(0, false, true, true, false, null, null);
$('#tableForo').TableInit(0, false, false, false, false, null, null);
$('#tableMatriz').TableInit(0, false, false, false, false, null, null);
$('#tableDocAuxiliares').TableInit(0, false, false, false, false, null, null);
@ -135,7 +146,11 @@ jQuery(document).ready(function () {
this.getDataModel = function () {
$("#btnEliminarDiscusion").unbind("click");
$("#btnEliminarDiscusion").click(function () {
EliminarDiscusionFocalizada();
});
$("#btnModificar").unbind("click");
$("#btnModificar").click(function () {
ActualizarItem(true);
@ -150,8 +165,16 @@ this.getDataModel = function () {
$("#btnDiscusion").click(function () {
DiscusionFocalizada();
});
$("#btnBuscarUsuarioDiscusion").unbind("click");
$("#btnBuscarUsuarioDiscusion").click(function () {
BuscarUsuarioDiscusion();
});
$("#btnAgregarUsuarioDiscusion").unbind("click");
$("#btnAgregarUsuarioDiscusion").click(function () {
AgregarUsuarioDiscusion();
});
$("#btnBuscarUsuario").unbind("click");
$("#btnBuscarUsuario").click(function () {
@ -253,8 +276,27 @@ this.getDataModel = function () {
}
this.EliminarDiscusionFocalizada = function () {
if (!confirm("¿Desea eliminar la discusión focalizada?")) return;
var tableDiscusion = $('#tableDiscusion').DataTable();
var data = tableDiscusion
.rows()
.data();
$.each(data, function (key, item) {
EliminarConvocatoriaProyectoNormativo(item[0]);
});
ActualizarConvocados();
ENDREQUEST();
}
this.DiscusionFocalizada = function () {
$('#modalBuscarUsuarioDiscusion').modal('show');
}
@ -278,7 +320,20 @@ this.CompletarAccion = function () {
ENDREQUEST();
}
this.ActualizarConvocados = function () {
var uri = SinortWCF + '/api/ActualizarConvocados';
model.ProyectoNormativo = {
IdProyectoNormativo: IdPropuestaNormativa
}
$('#hiddenUsuario').val('');
$('#txtUsuario').val('');
$('#hiddenUsuarioDiscusion').val('');
$('#txtUsuarioDiscusion').val('');
$('#txtAsuntoDiscusion').val('');
AjaxPostData(uri, model, false, false, CargarConvocados, null, null);
toastr.success(Message_Default, Message_Success);
}
this.CargarUsuarios = function (filtro) {
@ -331,7 +386,7 @@ this.CargarFormulario = function (data) {
$("#txtAplicacion").val(model.ProyectoNormativo.Aplicacion);
//CONVOCADOS
CargarConvocados();
CargarConvocados(model.ProyectoNormativo.Convocatoria);
//AREA DE TRABAJO
CargarForo();
@ -372,10 +427,12 @@ this.CargarGridUsuarios = function (data) {
}
this.CargarConvocados = function () {
this.CargarConvocados = function (data) {
var tableParticipantes = $('#tableParticipantes').DataTable();
tableParticipantes.clear().draw();
$.each(model.ProyectoNormativo.Convocatoria, function (key, item) {
var tableDiscusion = $('#tableDiscusion').DataTable();
tableDiscusion.clear().draw();
$.each(data, function (key, item) {
var option = $("#ucbtnRemoverParticipante").html();
var participanteConfirmado = $("#ucItemsIcon").html();
@ -389,19 +446,35 @@ this.CargarConvocados = function () {
else
participanteConfirmado = replaceAll("[$state_color]", "success", participanteConfirmado);
if (item.DiscusionFocalizada == false) {
tableParticipantes.row.add(
[participanteConfirmado,
item.UsuarioSistema,
item.Usuario.NombreUsuario,
DateFormatNoTime(item.FechaCreacion),
option])
.draw();
} else {
$('#txtAsuntoDiscusion').val(item.AsuntoDiscusionFocalizada)
tableDiscusion.row.add(
[item.UsuarioSistema,
item.Usuario.NombreUsuario,
option])
.draw();
}
tableParticipantes.row.add(
[participanteConfirmado,
item.UsuarioSistema,
item.Usuario.NombreUsuario,
DateFormatNoTime(item.FechaCreacion),
option])
.draw();
});
if ($('#txtAsuntoDiscusion').val() != '') {
$('#txtAsuntoDiscusion').prop("readOnly", true);
} else {
$('#txtAsuntoDiscusion').prop("readOnly", false);
}
}
this.CargarForo = function () {
@ -446,6 +519,78 @@ this.CargarForo = function () {
});
}
this.BuscarUsuarioDiscusion = function () {
SelectedCatalog = 'UsuariosDiscusion';
if ($("#txtAsuntoDiscusion").val() != '') {
if ($.fn.DataTable.isDataTable('#tableUsuarios')) {
LoadMessage();
$('#tableUsuarios').DataTable().search('').draw();
$('#modalUsuarios').modal('show');
ENDREQUEST();
}
} else {
toastr.warning("Primero debe digitar un Asunto", Message_Warning);
}
}
this.AgregarUsuarioDiscusion = function () {
if ($("#txtUsuarioDiscusion").val() != '') {
if (!confirm("¿Desea convocar a un nuevo usuario?")) return;
var tableDiscusion = $('#tableDiscusion').DataTable();
var option = $("#ucbtnRemoverParticipante").html();
var ArrayParticipantes = [];
var repetido = false;
var data = tableDiscusion
.rows()
.data();
$.each(data, function (key, item) {
if (item[0] == $("#hiddenUsuarioDiscusion").val()) {
repetido = true
return false;
}
});
if (repetido == true) {
toastr.warning('Ya existe el usuario en la lista de participantes', Message_Warning);
return;
}
Convocatoria = {
UsuarioSistema: $("#hiddenUsuarioDiscusion").val(),
IdProyectoNormativo: IdPropuestaNormativa,
DiscusionFocalizada: true,
AsuntoDiscusionFocalizada: $("#txtAsuntoDiscusion").val()
}
ArrayParticipantes.push(Convocatoria);
var uri = SinortWCF + '/api/GuardarConvocatoriaProyectoNormativo';
var model = {
ListaConvocatoria: ArrayParticipantes
};
AjaxPostData(uri, model, false, true, EnviarCorreoDiscusionFocalizada, null, null);
ENDREQUEST();
} else {
toastr.warning("Debe seleccionar un usuario", Message_Warning);
};
}
this.BuscarUsuario = function () {
SelectedCatalog = 'Usuarios';
@ -462,7 +607,6 @@ this.BuscarUsuario = function () {
} else {
toastr.warning(Message_NoGrants, Message_Warning);
}
}
@ -476,13 +620,34 @@ this.AgregarUsuario = function () {
var tableParticipantes = $('#tableParticipantes').DataTable();
var option = $("#ucbtnRemoverParticipante").html();
var participanteConfirmado = $("#ucItemsIcon").html();
var ArrayParticipantes = [];
var repetido = false;
var data = tableParticipantes
.rows()
.data();
$.each(data, function (key, item) {
if (item[1].toLowerCase() == $("#hiddenUsuario").val()) {
repetido = true
return false;
}
});
if (repetido == true) {
toastr.warning('Ya existe el usuario en la lista de participantes', Message_Warning);
return;
}
Convocatoria = {
UsuarioSistema: $("#hiddenUsuario").val(),
IdProyectoNormativo: IdPropuestaNormativa,
DiscusionFocalizada: false,
}
ArrayParticipantes.push(Convocatoria);
@ -540,8 +705,9 @@ this.GuardarTareasPendientes = function () {
};
AjaxPostData(uri, model, false, false, null, null, null);
EnviarCorreo();
location.reload();
//EnviarCorreo();
ActualizarConvocados();
//location.reload();
}
this.EnviarCorreo = function () {
@ -576,6 +742,36 @@ this.EnviarCorreo = function () {
ENDREQUEST();
}
this.EnviarCorreoDiscusionFocalizada = function () {
var ArrayParticipante = [];
Convocatoria = {
UsuarioSistema: $("#hiddenUsuarioDiscusion").val()
}
ArrayParticipante.push(Convocatoria);
var PropuestaNormativa = {
NombreProyectoNormativo: $("#txtNombreProyecto").val(),
}
var Plantilla = {
NombrePlatilla: 'Correo Discusion Focalizada'
}
var Asunto = {
AsuntoDiscusionFocalizada: $("#txtAsuntoDiscusion").val()
}
var uri = SinortWCF + '/api/EnviarCorreo';
var model = {};
model.ProyectoNormativo = PropuestaNormativa;
model.ListaConvocatoria = ArrayParticipante;
model.PlantillaEmail = Plantilla;
model.Convocado = Asunto;
AjaxPostData(uri, model, false, true, ActualizarConvocados, null, null);
}
@ -849,6 +1045,14 @@ this.ResponderComentarioMatriz = function (IdComentario) {
$('#modalElemento-footer').css("display", "block");
$('#modalElemento').modal('show');
}
this.LimpiarUsuario = function () {
$('#hiddenUsuario').val('');
$('#txtUsuario').val('');
}
this.LimpiarUsuarioDiscusion = function () {
$('#hiddenUsuarioDiscusion').val('');
$('#txtUsuarioDiscusion').val('');
}
$('#tableUsuarios').on('click', 'button', function () {
@ -859,6 +1063,11 @@ $('#tableUsuarios').on('click', 'button', function () {
$('#hiddenUsuario').val(data.UsuarioSistema);
$('#txtUsuario').val(data.NombreUsuario);
}
if (SelectedCatalog == "UsuariosDiscusion") {
$('#hiddenUsuarioDiscusion').val(data.UsuarioSistema);
$('#txtUsuarioDiscusion').val(data.NombreUsuario);
}
$('#modalUsuarios').modal('hide');
});
@ -1826,11 +2035,13 @@ this.EliminarConvocatoriaProyectoNormativo = function (usuario) {
UsuarioSistema : usuario
}
AjaxPostData(uri, model, false, true, CargarConvocados, null, null);
AjaxPostData(uri, model, false, true, null, null, null);
}
$('#tableParticipantes').on('click', 'button', function () {
if (!confirm("¿Desea eliminar el usuario?")) return;
var data = $('#tableParticipantes').DataTable().row($(this).parents('tr')).data();
if (EsPromotor == true) {
@ -1842,6 +2053,19 @@ $('#tableParticipantes').on('click', 'button', function () {
});
$('#tableDiscusion').on('click', 'button', function () {
if (!confirm("¿Desea eliminar el usuario?")) return;
var data = $('#tableDiscusion').DataTable().row($(this).parents('tr')).data();
EliminarConvocatoriaProyectoNormativo(data[0]);
ActualizarConvocados();
ENDREQUEST();
});
this.ExportarADoc = function (TipoComentario, filename) {
var preHtml;

View file

@ -169,6 +169,7 @@ this.GuardarConvocadosForo = function (data) {
Convocatoria = {
UsuarioSistema: item[0],
IdProyectoNormativo: IdPropuestaNormativa,
DiscusionFocalizada : false
}
ArrayParticipantes.push(Convocatoria);
});

View file

@ -311,6 +311,7 @@ this.GuardarConvocadosPropuestaNormativa = function (data) {
Convocatoria = {
UsuarioSistema: item[0],
IdProyectoNormativo: IdPropuestaNormativa,
DiscusionFocalizada: false
}
ArrayParticipantes.push(Convocatoria);
});

View file

@ -3,7 +3,16 @@
Layout = "~/Views/Shared/_Layout.cshtml";
}
<form id="formDetallePropuesta" class="form-horizontal" role="form">
<div title="Click para Cerrar" id="carga"
style="cursor:pointer;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;
background-image:url(http://AYA-VSRV-APPTT:2525/dist/img/ajax-loader.gif);background-position:center;background-repeat: no-repeat;background-size:10%;background-color
:#ecf0f5;width:100%;color:#fff;text-align:center;height:100%;position:fixed;z-index:6;"></div>
@*<div class="panel-body" id="divDescripcion"> <h3>&nbsp;<i class="fa fa-briefcase"></i>&nbsp; [$Propuesta] </h3> </div>*@
<div style="background-color: #fff">
<input id="hiddenSubTipoDocumento" type="hidden">
@ -123,7 +132,7 @@
<thead>
<tr>
<th>Participante</th>
<th></th>
<th class="col-sm-3">Usuario</th>
<th class="col-sm-4">Nombre</th>
<th class="col-sm-4">Fecha Creación</th>
<th></th>
@ -565,7 +574,7 @@
</div>
@*---------------------Usuario ---------------------------------------------------------*@
<div class="modal fade" id="modalUsuarios" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" style="display: none;">
<div class="modal fade" id="modalUsuarios" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" style="display: none;z-index:1600;">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
@ -948,17 +957,25 @@
</div>
</div>
@*---------------------Roles Usuarios---------------------------------------------------------*@
@*---------------------Discusion Usuarios---------------------------------------------------------*@
<div class="modal fade" id="modalBuscarUsuarioDiscusion" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" style="display: none;">
<div class="modal-dialog modal-lg" style="max-height:90%;overflow-y: auto;">
<div class="modal-content">
<div class="modal-header">
<h4><i class="fa fa-bars"></i>&nbsp;&nbsp;Usuarios discusión focalizada</h4>
<h4><i class="fa fa-users"></i>&nbsp;&nbsp;Discusión focalizada</h4>
</div>
<div class="form-group" id="divUsuario">
<label class="col-lg-2 col-md-2 col-sm-2 col-xs-2 control-label ControlsForms" id="lblAsunto" for="txtUAsuntoDiscusion">Asunto</label>
<div class="input-group input-group-sm col-md-6">
<input name="txtAsuntoDiscusion" title="" class="form-control TextBoxCatalogo" id="txtAsuntoDiscusion" type="text">
</div>
<br />
<label class="col-lg-2 col-md-2 col-sm-2 col-xs-2 control-label ControlsForms" id="lblUsuario" for="txtBuscarUsuarioDiscusion">Buscar</label>
<div class="input-group input-group-sm col-md-6">
<input id="hiddenUsuarioDiscusion" type="hidden">
<input name="txtUsuarioDiscusion" title="" class="form-control TextBoxCatalogo" id="txtUsuarioDiscusion" type="text" readonly>
@ -979,47 +996,19 @@
<br />
<div class="modal-body">
<table id="GridUsuariosDiscusion" class="table table-striped dataTable no-footer">
<table id="tableDiscusion" class="table table-striped dataTable no-footer">
<thead>
<tr>
<th></th>
<th class="col-sm-1"></th>
<th class="col-sm-4">Usuario</th>
<th class="col-sm-4">Nombre</th>
<th></th>
</tr>
</thead>
</table>
<div id="ucItemsIconUsuario" style="display:none;">
<div class="text-[$state_color]">
<i class="fa [$icon] fa-2x"></i>
</div>
</div>
<div id="ucItemsHabiliar" style="display:none;">
<div class="btn-group">
<button type="button" class="btn btn-info dropdown-toggle btn-xs" data-toggle="dropdown">
<i class="fa fa-wrench"></i> &nbsp;Opciones <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="javascript: EliminarUsuario([$CodItem]);"><i class="fa fa-trash"></i>&nbsp;Eliminar</a></li>
<li><a href="javascript: HabilitarUsuario([$CodItem],[$value]);"><i class="fa [$icon]"></i>&nbsp;[$opcion]</a></li>
</ul>
</div>
</div>
@*<div id="ucItemsHabiliar" style="display:none;">
<button type="button" id="btnhabilitar" class="btn btn-default btn-xs" onclick="javascript: HabilitarUsuario([$CodItem], [$value])">
<i class=" fa [$icon]"></i> &nbsp;[$opcion]
</button>
</div>*@
</div>
<div class="modal-footer">
<button type="button" class="btn btn-success btn-sm" onclick="javascript: GuardarRolesUsuarios()">Guardar</button>
<button type="button" id="btnEliminarDiscusion" class="btn btn-danger btn-sm">Eliminar Discusión Focalizada</button>
<button type="button" class="btn btn-danger btn-sm" data-dismiss="modal">Cerrar</button>
</div>
@ -1027,36 +1016,7 @@
</div>
</div>
@*---------------------Usuarios---------------------------------------------------------*@
<div class="modal fade" id="modalUsuarioDiscusion" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" style="display: none;">
<div class="modal-dialog modal-lg">
<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">Catálogo Usuarios</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<table id="tableUsuariosDiscusion" class="table table-striped">
<thead>
<tr>
<th class="col-sm-2">Usuario</th>
<th class="col-sm-4">Nombre</th>
<th></th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
}
@Scripts.Render("~/Sinort-Scripts/PropuestaNormativa/DetallePropuestaNormativa.js")

View file

@ -5,6 +5,7 @@ using AYA.SlnSinortModel.Sinort;
using System;
using System.Collections.Generic;
using System.Data.Entity.Validation;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@ -26,12 +27,16 @@ namespace AYA.SlnSinortModel.DAL.Sinort
if (Actual == null)
{
model.Convocado.Participante = false;
model.Convocado.DiscusionFocalizada = model.Convocado.DiscusionFocalizada;
model.Convocado.AsuntoDiscusionFocalizada = model.Convocado.DiscusionFocalizada == true ? model.Convocado.AsuntoDiscusionFocalizada : null;
model.Convocado.UsuarioCreacion = model.UserName;
model.Convocado.FechaCreacion = DateTime.Now;
Conn.Convocatoria.Add(model.Convocado);
}
else
{
model.Convocado.DiscusionFocalizada = Actual.DiscusionFocalizada;
model.Convocado.AsuntoDiscusionFocalizada = Actual.AsuntoDiscusionFocalizada;
model.Convocado.UsuarioModificacion = model.UserName;
model.Convocado.FechaModificacion = DateTime.Now;
model.Convocado.FechaCreacion = Actual.FechaCreacion;
@ -59,6 +64,34 @@ namespace AYA.SlnSinortModel.DAL.Sinort
return model;
}
public List<Convocatoria> ActualizarConvocados(ProyectoNormativoJSON model)
{
try
{
using (SinortContex Conn = new SinortContex())
{
model.ListaConvocatoria = Conn.Convocatoria
.Include(c => c.Usuario)
.Where(c => c.IdProyectoNormativo == model.ProyectoNormativo.IdProyectoNormativo).ToList();
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.ListaConvocatoria;
}
public ProyectoNormativoJSON EliminarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model)
{
Convocatoria Actual = new Convocatoria();

View file

@ -24,6 +24,11 @@ namespace AYA.SlnSinortModel.Sinort
[StringLength(500)]
public string Justificacion { get; set; }
public bool? DiscusionFocalizada { get; set; }
[StringLength(500)]
public string AsuntoDiscusionFocalizada { get; set; }
public DateTime? FechaCreacion { get; set; }
[StringLength(200)]