diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs
index 5d61ca71a..51c2f71aa 100644
--- a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs
+++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs
@@ -30,6 +30,8 @@ namespace AYA.SlnSinort.WCF
[OperationContract]
ProyectoNormativoJSON GuardarComentarioProyectoNormativo(ProyectoNormativoJSON model);
+ [OperationContract]
+ ProyectoNormativoJSON GuardarEventoProyectoNormativo(ProyectoNormativoJSON model);
//[OperationContract]
//ProyectoNormativoJSON EliminarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model);
#region Adjuntos
diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs
index 275401224..317b323a9 100644
--- a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs
+++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs
@@ -134,6 +134,35 @@ namespace AYA.SlnSinort.WCF
return model;
}
+ public ProyectoNormativoJSON GuardarEventoProyectoNormativo(ProyectoNormativoJSON model)
+ {
+ try
+ {
+ if (model.ProyectoNormativo == null)
+ {
+ model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
+ model.DescripcionRespuesta = "No se encontraron datos del proyecto normativo";
+ return model;
+ }
+
+ if (model.Evento == null)
+ {
+ model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
+ model.DescripcionRespuesta = "No se encontraron datos del nuevo evento";
+ return model;
+ }
+
+ model = new CalendarioDAL().GuardarEvento(model);
+
+ }
+ catch (Exception ex)
+ {
+ log.Error(ex);
+ model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
+ }
+ return model;
+ }
+
//public ProyectoNormativoJSON EliminarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model)
//{
// try
diff --git a/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/PropuestaNormativa/DetallePropuestaNormativa.js b/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/PropuestaNormativa/DetallePropuestaNormativa.js
index b182ac886..6ebb60337 100644
--- a/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/PropuestaNormativa/DetallePropuestaNormativa.js
+++ b/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/PropuestaNormativa/DetallePropuestaNormativa.js
@@ -114,9 +114,13 @@ this.getDataModel = function () {
$("#btnMostrarCalendario").unbind("click");
$("#btnMostrarCalendario").click(function () {
- Calendario();
+ Calendario(model.EventosJSON);
});
+ $("#btnGuardarEvento").unbind("click");
+ $("#btnGuardarEvento").click(function () {
+ GuardarEvento();
+ });
$("#txtNombreProyecto").readOnly();
$("#txtPromotorProyecto").readOnly();
@@ -1166,6 +1170,53 @@ function ActualizarUpload() {
//Calendario
+this.GuardarEvento = function () {
+
+ if (!$("#formEvento").valid()) {
+ toastr.warning("Ingresar todos los campos que son requeridos.");
+ return false;
+ }
+
+ tableDocEvento = $('#tableDocEvento').DataTable();
+ var Iddoc;
+ var data = tableDocEvento
+ .rows()
+ .data();
+
+ $.each(data, function (key, item) {
+ Iddoc = item[0]
+ });
+
+ var uri = SinortWCF + '/api/GuardarEventoProyectoNormativo';
+
+ model.Evento = {
+ IdProyectoNormativo: model.ProyectoNormativo.IdProyectoNormativo,
+ IdDocumento: Iddoc,
+ Titulo: $("#txtTituloEvento").val(),
+ Descripcion: $("#txtDescripcionEvento").val(),
+ FechaInicio: $("#txtInicioEvento").DateFormatWCF(),
+ FechaFin: $("#txtFinEvento").DateFormatWCF()
+ }
+
+ AjaxPostData(uri, model, false, true, EventoGuardado, null, null);
+
+}
+
+this.EventoGuardado = function (data) {
+
+ if (data.CodigoRespuesta == "EXITOSO") {
+ model = data;
+ }
+
+ $("#txtTituloEvento").val('');
+ $("#txtDescripcionEvento").val('');
+ $('#modalEvento').modal('hide');
+ $('#tableDocEvento').DataTable.clear().draw();
+
+ CargarForo();
+ ENDREQUEST();
+}
+
this.ModalEvento = function (inicio,fin) {
$('#modalEvento').modal('show');
@@ -1177,18 +1228,20 @@ this.ModalEvento = function (inicio,fin) {
if (fecha != "Invalid date")
$("#txtFinEvento").val(fecha);
+ $("#txtInicioEvento").readOnly();
+ $("#txtFinEvento").readOnly();
+
}
-this.Calendario = function () {
+this.Calendario = function (data) {
$('#modalCalendario').modal('show');
- $('#calendar').fullCalendar('destroy')
+ $('#calendar').fullCalendar('destroy');
+ $('#calendar').fullCalendar('render');
$('#calendar').fullCalendar({
selectable: true,
eventLimit: true,
- //dayClick: function (date) {
- // alert('clicked ' + date.format());
- //},
+ events:data,
select: function (startDate, endDate) {
ModalEvento(startDate.format(), endDate.format());
}
diff --git a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/AYA.SlnSinortModel.DAL.csproj b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/AYA.SlnSinortModel.DAL.csproj
index 307416d56..3b947390a 100644
--- a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/AYA.SlnSinortModel.DAL.csproj
+++ b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/AYA.SlnSinortModel.DAL.csproj
@@ -68,9 +68,9 @@
+
-
diff --git a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/CalendarioDAL.cs b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/CalendarioDAL.cs
new file mode 100644
index 000000000..24f4ef460
--- /dev/null
+++ b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/CalendarioDAL.cs
@@ -0,0 +1,67 @@
+using Atesa.Utilitarios;
+using AYA.SlnSinortModel.Constantes;
+using AYA.SlnSinortModel.Entidades;
+using AYA.SlnSinortModel.Sinort;
+using System;
+using System.Collections.Generic;
+using System.Data.Entity.Validation;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AYA.SlnSinortModel.DAL.Sinort
+{
+ public class CalendarioDAL
+ {
+ Log log = new Log("CalendarioDAL");
+
+ public ProyectoNormativoJSON GuardarEvento(ProyectoNormativoJSON model)
+ {
+ try
+ {
+ using (SinortContex Conn = new SinortContex())
+ {
+ int? Next_id = Conn.Calendario.Max(t => (int?)t.IdCalendario);
+ model.Evento.IdCalendario = (Next_id == null) ? 1 : Next_id.Value + 1;
+ model.Evento.UsuarioCreacion = model.AtesaUser;
+ model.Evento.FechaCreacion = DateTime.Now;
+ Conn.Calendario.Add(model.Evento);
+ Conn.SaveChanges();
+ Conn.Commit();
+ }
+
+ model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
+
+ if (model.ProyectoNormativo.Calendario != null)
+ model.ProyectoNormativo.Calendario.Add(model.Evento);
+
+ if (model.EventosJSON != null)
+ {
+ var json = new EventosJSON()
+ {
+ allDay = false,
+ start = model.Evento.FechaInicio.HasValue ? model.Evento.FechaInicio.Value.ToString() : string.Empty,
+ end = model.Evento.FechaFin.HasValue ? model.Evento.FechaFin.Value.ToString() : string.Empty,
+ title = model.Evento.Titulo
+ };
+
+ model.EventosJSON.Add(json);
+ }
+
+ }
+ catch (DbEntityValidationException ex)
+ {
+ log.Error(ex);
+ model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
+ }
+ catch (Exception ex)
+ {
+ log.Error(ex);
+ model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
+ }
+
+ return model;
+ }
+
+ }
+}
diff --git a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/ComentariosMatrizDAL.cs b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/ComentariosMatrizDAL.cs
deleted file mode 100644
index 3e556aaa7..000000000
--- a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/ComentariosMatrizDAL.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Atesa.Utilitarios;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace AYA.SlnSinortModel.DAL.Sinort
-{
- public class ComentariosMatrizDAL
- {
- Log log = new Log("ComentariosMatrizDAL");
- }
-}
diff --git a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/ProyectoNormativoDAL.cs b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/ProyectoNormativoDAL.cs
index d8a9d0a2f..044f1ade4 100644
--- a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/ProyectoNormativoDAL.cs
+++ b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/ProyectoNormativoDAL.cs
@@ -89,12 +89,33 @@ namespace AYA.SlnSinortModel.DAL.Sinort
using (SinortContex Conn = new SinortContex())
{
model.ProyectoNormativo = Conn.ProyectoNormativo
- .Include(q=> q.Convocatoria)
- .Include(q=> q.ComentariosProyecto)
+ .Include(q => q.Convocatoria)
+ .Include(q => q.ComentariosProyecto)
+ .Include(q => q.Calendario)
.Include("Convocatoria.Usuario")
.FirstOrDefault(q => q.IdProyectoNormativo == model.ProyectoNormativo.IdProyectoNormativo);
+
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
+
+ if (model.ProyectoNormativo != null && model.ProyectoNormativo.Calendario != null)
+ {
+ model.EventosJSON = new List();
+
+ foreach (var evento in model.ProyectoNormativo.Calendario)
+ {
+ var json = new EventosJSON()
+ {
+ allDay = false,
+ start = evento.FechaInicio.HasValue ? evento.FechaInicio.Value.ToString() : string.Empty,
+ end = evento.FechaFin.HasValue ? evento.FechaFin.Value.ToString() : string.Empty,
+ title = evento.Titulo
+ };
+
+ model.EventosJSON.Add(json);
+
+ }
+ }
}
catch (DbEntityValidationException ex)
{
diff --git a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/CatalogosJSON.cs b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/CatalogosJSON.cs
index 67d751263..eb51a5c3a 100644
--- a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/CatalogosJSON.cs
+++ b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/CatalogosJSON.cs
@@ -38,9 +38,17 @@ namespace AYA.SlnSinortModel.Entidades
{
public List ListaRolesUsuarios { get; set; }
}
-
+
public class UsuariosAyAJSON : BaseJson
{
public List ListaUsuariosAyA { get; set; }
}
+
+ public class EventosJSON
+ {
+ public string title { get; set; }
+ public string start { get; set; }
+ public string end { get; set; }
+ public bool allDay { get; set; }
+ }
}
diff --git a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs
index 484a6c05e..f3e752528 100644
--- a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs
+++ b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs
@@ -21,6 +21,8 @@ namespace AYA.SlnSinortModel.Entidades
public ComentariosProyecto Comentario { get; set; }
public List ProyectosNormativos { get; set; }
public List ListaConvocatoria { get; set; }
+ public Calendario Evento { get; set; }
+ public List EventosJSON { get; set; }
}
public class AdjuntosJSON : BaseJson
@@ -32,8 +34,8 @@ namespace AYA.SlnSinortModel.Entidades
public string Id { get; set; }
public string Carpeta { get; set; }
public int? IdDocumentoAdjunto { get; set; }
-
+
}
-
-
+
+
}