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; }
public Decimal AdicionarRegistroProgSeguimientoCasosSeveros(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, Boolean RECOMENDACIONES, DateTime FCH_RECOM_DESDE, DateTime FCH_RECOM_HASTA, String OBS_RECOMENDACIONES, String ACTITUD, EstadosCaso ESTADO_CASO, Decimal ID_SOLICITUD, Conexion conexion) { tools _tools = new tools(); String sql = null; String informacion = null; Boolean ejecutar = true; Decimal ID_MAESTRA_CASO_SEVERO = 0; sql = "usp_prog_seguimiento_casos_severos_adicionar "; if (ID_EMPLEADO != 0) { sql += ID_EMPLEADO + ", "; informacion += "ID_EMPLEADO = '" + ID_EMPLEADO + "', "; } else { MensajeError += "El campo ID_EMPLEADO no puede ser nulo\n"; ejecutar = false; } if (String.IsNullOrEmpty(COND_FACT) == false) { sql += "'" + COND_FACT + "', "; informacion += "COND_FACT = '" + COND_FACT + "', "; } else { sql += "null, "; informacion += "COND_FACT = 'null', "; } if (String.IsNullOrEmpty(ORIGEN) == false) { sql += "'" + ORIGEN + "', "; informacion += "ORIGEN = '" + ORIGEN + "', "; } else { sql += "null, "; informacion += "ORIGEN = 'null', "; } if (String.IsNullOrEmpty(DESCRIPCION_ACCIDENTE) == false) { sql += "'" + DESCRIPCION_ACCIDENTE + "', "; informacion += "DESCRIPCION_ACCIDENTE = '" + DESCRIPCION_ACCIDENTE + "', "; } else { sql += "null, "; informacion += "DESCRIPCION_ACCIDENTE = 'null', "; } if (String.IsNullOrEmpty(PRONOSTICO) == false) { sql += "'" + PRONOSTICO + "', "; informacion += "PRONOSTICO = '" + PRONOSTICO + "', "; } else { sql += "null, "; informacion += "PRONOSTICO = 'null', "; } if (String.IsNullOrEmpty(OBS_PRONOSTICO) == false) { sql += "'" + OBS_PRONOSTICO + "', "; informacion += "OBS_PRONOSTICO = '" + OBS_PRONOSTICO + "', "; } else { sql += "null, "; informacion += "OBS_PRONOSTICO = 'null', "; } if (CALIFICADO == true) { sql += "'True', "; informacion += "CALIFICADO = 'True', "; } else { sql += "'False', "; informacion += "CALIFICADO = 'False', "; } if (String.IsNullOrEmpty(OBS_CALIFICADO) == false) { sql += "'" + OBS_CALIFICADO + "', "; informacion += "OBS_CALIFICADO = '" + OBS_CALIFICADO + "', "; } else { sql += "null, "; informacion += "OBS_CALIFICADO = 'null', "; } if (PCL == true) { sql += "'True', "; informacion += "PCL = 'True', "; } else { sql += "'False', "; informacion += "PCL = 'False', "; } if (String.IsNullOrEmpty(OBS_PCL) == false) { sql += "'" + OBS_PCL + "', "; informacion += "OBS_PCL = '" + OBS_PCL + "', "; } else { sql += "null, "; informacion += "OBS_PCL = 'null', "; } if (APELO_PCL == true) { sql += "'True', "; informacion += "APELO_PCL = 'True', "; } else { sql += "'False', "; informacion += "APELO_PCL = 'False', "; } if (String.IsNullOrEmpty(OBS_APELO_PCL) == false) { sql += "'" + OBS_APELO_PCL + "', "; informacion += "OBS_APELO_PCL = '" + OBS_APELO_PCL + "', "; } else { sql += "null, "; informacion += "OBS_APELO_PCL = 'null', "; } if (LABORANDO == true) { sql += "'True', "; informacion += "LABORANDO = 'True', "; } else { sql += "'False', "; informacion += "LABORANDO = 'False', "; } if (String.IsNullOrEmpty(OBS_LABORANDO) == false) { sql += "'" + OBS_LABORANDO + "', "; informacion += "OBS_LABORANDO = '" + OBS_LABORANDO + "', "; } else { sql += "null, "; informacion += "OBS_LABORANDO = 'null', "; } if (REUBICADO == true) { sql += "'True', "; informacion += "REUBICADO = 'True', "; } else { sql += "'False', "; informacion += "REUBICADO = 'False', "; } if (REUBICADO_ORD_JUD == true) { sql += "'True', "; informacion += "REUBICADO_ORD_JUD = 'True', "; } else { sql += "'False', "; informacion += "REUBICADO_ORD_JUD = 'False', "; } if (String.IsNullOrEmpty(OBS_REUBICADO) == false) { sql += "'" + OBS_REUBICADO + "', "; informacion += "OBS_REUBICADO = '" + OBS_REUBICADO + "', "; } else { sql += "null, "; informacion += "OBS_REUBICADO = 'null', "; } if (REABILITADO == true) { sql += "'True', "; informacion += "REABILITADO = 'True', "; } else { sql += "'False', "; informacion += "REABILITADO = 'False', "; } if (String.IsNullOrEmpty(OBS_REABILITADO) == false) { sql += "'" + OBS_REABILITADO + "', "; informacion += "OBS_REABILITADO = '" + OBS_REABILITADO + "', "; } else { sql += "null, "; informacion += "OBS_REABILITADO = 'null', "; } if (INCAPACITADO == true) { sql += "'True', "; informacion += "INCAPACITADO = 'True', "; } else { sql += "'False', "; informacion += "INCAPACITADO = 'False', "; } if (String.IsNullOrEmpty(OBS_INCAPACITADO) == false) { sql += "'" + OBS_INCAPACITADO + "', "; informacion += "OBS_INCAPACITADO = '" + OBS_INCAPACITADO + "', "; } else { sql += "null, "; informacion += "OBS_INCAPACITADO = 'null', "; } if (RECOMENDACIONES == true) { sql += "'True', "; informacion += "RECOMENDACIONES = 'True', "; } else { sql += "'False', "; informacion += "RECOMENDACIONES = 'False', "; } if (FCH_RECOM_DESDE != new DateTime()) { sql += "'" + _tools.obtenerStringConFormatoFechaSQLServer(FCH_RECOM_DESDE) + "', "; informacion += "FCH_RECOM_DESDE = '" + FCH_RECOM_DESDE.ToShortDateString() + "', "; } else { sql += "null, "; informacion += "FCH_RECOM_DESDE = 'null', "; } if (FCH_RECOM_HASTA != new DateTime()) { sql += "'" + _tools.obtenerStringConFormatoFechaSQLServer(FCH_RECOM_HASTA) + "', "; informacion += "FCH_RECOM_HASTA = '" + FCH_RECOM_HASTA.ToShortDateString() + "', "; } else { sql += "null, "; informacion += "FCH_RECOM_HASTA = 'null', "; } if (String.IsNullOrEmpty(OBS_RECOMENDACIONES) == false) { sql += "'" + OBS_RECOMENDACIONES + "', "; informacion += "OBS_RECOMENDACIONES = '" + OBS_RECOMENDACIONES + "', "; } else { sql += "null, "; informacion += "OBS_RECOMENDACIONES = 'null', "; } if (String.IsNullOrEmpty(ACTITUD) == false) { sql += "'" + ACTITUD + "', "; informacion += "ACTITUD = '" + ACTITUD + "', "; } else { sql += "null, "; informacion += "ACTITUD = 'null', "; } sql += "'" + ESTADO_CASO.ToString() + "', "; informacion += "ESTADO_CASO = '" + ESTADO_CASO.ToString() + "', "; sql += "'" + Usuario + "', "; informacion += "USU_CRE = '" + Usuario.ToString() + "', "; if (ID_SOLICITUD != 0) { sql += ID_SOLICITUD; informacion += "ID_SOLICITUD = '" + ID_SOLICITUD + "'"; } else { MensajeError += "El campo ID_SOLICITUD no puede ser nulo\n"; ejecutar = false; } if (ejecutar) { try { ID_MAESTRA_CASO_SEVERO = Convert.ToDecimal(conexion.ExecuteScalar(sql)); #region auditoria auditoria _auditoria = new auditoria(Empresa); _auditoria.Adicionar(Usuario, tabla.PROG_SEGUIMIENTO_CASOS_SEVEROS, tabla.ACCION_ADICIONAR, sql, informacion, conexion); #endregion auditoria } catch (Exception e) { MensajeError = e.Message; ID_MAESTRA_CASO_SEVERO = 0; } } return ID_MAESTRA_CASO_SEVERO; }