This commit is contained in:
mumana 2018-06-22 18:02:17 +00:00
parent 4684004182
commit 46b27d6b83
13 changed files with 228 additions and 121 deletions

View file

@ -26,6 +26,9 @@ namespace AYA.SlnSinort.WCF
[OperationContract]
int EnviarCorreo();
[OperationContract]
ProyectoNormativoJSON GuardarComentarioProyectoNormativo(ProyectoNormativoJSON model);
//[OperationContract]
//ProyectoNormativoJSON EliminarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model);
}

View file

@ -46,12 +46,24 @@ namespace AYA.SlnSinort.WCF
public ProyectoNormativoJSON GuardarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model)
{
var convocatoriaDAL = new ConvocatoriaDAL();
try
{
foreach (var convocados in model.ListaConvocatoria)
convocatoriaDAL.GuardarConvocatoriaProyectoNormativo(convocados);
var convocatoriaDAL = new ConvocatoriaDAL();
if (model.ProyectoNormativo == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del proyecto normativo";
return model;
}
foreach (var convocados in model.ListaConvocatoria)
{
model.Convocado = convocados;
convocatoriaDAL.GuardarConvocatoriaProyectoNormativo(model);
}
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
@ -85,6 +97,35 @@ namespace AYA.SlnSinort.WCF
return model;
}
public ProyectoNormativoJSON GuardarComentarioProyectoNormativo(ProyectoNormativoJSON model)
{
try
{
if (model.ProyectoNormativo == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del proyecto normativo";
return model;
}
if (model.Comentario == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del nuevo comentario";
return model;
}
model = new ComentariosDAL().GuardarComentariosProyectoNormativo(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
//public ProyectoNormativoJSON EliminarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model)
//{
// try

View file

@ -43,6 +43,10 @@ this.getDataModel = function () {
$('#modalDiscusion').modal('show');
});
$("#btnGuardarComentario").unbind("click");
$("#btnGuardarComentario").click(function () {
GuardarComentario();
});
Datepicker("#txtFechaInicio");
$("#txtNombreProyecto").readOnly();
@ -134,6 +138,20 @@ this.CargarFormulario = function (data) {
.draw();
});
//FORO
$("#divComentarios").empty();
$.each(model.ProyectoNormativo.ComentariosProyecto, function (key, item) {
var comentario = $("#ucForo").html();
comentario = replaceAll("[$Usuario]", item.UsuarioSistema, comentario);
comentario = replaceAll("[$Comentario]", item.Comentario, comentario);
comentario = replaceAll("[$Fecha]", DateFormat(item.FechaCreacion), comentario);
$("#divComentarios").append(comentario);
});
ENDREQUEST();
}
@ -196,6 +214,41 @@ this.AgregarUsuario = function () {
$('#txtUsuario').val('');
}
this.GuardarComentario = function () {
if (!$("#formDiscusion").valid()) {
toastr.warning("Ingresar todos los campos que son requeridos.");
return false;
}
if (!confirm("Va a ingresar una nueva discusión. ¿Desea continuar?"))
{ return; }
var uri = SinortWCF + '/api/GuardarComentarioProyectoNormativo';
model.Comentario = {
IdProyectoNormativo: model.ProyectoNormativo.IdProyectoNormativo,
Asunto: $("#txtAsunto").val(),
Comentario: $("#txtComentario").val()
}
AjaxPostData(uri, model, false, true, ComentarioGuardado, null, null);
}
this.ComentarioGuardado = function (data) {
if (data.CodigoRespuesta == "EXITOSO") {
model = data;
}
$("#txtAsunto").val('');
$("#txtComentario").val('');
$('#modalDiscusion').modal('hide');
ENDREQUEST();
}
$('#tableUsuarios').on('click', 'button', function () {
var data = $('#tableUsuarios').DataTable().row($(this).parents('tr')).data();

View file

@ -178,7 +178,7 @@
</div>*@
<div class="col-md-12" style="overflow-y: scroll;" id="divComentarios">
</div>
</div>
@ -198,7 +198,7 @@
<div class="input-group input-group-sm">
<button class="btn btn-info btn-medium btn-margin-catalogo" id="btnAgregarComentario" type="button">
<i class="fa fa-comments"></i>
&nbsp;&nbsp;Ingresar
&nbsp;&nbsp;Ingresar
</button>
</div>
</div>
@ -232,6 +232,12 @@
</div>
</div>
<div id="ucForo" class="col-md-auto" style="display:none;">
<h4> [$Usuario] </h4>
<h5> [$Comentario]</h5>
<h6> [$Fecha] </h6>
</div>
@section Modals{
@*---------------------Usuarios---------------------------------------------------------*@
@ -274,21 +280,23 @@
<h4 class="modal-title"> <i class="fa fa-comment-o"></i>&nbsp;&nbsp; Agregar Discusión </h4>
</div>
<div class="modal-body">
@*---------------------Nombre Proyecto ---------------------------------------------------------*@
<div class="form-group " id="divAsunto">
<label class="col-sm-4 control-label ControlsForms" id="lblNombreProyecto">Asunto</label>
<div class="input-group input-group-sm col-lg-8 col-md-8 col-sm-8 col-xs-8">
<input name="txtAsunto" class="form-control imput-xs" id="txtAsunto" type="text" />
<form id="formDiscusion">
@*---------------------Nombre Proyecto ---------------------------------------------------------*@
<div class="form-group " id="divAsunto">
<label class="col-sm-4 control-label ControlsForms" id="lblAsunto">Asunto</label>
<div class="input-group input-group-sm col-lg-8 col-md-8 col-sm-8 col-xs-8">
<input name="txtAsunto" class="form-control imput-xs" id="txtAsunto" type="text" />
</div>
</div>
</div>
@*--------------------- Comentario ---------------------------------------------------------*@
<div class="form-group " id="divComentario">
<label class="col-sm-4 control-label ControlsForms" id="lblPromotorProyecto">Comentario</label>
<div class="input-group input-group-sm col-lg-6 col-md-6 col-sm-6 col-xs-6">
<textarea name="txtComentario" rows="8" cols="45" id="txtComentario" style="resize: none"></textarea>
@*--------------------- Comentario ---------------------------------------------------------*@
<div class="form-group " id="divComentario">
<label class="col-sm-4 control-label ControlsForms" id="lblcomentario">Comentario</label>
<div class="input-group input-group-sm col-lg-6 col-md-6 col-sm-6 col-xs-6">
<textarea name="txtComentario" rows="8" cols="45" id="txtComentario" style="resize: none"></textarea>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer">

View file

@ -390,6 +390,7 @@
<input type="hidden" id="hiddenSinortCatalogosWCF" value="@ViewBag.SinortCatalogosWCF" />
<input type="hidden" id="hiddenHref" value="@string.Concat(Url.Action("View", "Controller", null), ViewBag.QueryEncripted)">
<input type="hidden" id="hiddenMenuCreado" value="" />
<input type="hidden" id="hiddenUsuario" value="" />
</body>

View file

@ -69,6 +69,7 @@
<Compile Include="Sinort\AplicacionDAL.cs" />
<Compile Include="Sinort\BitacoraDocumentosDAL.cs" />
<Compile Include="Sinort\CategoriaDAL.cs" />
<Compile Include="Sinort\ComentariosDAL.cs" />
<Compile Include="Sinort\ComentariosMatrizDAL.cs" />
<Compile Include="Sinort\ConvocatoriaDAL.cs" />
<Compile Include="Sinort\DocumentosAdjuntosDAL.cs" />

View file

@ -0,0 +1,53 @@
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 ComentariosDAL
{
Log log = new Log("ComentariosDAL");
public ProyectoNormativoJSON GuardarComentariosProyectoNormativo(ProyectoNormativoJSON model)
{
try
{
using (SinortContex Conn = new SinortContex())
{
int? Next_id = Conn.ComentariosProyecto.Max(t => (int?)t.IdComentarioProyecto);
model.Comentario.IdComentarioProyecto = (Next_id == null) ? 1 : Next_id.Value + 1;
model.Comentario.UsuarioCreacion = model.AtesaUser;
model.Comentario.FechaCreacion = DateTime.Now;
Conn.ComentariosProyecto.Add(model.Comentario);
Conn.SaveChanges();
Conn.Commit();
}
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
if (model.ProyectoNormativo.ComentariosProyecto != null)
model.ProyectoNormativo.ComentariosProyecto.Add(model.Comentario);
}
catch (DbEntityValidationException ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
}
}

View file

@ -13,130 +13,49 @@ namespace AYA.SlnSinortModel.DAL.Sinort
{
public class ConvocatoriaDAL
{
//Log log = new Log("ConvocatoriaDAL");
public ProyectoNormativoJSON GuardarConvocatoriaProyectoNormativo(Convocatoria model)
Log log = new Log("ConvocatoriaDAL");
public ProyectoNormativoJSON GuardarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model)
{
Convocatoria Actual = new Convocatoria();
ProyectoNormativoJSON Respuesta = new ProyectoNormativoJSON();
try
{
model.ClearProperties();
using (SinortContex Conn = new SinortContex())
{
Actual = Conn.Convocatoria.FirstOrDefault(x => x.IdProyectoNormativo == model.IdProyectoNormativo && x.UsuarioSistema == model.UsuarioSistema);
if (Actual == null)
if (!Conn.Convocatoria.Any(x => x.IdProyectoNormativo == model.ProyectoNormativo.IdProyectoNormativo && x.UsuarioSistema == model.Convocado.UsuarioSistema))
{
model.Participante = false;
model.FechaCreacion = DateTime.Now;
Conn.Convocatoria.Add(model);
model.Convocado.Participante = false;
model.Convocado.UsuarioCreacion = model.AtesaUser;
model.Convocado.FechaCreacion = DateTime.Now;
Conn.Convocatoria.Add(model.Convocado);
}
else
{
model.FechaModificacion = DateTime.Now;
model.FechaCreacion = Actual.FechaCreacion;
model.UsuarioCreacion = Actual.UsuarioCreacion;
model.UsuarioSistema = Actual.UsuarioSistema;
Conn.Entry(Actual).State = System.Data.Entity.EntityState.Detached;
Conn.Convocatoria.Attach(model);
model.Convocado.UsuarioModificacion = model.AtesaUser;
model.Convocado.FechaModificacion = DateTime.Now;
Conn.Entry(model.Convocado).State = System.Data.Entity.EntityState.Detached;
Conn.Convocatoria.Attach(model.Convocado);
Conn.Entry(model).State = System.Data.Entity.EntityState.Modified;
}
Conn.SaveChanges();
Conn.Commit();
Respuesta.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO.ToString();
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO.ToString();
}
}
catch (DbEntityValidationException ex)
{
//log.Error(ex);
Respuesta.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR.ToString();
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR.ToString();
}
catch (Exception ex)
{
//log.Error(ex);
Respuesta.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR.ToString();
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR.ToString();
}
finally
{
Actual = null;
}
return Respuesta;
return model;
}
//public ProyectoNormativoJSON GuardarConvocatoriaProyectoNormativo(Convocatoria model)
//{
// try
// {
// using (SinortContex Conn = new SinortContex())
// {
// foreach (var Convocado in model.ListaConvocatoria)
// {
// if (!Conn.Convocatoria.Any(x => x.IdProyectoNormativo == model.ListaC && x.UsuarioSistema == Convocado.UsuarioSistema))
// {
// Convocado.FechaCreacion = DateTime.Now;
// Convocado.Participante = false;
// Conn.Convocatoria.Add(Convocado);
// }
// else
// {
// Convocado.FechaModificacion = DateTime.Now;
// Conn.Entry(Convocado).State = System.Data.Entity.EntityState.Detached;
// Conn.Convocatoria.Attach(Convocado);
// Conn.Entry(Convocado).State = System.Data.Entity.EntityState.Modified;
// }
// }
// Conn.SaveChanges();
// Conn.Commit();
// model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
// }
// }
// catch (DbEntityValidationException ex)
// {
// //log.Error(ex);
// model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
// }
// catch (Exception ex)
// {
// //log.Error(ex);
// model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
// }
// return model;
//}
//public ProyectoNormativoJSON EliminarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model)
//{
// try
// {
// using (SinortContex Conn = new SinortContex())
// {
// var ConvocadoEliminar = Conn.ConvocatoriaProyectoNormativo.FirstOrDefault(x => x.IdProyectoNormativo == model.ProyectoNormativo.IdProyectoNormativo && x.UsuarioSistema == model.Convocado.UsuarioSistema);
// if(ConvocadoEliminar != null)
// Conn.Entry(ConvocadoEliminar).State = System.Data.Entity.EntityState.Deleted;
// Conn.SaveChanges();
// Conn.Commit();
// model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
// }
// }
// catch (DbEntityValidationException ex)
// {
// log.Error(ex);
// model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
// }
// catch (Exception ex)
// {
// log.Error(ex);
// model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
// }
// return model;
//}
}
}

View file

@ -29,11 +29,13 @@ namespace AYA.SlnSinortModel.DAL.Sinort
{
int? Next_id = Conn.ProyectoNormativo.Max(t => (int?)t.IdProyectoNormativo);
model.ProyectoNormativo.IdProyectoNormativo = (Next_id == null) ? 1 : Next_id.Value + 1;
model.ProyectoNormativo.UsuarioCreacion = model.AtesaUser;
model.ProyectoNormativo.FechaCreacion = DateTime.Now;
Conn.ProyectoNormativo.Add(model.ProyectoNormativo);
}
else
{
model.ProyectoNormativo.UsuarioModificacion = model.AtesaUser;
model.ProyectoNormativo.FechaModificacion = DateTime.Now;
Conn.Entry(model.ProyectoNormativo).State = System.Data.Entity.EntityState.Detached;
Conn.ProyectoNormativo.Attach(model.ProyectoNormativo);
@ -88,6 +90,7 @@ namespace AYA.SlnSinortModel.DAL.Sinort
{
model.ProyectoNormativo = Conn.ProyectoNormativo
.Include(q=> q.Convocatoria)
.Include(q=> q.ComentariosProyecto)
.Include("Convocatoria.Usuario")
.FirstOrDefault(q => q.IdProyectoNormativo == model.ProyectoNormativo.IdProyectoNormativo);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;

View file

@ -1,4 +1,5 @@
using AYA.SlnSinortModel.Sinort;
using Atesa.Utilitarios;
using AYA.SlnSinortModel.Sinort;
using System;
using System.Collections.Generic;
using System.Linq;
@ -7,7 +8,7 @@ using System.Threading.Tasks;
namespace AYA.SlnSinortModel.Entidades
{
public class BaseJson
public class BaseJson : AtesaJSON
{
public string CodigoRespuesta { get; set; }
public string DescripcionRespuesta { get; set; }
@ -17,6 +18,7 @@ namespace AYA.SlnSinortModel.Entidades
{
public ProyectoNormativo ProyectoNormativo { get; set; }
public Convocatoria Convocado { get; set; }
public ComentariosProyecto Comentario { get; set; }
public List<ProyectoNormativo> ProyectosNormativos { get; set; }
public List<Convocatoria> ListaConvocatoria { get; set; }
}

View file

@ -18,6 +18,8 @@ namespace AYA.SlnSinortModel.Sinort
[StringLength(200)]
public string Asunto { get; set; }
public string Comentario { get; set; }
[StringLength(200)]
public string UsuarioSistema { get; set; }

View file

@ -73,6 +73,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AtesaJSON.cs" />
<Compile Include="Encriptar.cs" />
<Compile Include="Extensiones.cs" />
<Compile Include="Log.cs" />

View file

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Atesa.Utilitarios
{
public class AtesaJSON
{
public string AtesaUser { get; private set; }
public AtesaJSON()
{
AtesaUser = "atesa";
}
}
}