diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs index bb40f2384..a0c0a5ae2 100644 --- a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs +++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs @@ -80,5 +80,10 @@ namespace AYA.SlnSinort.WCF [OperationContract] List ObtenerPermisos(AtesaJSON model); #endregion + + #region Solicitud + [OperationContract] + SolicitudJSON GuardarSolicitud(SolicitudJSON model); + #endregion } } diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs index 328a768f2..fe8b854b7 100644 --- a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs +++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs @@ -592,6 +592,31 @@ namespace AYA.SlnSinort.WCF } #endregion + #region Solicitud + public SolicitudJSON GuardarSolicitud(SolicitudJSON model) + { + try + { + if (model.Solicitud == null) + { + + model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA; + model.DescripcionRespuesta = "No se encontraron datos de la solicitud"; + return model; + } + + model = new SolicitudDAL().GuardarSolicitud(model); + + } + catch (Exception ex) + { + log.Error(ex); + model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; + } + return model; + } + #endregion + } } diff --git a/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/Solicitud.js b/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/Solicitud.js index 88a2d61d4..9982a9874 100644 --- a/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/Solicitud.js +++ b/AYA.SlnSynor/AYA.SlnSynor/Sinort-Scripts/NormativaReglamentacionTecnica/Solicitud.js @@ -88,10 +88,16 @@ this.getDataModel = function () { } }); + $("#btnAñadir").unbind("click"); $('#btnAñadir').click(function () { AgregarOtroAmbitoAreaAplicacion(); }); + + $("#btnGuardar").unbind("click"); + $('#btnGuardar').click(function () { + GuardarSolicitud(); + }); } this.CargarEstado = function (filtro) { @@ -193,24 +199,16 @@ this.CargarGridAreaAplicacion = function (data) { ENDREQUEST(); } + this.AgregarOtroAmbitoAreaAplicacion = function () { $('#txtAreaAplicacionDocumentoTecnico').val($('#txtDescripcion').val()); $('#modalAreaAplicacionDocumentoTecnico').modal('hide'); + $("#hiddenAreaAplicacionDocumentoTecnico").val(''); LimpiarControlesAreaAplicacionDocumentoTecnico(); ENDREQUEST(); } -//codigo para guardar area aplicacion documento tecnico: -//AreaAplicacionDocumento = { -//Descripcion: $("#txtDescripcion").val() -//} -//var uri = CatalogosWCF + '/api/InsertarActualizarAreaAplicacionDocumentoTecnico'; -//AjaxPostData(uri, AreaAplicacionDocumento, true, true, CompletarAccion, null, null); - -this.CompletarAccion = function () { - -} this.LimpiarControlesAreaAplicacionDocumentoTecnico = function () { $('#txtDescripcion').val(''); } @@ -255,3 +253,70 @@ $('#tableAreaAplicacionDocumentoTecnico').on('click', 'button', function () { }); +this.GuardarSolicitud = function () { + + if (!$("#formSolicitud").valid()) { + toastr.warning("Ingresar todos los campos que son requeridos."); + return false; + } + + if (!confirm("Va a ingresar una nueva solicitud de "+ DescTipoSolicitud +".\n ¿Desea continuar?")) + { return; } + + var uri = SinortWCF + '/api/GuardarSolicitud'; + LeerFormulario(); + AjaxPostData(uri, model, false, true, true, null, null); + + LimpiarSolicitud(); +} + +this.LeerFormulario = function () { + + var Solicitud + = { + IdTipoSolicitud: IdTipoSolicitud, + DescripcionTipoSolicitud: DescTipoSolicitud, + UsuarioSistema: $("#txtUsuarioSistema").val(), + CargoActual: $("#txtCargoActual").val(), + NombreAreaFuncional: $("#txtNombreAreaFuncional").val(), + NombreSubgerencia: $("#txtNombreSubgerencia").val(), + NombreSuperior: $("#txtNombreSuperior").val(), + NombreDocumentoTecnico: $("#txtNombreDocumentoTecnico").val(), + IdAreaAplicacionDocumentoTecnico: $("#hiddenAreaAplicacionDocumentoTecnico").val(), + JustifiacionSolicitud: $("#txtAreaJustifiacion").val(), + IdEstadoSolicitud: $("#hiddenEstadoSolicitud").val() + } + + if ($("#hiddenAreaAplicacionDocumentoTecnico").val() == '') { + + InsertarAreaAplicacionDocumentoTecnico(); + }// + + model.Solicitud = Solicitud; +} + +//revisar codigo +this.InsertarAreaAplicacionDocumentoTecnico = function () { + AreaAplicacionDocumento = { + Descripcion: $("#txtAreaAplicacionDocumentoTecnico").val() + } + + var uri = CatalogosWCF + '/api/InsertarActualizarAreaAplicacionDocumentoTecnico'; + + AjaxPostData(uri, AreaAplicacionDocumento, true, true, true, null, null); +} + +this.LimpiarSolicitud = function () { + $("#txtCargoActual").val(''); + $('#txtNombreAreaFuncional').val(''); + $('#txtNombreSubgerencia').val(''); + $("#hiddenNombreSuperior").val(''); + $("#txtNombreSuperior").val(''); + $("#txtNombreDocumentoTecnico").val(''); + $("#hiddenAreaAplicacionDocumentoTecnico").val(''); + $("#txtAreaAplicacionDocumentoTecnico").val(''); + $("#txtAreaJustifiacion").val(''); + $("#hiddenEstadoSolicitud").val(''); + $("#txtEstadoSolicitud").val(''); +} + diff --git a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/AYA.SlnSinortModel.DAL.csproj b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/AYA.SlnSinortModel.DAL.csproj index e712e0e23..6692c2508 100644 --- a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/AYA.SlnSinortModel.DAL.csproj +++ b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/AYA.SlnSinortModel.DAL.csproj @@ -91,6 +91,7 @@ + diff --git a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/AreaAplicacionDocumentoTecnicoDAL.cs b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/AreaAplicacionDocumentoTecnicoDAL.cs index 4df97cfae..3decf633b 100644 --- a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/AreaAplicacionDocumentoTecnicoDAL.cs +++ b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/AreaAplicacionDocumentoTecnicoDAL.cs @@ -65,6 +65,24 @@ namespace AYA.SlnSinortModel.DAL.Sinort return respuesta; } + + //public List ObtenerUltimoAreaAplicacionDocumentoTecnico() + //{ + // List registros = null; + + // using (SinortContex db = new SinortContex()) + // { + // registros = db.AreaAplicacionDocumentoTecnico.Where(t => t.Estado == null).LastOrDefault() + // .Select(t => new CatalogosJSON() + // { + // codigo = t.IdAreaAplicacionDocumentoTecnico.ToString(), + // descripcion = t.Descripcion, + // }).ToList(); + // } + + // return registros; + + //} #endregion diff --git a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/SolicitudDAL.cs b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/SolicitudDAL.cs new file mode 100644 index 000000000..d75cccd7b --- /dev/null +++ b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/SolicitudDAL.cs @@ -0,0 +1,63 @@ +using AYA.SlnSinortModel.Sinort; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Data.Entity; +using System.Data.Entity.Validation; +using AYA.SlnSinortModel.Entidades; +using Atesa.Utilitarios; +using AYA.SlnSinortModel.Constantes; + +namespace AYA.SlnSinortModel.DAL.Sinort +{ + public class SolicitudDAL + { + Log log = new Log("SolicitudDAL"); + + public SolicitudJSON GuardarSolicitud(SolicitudJSON model) + { + try + { + using (SinortContex Conn = new SinortContex()) + { + + model.Solicitud.ClearProperties(); + + if (!Conn.Solicitud.Any(x => x.IdSolicitud == model.Solicitud.IdSolicitud)) + { + int? Next_id = Conn.Solicitud.Max(t => (int?)t.IdSolicitud); + model.Solicitud.IdSolicitud = (Next_id == null) ? 1 : Next_id.Value + 1; + model.Solicitud.UsuarioCreacion = model.UserName; + model.Solicitud.FechaCreacion = DateTime.Now; + Conn.Solicitud.Add(model.Solicitud); + } + else + { + model.Solicitud.UsuarioModificacion = model.UserName; + model.Solicitud.FechaModificacion = DateTime.Now; + Conn.Entry(model.Solicitud).State = System.Data.Entity.EntityState.Detached; + Conn.Solicitud.Attach(model.Solicitud); + Conn.Entry(model.Solicitud).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; + } + } +} diff --git a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs index f9174e44c..1d1ea4936 100644 --- a/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs +++ b/AYA.SlnSynor/AYA.SlnSynorModel/Entidades/Json.cs @@ -66,4 +66,17 @@ namespace AYA.SlnSinortModel.Entidades public string LoginUsuario { get; set; } } + + //se agrega el SolicitudJSON + public class SolicitudJSON : BaseJson + { + public Solicitud Solicitud { get; set; } + public List Solicitudes { get; set; } + public List EventosJSON { get; set; } + public PlantillaEmail PlantillaEmail { get; set; } + public TareasPendientes TareasPendientes { get; set; } + public List ListaTareasPendientes { get; set; } + } + + }