This commit is contained in:
mumana 2018-06-19 21:39:20 +00:00
parent 7ef10b9289
commit e89b94b9ab
13 changed files with 304 additions and 77 deletions

View file

@ -15,7 +15,13 @@ namespace AYA.SlnSinort.WCF
[ServiceContract]
public interface ISinort
{
[OperationContract]
ProyectoNormativoJSON GuardarProyectoNormativo(ProyectoNormativoJSON model);
[OperationContract]
ProyectoNormativoJSON GuardarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model);
[OperationContract]
ProyectoNormativoJSON EliminarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model);
}
}

View file

@ -19,22 +19,85 @@ namespace AYA.SlnSinort.WCF
public class Sinort : ISinort
{
Log log = new Log("ForoDAL");
Log log = new Log("SinortWCF");
#region ProyectoNormativo
//public List<Mantenimiento> ObtenerSitios()
//{
// List<Mantenimiento> respuesta = null;
// try
// {
// respuesta = new MantenimientoDAL().ObtenerSitios();
public ProyectoNormativoJSON GuardarProyectoNormativo(ProyectoNormativoJSON model)
{
try
{
if (model.ProyectoNormativo == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del proyecto normativo";
return model;
}
// }
// catch (Exception ex)
// {
// throw;
// }
// return respuesta;
//}
model = new ProyectoNormativoDAL().GuardarProyectoNormativo(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public ProyectoNormativoJSON GuardarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model)
{
try
{
if (model.ProyectoNormativo == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del proyecto normativo";
return model;
}
if (model.ProyectoNormativo.ConvocatoriaProyectoNormativo == null || model.ProyectoNormativo.ConvocatoriaProyectoNormativo == null || model.ProyectoNormativo.ConvocatoriaProyectoNormativo.Count == 0)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos asociados a la convocatoria del proyecto normativo";
return model;
}
model = new ConvocatoriaDAL().GuardarConvocatoriaProyectoNormativo(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public ProyectoNormativoJSON EliminarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model)
{
try
{
if (model.ProyectoNormativo == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del proyecto normativo";
return model;
}
if (model.Convocado == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos del usuario";
return model;
}
model = new ConvocatoriaDAL().EliminarConvocatoriaProyectoNormativo(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
#endregion

View file

@ -17,7 +17,7 @@ namespace AYA.SlnSinort.WCF
{
public class SinortCatalogos : ISinortCatalogos
{
Log log = new Log("ForoDAL");
Log log = new Log("SinortCatalogosWCF");
#region Mantenimiento
public List<Mantenimiento> ObtenerMantenimientoCatalogos()
@ -137,7 +137,7 @@ namespace AYA.SlnSinort.WCF
return respuesta;
}
#endregion
#region Rol
@ -175,17 +175,17 @@ namespace AYA.SlnSinort.WCF
#region Pantallas
public List<Pantallas> ObtenerPantallas(CatalogosPostJSON model)
{
List<Pantallas> respuesta = new List<Pantallas>();
List<Pantallas> respuesta = new List<Pantallas>();
try
{
respuesta= new PantallasDAL().ObtenerPantallas(model);
respuesta = new PantallasDAL().ObtenerPantallas(model);
}
catch (Exception ex)
{
log.Error(ex);
}
return respuesta;
return respuesta;
}
public List<RolesPantallas> ObtenerPantallasRol(CatalogosPostJSON model)
@ -193,7 +193,7 @@ namespace AYA.SlnSinort.WCF
List<RolesPantallas> respuesta = null;
try
{
respuesta = new PantallasDAL().ObtenerPantallasRol(model);
respuesta = new PantallasDAL().ObtenerPantallasRol(model);
}
catch (Exception ex)
{
@ -210,7 +210,7 @@ namespace AYA.SlnSinort.WCF
var rolesDAL = new RolesDAL();
try
{
foreach(var rolPantalla in model.ListaRolesPantallas)
foreach (var rolPantalla in model.ListaRolesPantallas)
rolesDAL.InsertarActualizarRolesPantallas(rolPantalla);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
@ -273,12 +273,12 @@ namespace AYA.SlnSinort.WCF
return respuesta;
}
public RolesUsuarioJSON InsertarActualizarRolesUsuario(RolesUsuarioJSON model)
public RolesUsuarioJSON InsertarActualizarRolesUsuario(RolesUsuarioJSON model)
{
var usuarioDAL = new UsuarioDAL();
try
{
foreach(var rolUsuario in model.ListaRolesUsuarios )
foreach (var rolUsuario in model.ListaRolesUsuarios)
usuarioDAL.InsertarActualizarRolesUsuarios(rolUsuario);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
@ -291,51 +291,52 @@ namespace AYA.SlnSinort.WCF
return model;
}
#endregion
#region WCFAYA
public List<Usuario> ObtenerUsuariosAyA()
{
List<Usuario> respuesta = null;
try {
DataSet ds = new DataSet();
ServiciosUsuariosWCF.ServicioUsuariosClient respuestaAyA = new ServiciosUsuariosWCF.ServicioUsuariosClient();
ds = respuestaAyA.obtenerUsuariosActiveDirectory();
#region WCFAYA
public List<Usuario> ObtenerUsuariosAyA()
{
List<Usuario> respuesta = null;
try
{
}
catch (Exception ex)
{
throw;
}
return respuesta;
}
public async Task<UsuariosAyAJSON> ActualizarUsuarios(UsuariosAyAJSON model)
{
var usuarioDAL = new UsuarioDAL();
try
{
string dominio = "@aya.go.cr";
DataSet ds = new DataSet();
ServiciosUsuariosWCF.ServicioUsuariosClient respuestaAyA = new ServiciosUsuariosWCF.ServicioUsuariosClient();
ds = respuestaAyA.obtenerUsuariosActiveDirectory();
model.ListaUsuariosAyA = ds.Tables[0].AsEnumerable().Select(dataRow => new Usuario { UsuarioSistema = dataRow.Field<string>("Login"), NombreUsuario = dataRow.Field<string>("Nombre"),EmailUsuario =dataRow.Field<string>("Login") + dominio, Estado = true, FechaCreacion = System.DateTime.Now }).ToList();
await usuarioDAL.ActualizarUsuarios(model);
DataSet ds = new DataSet();
ServiciosUsuariosWCF.ServicioUsuariosClient respuestaAyA = new ServiciosUsuariosWCF.ServicioUsuariosClient();
ds = respuestaAyA.obtenerUsuariosActiveDirectory();
}
catch (Exception ex)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
throw;
}
}
catch (Exception ex)
{
throw;
}
return respuesta;
}
public async Task<UsuariosAyAJSON> ActualizarUsuarios(UsuariosAyAJSON model)
{
var usuarioDAL = new UsuarioDAL();
try
{
string dominio = "@aya.go.cr";
DataSet ds = new DataSet();
ServiciosUsuariosWCF.ServicioUsuariosClient respuestaAyA = new ServiciosUsuariosWCF.ServicioUsuariosClient();
ds = respuestaAyA.obtenerUsuariosActiveDirectory();
model.ListaUsuariosAyA = ds.Tables[0].AsEnumerable().Select(dataRow => new Usuario { UsuarioSistema = dataRow.Field<string>("Login"), NombreUsuario = dataRow.Field<string>("Nombre"), EmailUsuario = dataRow.Field<string>("Login") + dominio, Estado = true, FechaCreacion = System.DateTime.Now }).ToList();
await usuarioDAL.ActualizarUsuarios(model);
}
catch (Exception ex)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
throw;
}
return model;
}
}
#endregion
#endregion
}
}

View file

@ -100,13 +100,6 @@ this.AgregarUsuario = function () {
$('#txtUsuario').val('');
}
$('#tableParticipantes').on('click', 'button', function () {
var data = $('#tableParticipantes').DataTable().row($(this).parents('tr')).data();
});
$('#tableUsuarios').on('click', 'button', function () {
var data = $('#tableUsuarios').DataTable().row($(this).parents('tr')).data();

View file

@ -4,7 +4,7 @@
}
<form id="formCatalogo" class="form-horizontal" role="form">
<div class="panel-body"> <h3>&nbsp;<i class="fa fa-briefcase"></i>&nbsp; Detalle Propuesta </h3> </div>
<div class="panel-body"> <h3>&nbsp;<i class="fa fa-briefcase"></i>&nbsp; Detalle Propuesta - [$Propuesta] </h3> </div>
<div class="panel panel-success">
<div class="panel-body">
@ -13,6 +13,7 @@
<li><a href="#tabs-1">Información General</a></li>
<li><a href="#tabs-2">Usuarios</a></li>
<li><a href="#tabs-3">Foro</a></li>
<li><a href="#tabs-4">Matriz Cambios</a></li>
</ul>
<div id="tabs-1">
@* Informacion General *@

View file

@ -82,6 +82,7 @@
<Compile Include="Sinort\PantallasDAL.cs" />
<Compile Include="Sinort\PermisosUsuarioDAL.cs" />
<Compile Include="Sinort\PlantillaEmailDAL.cs" />
<Compile Include="Sinort\ProyectoNormativoDAL.cs" />
<Compile Include="Sinort\RolesDAL.cs" />
<Compile Include="Sinort\TipoDocumentoDAL.cs" />
<Compile Include="Sinort\TipoEmisorDAL.cs" />

View file

@ -1,6 +1,10 @@
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;
@ -10,5 +14,77 @@ namespace AYA.SlnSinortModel.DAL.Sinort
public class ConvocatoriaDAL
{
Log log = new Log("ConvocatoriaDAL");
public ProyectoNormativoJSON GuardarConvocatoriaProyectoNormativo(ProyectoNormativoJSON model)
{
try
{
using (SinortContex Conn = new SinortContex())
{
foreach (var Convocado in model.ProyectoNormativo.ConvocatoriaProyectoNormativo)
{
if (!Conn.ConvocatoriaProyectoNormativo.Any(x => x.IdProyectoNormativo == model.ProyectoNormativo.IdProyectoNormativo && x.UsuarioSistema == Convocado.UsuarioSistema))
{
Convocado.FechaCreacion = DateTime.Now;
Convocado.Estado = false;
Conn.ConvocatoriaProyectoNormativo.Add(Convocado);
}
else
{
Convocado.FechaModificacion = DateTime.Now;
Conn.Entry(Convocado).State = System.Data.Entity.EntityState.Detached;
Conn.ConvocatoriaProyectoNormativo.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

@ -0,0 +1,60 @@
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 ProyectoNormativoDAL
{
Log log = new Log("ProyectoNormativoDAL");
public ProyectoNormativoJSON GuardarProyectoNormativo(ProyectoNormativoJSON model)
{
try
{
using (SinortContex Conn = new SinortContex())
{
model.ProyectoNormativo.ClearProperties();
if (!Conn.ProyectoNormativo.Any(x => x.IdProyectoNormativo == model.ProyectoNormativo.IdProyectoNormativo))
{
int? Next_id = Conn.ProyectoNormativo.Max(t => (int?)t.IdProyectoNormativo);
model.ProyectoNormativo.IdProyectoNormativo = (Next_id == null) ? 1 : Next_id.Value + 1;
model.ProyectoNormativo.FechaCreacion = DateTime.Now;
Conn.ProyectoNormativo.Add(model.ProyectoNormativo);
}
else
{
model.ProyectoNormativo.FechaModificacion = DateTime.Now;
Conn.Entry(model.ProyectoNormativo).State = System.Data.Entity.EntityState.Detached;
Conn.ProyectoNormativo.Attach(model.ProyectoNormativo);
Conn.Entry(model.ProyectoNormativo).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;
}
}
}

View file

@ -32,6 +32,7 @@ namespace AYA.SlnSinortModel.Entidades
{
public List<RolesUsuario> ListaRolesUsuarios { get; set; }
}
public class UsuariosAyAJSON : BaseJson
{
public List<Usuario> ListaUsuariosAyA { get; set; }

View file

@ -1,4 +1,5 @@
using System;
using AYA.SlnSinortModel.Sinort;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -11,4 +12,10 @@ namespace AYA.SlnSinortModel.Entidades
public string CodigoRespuesta { get; set; }
public string DescripcionRespuesta { get; set; }
}
public class ProyectoNormativoJSON : BaseJson
{
public ProyectoNormativo ProyectoNormativo { get; set; }
public ConvocatoriaProyectoNormativo Convocado { get; set; }
}
}

View file

@ -11,8 +11,8 @@ namespace AYA.SlnSinortModel.Sinort
{
[Key]
[Column(Order = 0)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int IdUsuario { get; set; }
[StringLength(200)]
public string UsuarioSistema { get; set; }
[Key]
[Column(Order = 1)]
@ -21,6 +21,11 @@ namespace AYA.SlnSinortModel.Sinort
public DateTime? FechaCreacion { get; set; }
public bool? Estado { get; set; }
[StringLength(500)]
public string Justificación { get; set; }
[StringLength(200)]
public string UsuarioCreacion { get; set; }
@ -29,6 +34,8 @@ namespace AYA.SlnSinortModel.Sinort
[StringLength(200)]
public string UsuarioModificacion { get; set; }
public virtual Usuario Usuario { get; set; }
public virtual ProyectoNormativo ProyectoNormativo { get; set; }
}
}

View file

@ -8,8 +8,6 @@ namespace AYA.SlnSinortModel.Sinort
public partial class SinortContex : Contex
{
public virtual DbSet<Aplicacion> Aplicacion { get; set; }
public virtual DbSet<Categoria> Categoria { get; set; }
public virtual DbSet<Emisor> Emisor { get; set; }
@ -264,6 +262,11 @@ namespace AYA.SlnSinortModel.Sinort
.Property(e => e.UsuarioModificacion)
.IsUnicode(false);
modelBuilder.Entity<Usuario>()
.HasMany(e => e.ConvocatoriaProyectoNormativo)
.WithRequired(e => e.Usuario)
.WillCascadeOnDelete(false);
modelBuilder.Entity<BitacoraDocumentos>()
.Property(e => e.UsuarioCreacion)
.IsUnicode(false);
@ -386,6 +389,10 @@ namespace AYA.SlnSinortModel.Sinort
.Property(e => e.UsuarioModificacion)
.IsUnicode(false);
modelBuilder.Entity<ConvocatoriaProyectoNormativo>()
.Property(e => e.UsuarioSistema)
.IsUnicode(false);
modelBuilder.Entity<ConvocatoriaProyectoNormativo>()
.Property(e => e.UsuarioCreacion)
.IsUnicode(false);

View file

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