Friend Shared Sub GuardandoCambios(bd As bdGestionAsegasa.gestionasegasaEntities, Aplicacion As String) Dim recs As IEnumerable(Of ObjectStateEntry) = Nothing Dim pols As IEnumerable(Of ObjectStateEntry) = Nothing Dim ents As IEnumerable(Of ObjectStateEntry) = Nothing Dim eps As IEnumerable(Of ObjectStateEntry) = Nothing Dim dirs As IEnumerable(Of ObjectStateEntry) = Nothing Dim docsp As IEnumerable(Of ObjectStateEntry) = Nothing Dim gests As IEnumerable(Of ObjectStateEntry) = Nothing recs = bd.ObjectStateManager.GetObjectStateEntries(EntityState.Modified).Where(Function(x) x.EntitySet.Name.ToLower = "recibos") pols = bd.ObjectStateManager.GetObjectStateEntries(EntityState.Modified).Where(Function(x) x.EntitySet.Name.ToLower = "polizassg") eps = bd.ObjectStateManager.GetObjectStateEntries(EntityState.Modified).Where(Function(x) x.EntitySet.Name.ToLower = "entidadespolizas") ents = bd.ObjectStateManager.GetObjectStateEntries(EntityState.Modified).Where(Function(x) x.EntitySet.Name.ToLower = "entidades") dirs = bd.ObjectStateManager.GetObjectStateEntries(EntityState.Modified).Where(Function(x) x.EntitySet.Name.ToLower = "direcciones") docsp = bd.ObjectStateManager.GetObjectStateEntries(EntityState.Modified).Where(Function(x) x.EntitySet.Name.ToLower = "documentospolizassg") gests = bd.ObjectStateManager.GetObjectStateEntries(EntityState.Modified).Where(Function(x) x.EntitySet.Name.ToLower = "gestionespolizassg") Try Dim bdtmp = bdGestionAsegasa.gestionasegasaEntities.NuevoContextoCN Dim su = If(bd.Aplicacion IsNot Nothing, bd.Aplicacion.ModoSuperUsuario, False) For Each m In recs Dim ra = DirectCast(m.Entity, recibos) Dim reant = bdtmp.recibos.First(Function(x) x.idRecibo = ra.idRecibo) Dim lrec = bdGestionAsegasa.logs.GeneraLog(bdtmp, "RECIBOS", reant.idRecibo, Nothing, "REGISTRO_COMPLETO", tsl5.Utilidades.Serializar(reant), su, Aplicacion) Dim polant = bdtmp.polizassg.First(Function(x) x.idPoliza = reant.idPoliza) If reant.idRemesa.HasValue Then bdGestionAsegasa.logs.GeneraLog(bdtmp, "REMESAS", reant.idRemesa, lrec, "REGISTRO_COMPLETO", tsl5.Utilidades.Serializar(reant.remesas), su, Aplicacion) If reant.asientos IsNot Nothing Then bdGestionAsegasa.logs.GeneraLog(bdtmp, "ASIENTODEVUELTOBANCO", reant.idRecibo, lrec, "REGISTRO_COMPLETO", tsl5.Utilidades.Serializar(reant.asientos), su, Aplicacion) If reant.asientos1 IsNot Nothing Then bdGestionAsegasa.logs.GeneraLog(bdtmp, "ASIENTOFACTURACION", reant.idRecibo, lrec, "REGISTRO_COMPLETO", tsl5.Utilidades.Serializar(reant.asientos1), su, Aplicacion) Dim lr = bdGestionAsegasa.logs.GeneraLog(bdtmp, "POLIZASSG", reant.idPoliza, lrec, "REGISTRO_COMPLETO", tsl5.Utilidades.Serializar(polant), su, Aplicacion) Dim lep = polant.entidadespolizas.ToList bdGestionAsegasa.logs.GeneraLog(bdtmp, "ENTIDADESPOLIZAS", reant.idPoliza, lrec, "REGISTRO_COMPLETO", tsl5.Utilidades.Serializar(lep), su, Aplicacion) For Each ent In lep Dim lrent = bdGestionAsegasa.logs.GeneraLog(bdtmp, "ENTIDADES", ent.idEntidad, lr, "REGISTRO_COMPLETO", tsl5.Utilidades.Serializar(ent.entidades), su, Aplicacion) If ent.entidades.direcciones1 IsNot Nothing Then bdGestionAsegasa.logs.GeneraLog(bdtmp, "DIRECCIONES", ent.entidades.direcciones1.idDireccion, lrent, "REGISTRO_COMPLETO", tsl5.Utilidades.Serializar(ent.entidades.direcciones1), su, Aplicacion) Next Dim ges = reant.gestionesrecibos.ToList bdGestionAsegasa.logs.GeneraLog(bdtmp, "GESTIONESRECIBOS", reant.idRecibo, lrec, "REGISTRO_COMPLETO", tsl5.Utilidades.Serializar(ges), su, Aplicacion) Next Catch ex As Exception Dim sListaCambios As String = "" If pols IsNot Nothing Then For Each m In pols Dim ra = DirectCast(m.Entity, polizassg) sListaCambios &= "polizassg idPoliza:" & ra.idPoliza & "; " Next End If sListaCambios = sListaCambios.Trim.TrimEnd(";") & vbCrLf If ents IsNot Nothing Then For Each m In ents Dim ra = DirectCast(m.Entity, entidades) sListaCambios &= "entidades idEntidad:" & ra.idEntidad & "; " Next End If sListaCambios = sListaCambios.Trim.TrimEnd(";") & vbCrLf If eps IsNot Nothing Then For Each m In eps Dim ra = DirectCast(m.Entity, entidadespolizas) sListaCambios &= "entidadespoliza idEntidadPoliza:" & ra.idEntidadPoliza & "; " Next End If sListaCambios = sListaCambios.Trim.TrimEnd(";") & vbCrLf If dirs IsNot Nothing Then For Each m In dirs Dim ra = DirectCast(m.Entity, direcciones) sListaCambios &= "direcciones idDireccion:" & ra.idDireccion & "; " Next End If If docsp IsNot Nothing Then For Each m In docsp Dim ra = DirectCast(m.Entity, documentospolizassg) sListaCambios &= "documentos idDocumento:" & ra.idDocumento & "; " Next End If If gests IsNot Nothing Then For Each m In dirs Dim ra = DirectCast(m.Entity, gestionespolizassg) sListaCambios &= "direcciones idGestionPoliza:" & ra.idGestionPoliza & "; " Next End If Call Utilidades.AƱadeLog(tsl5.Enumeraciones.TipoLog.Fallo, "En GuardandoCambios", ex.Message & vbCrLf & sListaCambios, ex) End Try End Sub