public Boolean ActualizarSeguimientoCasoSevero(Decimal ID_ACCIDENTE, String RIESGO_GENERADOR, String TIPO_ACCIDENTE, String TIPO_LESION, String PARTE_CUERPO, String AGENTE_LESION, String MECANISMO_LESION, String SITIO, String COND_INSEGURA, String ACTO_INSEGURO, String FACTORES_TRABAJO, String FACTORES_PERSONALES, Decimal ID_INCAPACIDAD, List<DetalleSeguimientoAccidente> listaDetallesSeguimiento, String NOMBRE_ACCIDENTE, Programa.Areas ID_AREA, List<FactorCausaAccidente> listaFactores) { Boolean correcto = true; Conexion conexion = new Conexion(Empresa); conexion.IniciarTransaccion(); try { if (ActualizarRegistroProgSeguimientoAccidentes(ID_ACCIDENTE, RIESGO_GENERADOR, TIPO_ACCIDENTE, TIPO_LESION, PARTE_CUERPO, AGENTE_LESION, MECANISMO_LESION, SITIO, COND_INSEGURA, ACTO_INSEGURO, FACTORES_TRABAJO, FACTORES_PERSONALES, ID_INCAPACIDAD, conexion) == false) { correcto = false; conexion.DeshacerTransaccion(); } else { Programa _prog = new Programa(Empresa, Usuario); foreach (DetalleSeguimientoAccidente detalleAccidente in listaDetallesSeguimiento) { if (detalleAccidente.GENERA_COMPROMISO == true) { detalleAccidente.ID_COMPROMISO_GENERADO = _prog.AdicionarRegistroCompromisoEnActividad(ID_ACCIDENTE, NOMBRE_ACCIDENTE, Programa.TiposGeneraCompromiso.ACCIDENTE.ToString(), detalleAccidente.SEGUIMIENTO, detalleAccidente.ENCARGADO_COMPROMISO, detalleAccidente.FECHA_COMPROMISO, detalleAccidente.OBSERVACIONES, MaestraCompromiso.EstadosCompromiso.ABIERTO.ToString(), ID_AREA.ToString(), conexion); if (detalleAccidente.ID_COMPROMISO_GENERADO <= 0) { conexion.DeshacerTransaccion(); correcto = false; MensajeError = _prog.MensajeError; break; } } else { detalleAccidente.ID_COMPROMISO_GENERADO = 0; } if (correcto == true) { Decimal ID_DETALLE_SEGUIMIENTO = AdicionarRegistroProgDetSegAccidente(ID_ACCIDENTE, detalleAccidente.FECHA_SEGUIMIENTO, detalleAccidente.SEGUIMIENTO, detalleAccidente.GENERA_COMPROMISO, detalleAccidente.ID_COMPROMISO_GENERADO, conexion); if (ID_DETALLE_SEGUIMIENTO <= 0) { conexion.DeshacerTransaccion(); correcto = false; ID_ACCIDENTE = 0; break; } } } if (correcto == true) { String IDS_CAUSAS = ""; foreach (FactorCausaAccidente factor in listaFactores) { Decimal ID_RELACION = AdicionarFactorAUnAccidente(ID_ACCIDENTE, factor.ID_CAUSA, factor.VALOR_ITEM, conexion); if (String.IsNullOrEmpty(IDS_CAUSAS) == true) { IDS_CAUSAS = factor.ID_CAUSA.ToString(); } else { IDS_CAUSAS += "," + factor.ID_CAUSA.ToString(); } if (ID_RELACION <= 0) { conexion.DeshacerTransaccion(); correcto = false; ID_ACCIDENTE = 0; break; } } if (correcto == true) { if (DesactivarFactoresRelacionadosConAccidente(ID_ACCIDENTE, IDS_CAUSAS, conexion) == false) { conexion.DeshacerTransaccion(); correcto = false; ID_ACCIDENTE = 0; } } } } if (correcto == true) { conexion.AceptarTransaccion(); } } catch (Exception ex) { conexion.DeshacerTransaccion(); MensajeError = ex.Message; correcto = false; } finally { conexion.Desconectar(); } return correcto; }
public Decimal AdicionarSeguimientoCasoSevero(Decimal ID_EMPLEADO, String COND_FACT, String ORIGEN, String DESCRIPCION_ACCIDENTE, String PRONOSTICO, String OBS_PRONOSTICO, Boolean CALIFICADO, String OBS_CALIFICADO, Boolean PCL, String OBS_PCL, Boolean APELO_PCL, String OBS_APELO_PCL, Boolean LABORANDO, String OBS_LABORANDO, Boolean REUBICADO, Boolean REUBICADO_ORD_JUD, String OBS_REUBICADO, Boolean REABILITADO, String OBS_REABILITADO, Boolean INCAPACITADO, String OBS_INCAPACITADO, String ACTITUD, EstadosCaso ESTADO_CASO, Decimal ID_SOLICITUD, List<DetalleSeguimientoCasoSevero> listaDetallesSeguimiento, String NOMBRE_CASO_SEVERO, Programa.Areas ID_AREA, List<RecomendacionCasoSevero> listaRecomendaciones, List<DiagnosticoCasoSevero> listaDiagnosticosAdicionales) { Boolean correcto = true; Decimal ID_MAESTRA_CASO_SEVERO = 0; Conexion conexion = new Conexion(Empresa); conexion.IniciarTransaccion(); try { ID_MAESTRA_CASO_SEVERO = AdicionarRegistroProgSeguimientoCasosSeveros(ID_EMPLEADO, COND_FACT, ORIGEN, DESCRIPCION_ACCIDENTE, PRONOSTICO, OBS_PRONOSTICO, CALIFICADO, OBS_CALIFICADO, PCL, OBS_PCL, APELO_PCL, OBS_APELO_PCL, LABORANDO, OBS_LABORANDO, REUBICADO, REUBICADO_ORD_JUD, OBS_REUBICADO, REABILITADO, OBS_REABILITADO, INCAPACITADO, OBS_INCAPACITADO, false, new DateTime(), new DateTime(), null, ACTITUD, ESTADO_CASO, ID_SOLICITUD, conexion); if (ID_MAESTRA_CASO_SEVERO <= 0) { conexion.DeshacerTransaccion(); correcto = false; ID_MAESTRA_CASO_SEVERO = 0; } else { Programa _prog = new Programa(Empresa, Usuario); foreach (DetalleSeguimientoCasoSevero detalleCaso in listaDetallesSeguimiento) { if (detalleCaso.GENERA_COMPROMISO == true) { detalleCaso.ID_COMPROMISO_GENERADO = _prog.AdicionarRegistroCompromisoEnActividad(ID_MAESTRA_CASO_SEVERO, NOMBRE_CASO_SEVERO, Programa.TiposGeneraCompromiso.CASOSEVERO.ToString(), detalleCaso.SEGUIMIENTO, detalleCaso.ENCARGADO_COMPROMISO, detalleCaso.FECHA_COMPROMISO, detalleCaso.OBSERVACIONES, MaestraCompromiso.EstadosCompromiso.ABIERTO.ToString(), ID_AREA.ToString(), conexion); if (detalleCaso.ID_COMPROMISO_GENERADO <= 0) { conexion.DeshacerTransaccion(); correcto = false; ID_MAESTRA_CASO_SEVERO = 0; MensajeError = _prog.MensajeError; break; } } else { detalleCaso.ID_COMPROMISO_GENERADO = 0; } if (correcto == true) { Decimal ID_DETALLE_SEGUIMIENTO = AdicionarRegistroProgDetSegCasoSevero(ID_MAESTRA_CASO_SEVERO, detalleCaso.FECHA_SEGUIMIENTO, detalleCaso.SEGUIMIENTO, detalleCaso.GENERA_COMPROMISO, detalleCaso.ID_COMPROMISO_GENERADO, conexion); if (ID_DETALLE_SEGUIMIENTO <= 0) { conexion.DeshacerTransaccion(); correcto = false; ID_MAESTRA_CASO_SEVERO = 0; break; } } } if (correcto == true) { foreach (RecomendacionCasoSevero recomendacion in listaRecomendaciones) { if (recomendacion.ID_RECOMENDACION == 0) { decimal ID_RECOMENDACICON = AdicionarRegistroProgRecomendacionesCasoSevero(ID_MAESTRA_CASO_SEVERO, recomendacion.RECOMENDACION, recomendacion.FCH_RECOM_DESDE, recomendacion.FCH_RECOM_HASTA, recomendacion.TIPO_ENTIDAD_EMITE, recomendacion.ID_ENTIDAD_EMITE, conexion); if (ID_RECOMENDACICON <= 0) { conexion.DeshacerTransaccion(); correcto = false; ID_MAESTRA_CASO_SEVERO = 0; break; } } } } if (correcto == true) { foreach (DiagnosticoCasoSevero diagnostico in listaDiagnosticosAdicionales) { if (diagnostico.ID_DIAGNOSTICO == 0) { decimal ID_DIAGNOSTICO = AdicionarRegistroProgDiagnosticosAdicionalesCasoSevero(ID_MAESTRA_CASO_SEVERO, diagnostico.REGISTRO_DIAGNOSTICO, diagnostico.DSC_DIAG, diagnostico.CLASE_DIAGNOSTICO, conexion); if (ID_DIAGNOSTICO <= 0) { conexion.DeshacerTransaccion(); correcto = false; ID_MAESTRA_CASO_SEVERO = 0; break; } } } } } if (correcto == true) { conexion.AceptarTransaccion(); } } catch (Exception ex) { correcto = false; conexion.DeshacerTransaccion(); MensajeError = ex.Message; ID_MAESTRA_CASO_SEVERO = 0; } finally { conexion.Desconectar(); } return ID_MAESTRA_CASO_SEVERO; }