diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs index a0c0a5ae2..e6c76784a 100644 --- a/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs +++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/ISinort.cs @@ -66,6 +66,9 @@ namespace AYA.SlnSinort.WCF [OperationContract] ProyectoNormativoJSON InsertarActualizarTareasPendientes(ProyectoNormativoJSON model); + [OperationContract] + SolicitudJSON InsertarActualizarTareasPendientes2(SolicitudJSON model); + [OperationContract] NotificacionesJSON ObtenerCantidadTareasPendientes(NotificacionesJSON model); #endregion diff --git a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs index 27ebc85c2..e38cac7b6 100644 --- a/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs +++ b/AYA.SlnSynor/AYA.SlnSynor.WCF/Sinort.svc.cs @@ -494,6 +494,27 @@ namespace AYA.SlnSinort.WCF } return model; } + + public SolicitudJSON InsertarActualizarTareasPendientes2(SolicitudJSON model) + { + try + { + var tareasDAL = new TareasPendientesDAL(); + foreach (var tareas in model.ListaTareasPendientes) + { + model.TareasPendientes = tareas; + tareasDAL.InsertarActualizarTareasPendientes2(model); + } + + model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO; + } + catch (Exception ex) + { + model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR; + log.Error(ex); + } + return model; + } public NotificacionesJSON ObtenerCantidadTareasPendientes(NotificacionesJSON model) { diff --git a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/TareasPendientesDAL.cs b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/TareasPendientesDAL.cs index b26142f60..062d01d61 100644 --- a/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/TareasPendientesDAL.cs +++ b/AYA.SlnSynor/AYA.SlnSynorModel.DAL/Sinort/TareasPendientesDAL.cs @@ -88,6 +88,55 @@ namespace AYA.SlnSinortModel.DAL.Sinort } return model; } + + public SolicitudJSON InsertarActualizarTareasPendientes2(SolicitudJSON model) + { + TareasPendientes Actual = new TareasPendientes(); + + try + { + model.ClearProperties(); + + using (SinortContex Conn = new SinortContex()) + { + Actual = Conn.TareasPendientes.Where(x => x.IdTareasPendientes == model.TareasPendientes.IdTareasPendientes).FirstOrDefault(); + if (Actual == null) + { + int? Next_id = Conn.TareasPendientes.Max(t => (int?)t.IdTareasPendientes); + model.TareasPendientes.IdTareasPendientes = (Next_id == null) ? 1 : Next_id.Value + 1; + model.TareasPendientes.FechaCreacion = DateTime.Now; + Conn.TareasPendientes.Add(model.TareasPendientes); + } + else + { + model.TareasPendientes.FechaModificacion = DateTime.Now; + model.TareasPendientes.FechaCreacion = Actual.FechaCreacion; + model.TareasPendientes.UsuarioCreacion = Actual.UsuarioCreacion; + Conn.Entry(Actual).State = System.Data.Entity.EntityState.Detached; + Conn.TareasPendientes.Attach(model.TareasPendientes); + Conn.Entry(model.TareasPendientes).State = System.Data.Entity.EntityState.Modified; + } + Conn.SaveChanges(); + Conn.Commit(); + 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(); + } + finally + { + Actual = null; + } + return model; + } public NotificacionesJSON ObtenerCantidadTareasPendientes(NotificacionesJSON model) {