Example #1
0
        public JSONCollection<TrabajadorInvolucradoJSON> AddTrabajadorInvolucrado(
            // Evento 
            int ID_EVENTO,
            int ID_EVENTO_EMPRESA,

            // Datos Trabajador 
            string RUT_TRABAJADOR,
            string NOMBRES,
            string APELLIDO_MATERNO,
            string APELLIDO_PATERNO,
            int ANOS_EXPERIENCIA_CARGO,
            int ANOS_EXPERIENCIA_LABORAL,
            int ID_CARGO,
            int ID_MATRIZ,
            bool IS_CTP,
            // Causa Inmediata Acción
            int[] CAUSA_INMEDIATA_ACCION,
            // Factores de la persona
            int[] CAUSA_LISTA_FACTORES_CAP_FISICA_INADECUADA,
            int[] CAUSA_LISTA_FACTORES_CAP_PSICOLOGICA_INADECUADA,
            int[] CAUSA_LISTA_FATORES_TENSION_FISICA,
            int[] CAUSA_LISTA_FATORES_TENSION_MENTAL,
            int[] CAUSA_LISTA_FATORES_FALTA_CONOCIMIETO,
            int[] CAUSA_LISTA_FATORES_FALTA_HABILIDAD,
            int[] CAUSA_LISTA_FATORES_MOTIVACION_INADECUADA,
            int[] CAUSA_LISTA_FATORES_AUTOCUIDADO,
            int[] CAUSA_LISTA_FACTORES_ERRORES
        )
        {
            JSONCollection<TrabajadorInvolucradoJSON> objJSON = new JSONCollection<TrabajadorInvolucradoJSON>();

            #region Si no viene la ID_EMPRESA , declaro por defecto ERBB
            int ID_EMPRESA = 1;

            #endregion

            TBL_EVENTO_EMPRESA existeEventoEmpresa = (from evento_empresa in bd.TBL_EVENTO_EMPRESA
                                                      where evento_empresa.ID_EVENTO_EMPRESA == ID_EVENTO_EMPRESA
                                                      select evento_empresa).Single<TBL_EVENTO_EMPRESA>();

            #region Busco si existe un trabajador en el sistema, osino lo creo
            TBL_TRABAJADOR nuevoTrabajador = null;
            try
            {
                nuevoTrabajador = (from trabajador in bd.TBL_TRABAJADOR
                                   where trabajador.RUT_TRABAJADOR == RUT_TRABAJADOR
                                   select trabajador).Single<TBL_TRABAJADOR>();
            }
            catch (Exception ex) { }
            if (nuevoTrabajador == null)
            {
                nuevoTrabajador = new TBL_TRABAJADOR()
                {
                    RUT_TRABAJADOR = RUT_TRABAJADOR,
                    NOMBRES = NOMBRES,
                    APELLIDO_MATERNO = APELLIDO_MATERNO,
                    APELLIDO_PATERNO = APELLIDO_PATERNO,
                    ANOS_EXPERIENCIA_CARGO = ANOS_EXPERIENCIA_CARGO,
                    ID_CARGO = ID_CARGO,
                    ANOS_EXPERIENCIA_LABORAL = ANOS_EXPERIENCIA_LABORAL
                };
                bd.TBL_TRABAJADOR.InsertOnSubmit(nuevoTrabajador);
                bd.SubmitChanges();
            }
            #endregion

            #region Busco si existe un trabajador en un evento trabajador, osino lo creo
            TBL_EVENTO_TRABAJADOR existeEventoTrabajador = null;
            try
            {
                existeEventoTrabajador = (from evento_trabajador in bd.TBL_EVENTO_TRABAJADOR
                                          where evento_trabajador.ID_TRABAJADOR == nuevoTrabajador.ID_TRABAJADOR && evento_trabajador.ID_EVENTO_EMPRESA == existeEventoEmpresa.ID_EVENTO_EMPRESA
                                          select evento_trabajador).Single<TBL_EVENTO_TRABAJADOR>();
            }
            catch (Exception ex) { }
            if (existeEventoTrabajador == null)
            {
                existeEventoTrabajador = new TBL_EVENTO_TRABAJADOR()
                {
                    ID_EVENTO_EMPRESA = existeEventoEmpresa.ID_EVENTO_EMPRESA,
                    ID_TRABAJADOR = nuevoTrabajador.ID_TRABAJADOR,
                    IS_CTP = IS_CTP
                };
                if (ID_MATRIZ != null && ID_MATRIZ > 0)
                {
                    existeEventoTrabajador.ID_MATRIZ = ID_MATRIZ;
                }
                bd.TBL_EVENTO_TRABAJADOR.InsertOnSubmit(existeEventoTrabajador);
                bd.SubmitChanges();
            }
            #endregion

            #region [CAUSA_INMEDIATA_ACCION] Elimino todos las causas inmediatas del informe preliminar y agrego las nuevas
            try
            {
                var causaInmediata = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                      join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                      where variable.ID_EVENTO_TRABAJADOR == existeEventoTrabajador.ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_ACCION
                                      select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(causaInmediata);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }
            foreach (int idCausaInmediata in CAUSA_INMEDIATA_ACCION)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = existeEventoTrabajador.ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FACTORES_CAP_FISICA_INADECUADA] Elimino todos las causas de  Capaciadad fisica inadecuada del informe preliminar y agrego las nuevas
            try
            {
                var capFisicaInadecuada = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                           join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                           where variable.ID_EVENTO_TRABAJADOR == existeEventoTrabajador.ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_CAP_FISICA_INADECUADA
                                           select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(capFisicaInadecuada);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }
            foreach (int idCausaInmediata in CAUSA_LISTA_FACTORES_CAP_FISICA_INADECUADA)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = existeEventoTrabajador.ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FACTORES_CAP_PSICOLOGICA_INADECUADA] Elimino todos las causas de  Capaciadad psicologica inadecuada del informe preliminar y agrego las nuevas
            try
            {
                var cappsicologicaInadecuada = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                                join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                                where variable.ID_EVENTO_TRABAJADOR == existeEventoTrabajador.ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_CAP_PSICOLOGICA_INADECUADA
                                                select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(cappsicologicaInadecuada);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in CAUSA_LISTA_FACTORES_CAP_PSICOLOGICA_INADECUADA)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = existeEventoTrabajador.ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FATORES_TENSION_FISICA] Elimino todos las causas de TENSIÓN FISICA inadecuada del informe preliminar y agrego las nuevas
            try
            {
                var capMental = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                 join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                 where variable.ID_EVENTO_TRABAJADOR == existeEventoTrabajador.ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_TENSION_MENTAL
                                 select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(capMental);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in CAUSA_LISTA_FATORES_TENSION_FISICA)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = existeEventoTrabajador.ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FATORES_TENSION_MENTAL] Elimino todos las causas de  tensión mental del informe preliminar y agrego las nuevas
            try
            {
                var tensionMental = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                     join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                     where variable.ID_EVENTO_TRABAJADOR == existeEventoTrabajador.ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_TENSION_MENTAL
                                     select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(tensionMental);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in CAUSA_LISTA_FATORES_TENSION_MENTAL)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = existeEventoTrabajador.ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FATORES_FALTA_CONOCIMIETO] Elimino todos las causas de  falta de conocimiento del informe preliminar y agrego las nuevas
            try
            {
                var faltaConocimiento = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                         join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                         where variable.ID_EVENTO_TRABAJADOR == existeEventoTrabajador.ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_FALTA_CONOCIMIENTO
                                         select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(faltaConocimiento);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in CAUSA_LISTA_FATORES_FALTA_CONOCIMIETO)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = existeEventoTrabajador.ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FATORES_FALTA_HABILIDAD] Elimino todos las causas de  falta de habilidad del informe preliminar y agrego las nuevas
            try
            {
                var faltaHabilidad = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                      join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                      where variable.ID_EVENTO_TRABAJADOR == existeEventoTrabajador.ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_FALTA_HABILIDAD
                                      select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(faltaHabilidad);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in CAUSA_LISTA_FATORES_FALTA_HABILIDAD)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = existeEventoTrabajador.ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FATORES_MOTIVACION_INADECUADA] Elimino todos las causas de motivacion inadecuada del informe preliminar y agrego las nuevas
            try
            {
                var motivacionInadecuada = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                            join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                            where variable.ID_EVENTO_TRABAJADOR == existeEventoTrabajador.ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_MOTIVACION_INADECUADA
                                            select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(motivacionInadecuada);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in CAUSA_LISTA_FATORES_MOTIVACION_INADECUADA)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = existeEventoTrabajador.ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FATORES_AUTOCUIDADO] Elimino todos las causas de autocuidado del informe preliminar y agrego las nuevas
            try
            {
                var autoCuidado = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                   join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                   where variable.ID_EVENTO_TRABAJADOR == existeEventoTrabajador.ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_AUTO_CUIDADO
                                   select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(autoCuidado);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in CAUSA_LISTA_FATORES_AUTOCUIDADO)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = existeEventoTrabajador.ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FACTORES_ERRORES] Elimino todos las causas de errores del informe preliminar y agrego las nuevas
            try
            {
                var errores = (from variable in bd.TBL_CAUSA_TRABAJADOR
                               join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                               where variable.ID_EVENTO_TRABAJADOR == existeEventoTrabajador.ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_ERRORES
                               select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(errores);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in CAUSA_LISTA_FACTORES_ERRORES)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = existeEventoTrabajador.ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion

            TrabajadorInvolucradoJSON trabajadorInvolucrado = new TrabajadorInvolucradoJSON()
            {
                ID_EVENTO_EMPRESA = (int)existeEventoTrabajador.ID_EVENTO_EMPRESA,
                ID_EVENTO_TRABAJADOR = existeEventoTrabajador.ID_EVENTO_TRABAJADOR,
                RUT_TRABAJADOR = RUT_TRABAJADOR,
                NOMBRES = NOMBRES,
                APELLIDO_PATERNO =APELLIDO_PATERNO,
                APELLIDO_MATERNO = APELLIDO_MATERNO,
                ANOS_EXPERIENCIA_LABORAL = (int)ANOS_EXPERIENCIA_LABORAL,
                ANOS_EXPERIENCIA_CARGO = ANOS_EXPERIENCIA_CARGO,
                ID_CARGO = ID_CARGO,
                IS_CTP = IS_CTP,
                CAUSA_INMEDIATA_ACCION = CAUSA_INMEDIATA_ACCION,
                CAUSA_LISTA_FACTORES_CAP_FISICA_INADECUADA = CAUSA_LISTA_FACTORES_CAP_FISICA_INADECUADA,
                CAUSA_LISTA_FACTORES_CAP_PSICOLOGICA_INADECUADA = CAUSA_LISTA_FACTORES_CAP_PSICOLOGICA_INADECUADA,
                CAUSA_LISTA_FATORES_TENSION_FISICA = CAUSA_LISTA_FATORES_TENSION_FISICA,
                CAUSA_LISTA_FATORES_TENSION_MENTAL = CAUSA_LISTA_FATORES_TENSION_MENTAL,
                CAUSA_LISTA_FATORES_FALTA_CONOCIMIETO = CAUSA_LISTA_FATORES_FALTA_CONOCIMIETO,
                CAUSA_LISTA_FATORES_FALTA_HABILIDAD = CAUSA_LISTA_FATORES_FALTA_HABILIDAD,
                CAUSA_LISTA_FATORES_MOTIVACION_INADECUADA = CAUSA_LISTA_FATORES_MOTIVACION_INADECUADA,
                CAUSA_LISTA_FATORES_AUTOCUIDADO = CAUSA_LISTA_FATORES_AUTOCUIDADO,
                CAUSA_LISTA_FACTORES_ERRORES = CAUSA_LISTA_FACTORES_ERRORES
            };
            if (ID_MATRIZ != null && ID_MATRIZ != 0)
            {
                trabajadorInvolucrado.ID_MATRIZ = ID_MATRIZ;
            }
            objJSON.items = trabajadorInvolucrado;
            objJSON.totalCount = 1;
            objJSON.success = true;
            return objJSON;
        }
Example #2
0
        public JSONCollection<TrabajadorInvolucradoJSON> UpdateTrabajadorInvolucrado(string _ID_EVENTO_TRABAJADOR,TrabajadorInvolucradoJSON updateTrabajador)
        {
            JSONCollection<TrabajadorInvolucradoJSON> objJSON = new JSONCollection<TrabajadorInvolucradoJSON>();
            try
            {
                int ID_EVENTO_TRABAJADOR = int.Parse(_ID_EVENTO_TRABAJADOR);
                var objetoEventoTrabajador = (from eventoTrabajador in bd.TBL_EVENTO_TRABAJADOR
                                                where eventoTrabajador.ID_EVENTO_TRABAJADOR == ID_EVENTO_TRABAJADOR
                                                select eventoTrabajador).Single();
                objetoEventoTrabajador.IS_CTP = updateTrabajador.IS_CTP;
                if (updateTrabajador.ID_MATRIZ != null && updateTrabajador.ID_MATRIZ != 0)
                {
                    objetoEventoTrabajador.ID_MATRIZ = updateTrabajador.ID_MATRIZ;
                }
                var objetoTrabajador = (from trabajador in bd.TBL_TRABAJADOR
                                        join eventoTrabajador in bd.TBL_EVENTO_TRABAJADOR on trabajador.ID_TRABAJADOR equals eventoTrabajador.ID_EVENTO_TRABAJADOR
                                        where eventoTrabajador.ID_EVENTO_TRABAJADOR == ID_EVENTO_TRABAJADOR
                                        select trabajador).Single();
                objetoTrabajador.NOMBRES = updateTrabajador.NOMBRES;
                objetoTrabajador.APELLIDO_PATERNO = updateTrabajador.APELLIDO_PATERNO;
                objetoTrabajador.APELLIDO_MATERNO = updateTrabajador.APELLIDO_MATERNO;
                objetoTrabajador.ID_CARGO = updateTrabajador.ID_CARGO;
                objetoTrabajador.ANOS_EXPERIENCIA_LABORAL = updateTrabajador.ANOS_EXPERIENCIA_LABORAL;
                objetoTrabajador.ANOS_EXPERIENCIA_CARGO = updateTrabajador.ANOS_EXPERIENCIA_CARGO;
                try
            {
                var causaInmediata = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                      join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                      where variable.ID_EVENTO_TRABAJADOR == ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_ACCION
                                      select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(causaInmediata);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }
            foreach (int idCausaInmediata in updateTrabajador.CAUSA_INMEDIATA_ACCION)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #region [CAUSA_LISTA_FACTORES_CAP_FISICA_INADECUADA] Elimino todos las causas de  Capaciadad fisica inadecuada del informe preliminar y agrego las nuevas
            try
            {
                var capFisicaInadecuada = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                           join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                           where variable.ID_EVENTO_TRABAJADOR == ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_CAP_FISICA_INADECUADA
                                           select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(capFisicaInadecuada);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }
            foreach (int idCausaInmediata in updateTrabajador.CAUSA_LISTA_FACTORES_CAP_FISICA_INADECUADA)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FACTORES_CAP_PSICOLOGICA_INADECUADA] Elimino todos las causas de  Capaciadad psicologica inadecuada del informe preliminar y agrego las nuevas
            try
            {
                var cappsicologicaInadecuada = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                                join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                                where variable.ID_EVENTO_TRABAJADOR == ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_CAP_PSICOLOGICA_INADECUADA
                                                select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(cappsicologicaInadecuada);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in updateTrabajador.CAUSA_LISTA_FACTORES_CAP_PSICOLOGICA_INADECUADA)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FATORES_TENSION_FISICA] Elimino todos las causas de TENSIÓN FISICA inadecuada del informe preliminar y agrego las nuevas
            try
            {
                var capMental = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                 join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                 where variable.ID_EVENTO_TRABAJADOR == ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_TENSION_MENTAL
                                 select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(capMental);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in updateTrabajador.CAUSA_LISTA_FATORES_TENSION_FISICA)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FATORES_TENSION_MENTAL] Elimino todos las causas de  tensión mental del informe preliminar y agrego las nuevas
            try
            {
                var tensionMental = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                     join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                     where variable.ID_EVENTO_TRABAJADOR == ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_TENSION_MENTAL
                                     select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(tensionMental);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in updateTrabajador.CAUSA_LISTA_FATORES_TENSION_MENTAL)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FATORES_FALTA_CONOCIMIETO] Elimino todos las causas de  falta de conocimiento del informe preliminar y agrego las nuevas
            try
            {
                var faltaConocimiento = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                         join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                         where variable.ID_EVENTO_TRABAJADOR == ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_FALTA_CONOCIMIENTO
                                         select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(faltaConocimiento);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in updateTrabajador.CAUSA_LISTA_FATORES_FALTA_CONOCIMIETO)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FATORES_FALTA_HABILIDAD] Elimino todos las causas de  falta de habilidad del informe preliminar y agrego las nuevas
            try
            {
                var faltaHabilidad = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                      join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                      where variable.ID_EVENTO_TRABAJADOR == ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_FALTA_HABILIDAD
                                      select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(faltaHabilidad);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in updateTrabajador.CAUSA_LISTA_FATORES_FALTA_HABILIDAD)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FATORES_MOTIVACION_INADECUADA] Elimino todos las causas de motivacion inadecuada del informe preliminar y agrego las nuevas
            try
            {
                var motivacionInadecuada = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                            join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                            where variable.ID_EVENTO_TRABAJADOR == ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_MOTIVACION_INADECUADA
                                            select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(motivacionInadecuada);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in updateTrabajador.CAUSA_LISTA_FATORES_MOTIVACION_INADECUADA)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FATORES_AUTOCUIDADO] Elimino todos las causas de autocuidado del informe preliminar y agrego las nuevas
            try
            {
                var autoCuidado = (from variable in bd.TBL_CAUSA_TRABAJADOR
                                   join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                                   where variable.ID_EVENTO_TRABAJADOR == ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_AUTO_CUIDADO
                                   select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(autoCuidado);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in updateTrabajador.CAUSA_LISTA_FATORES_AUTOCUIDADO)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            #region [CAUSA_LISTA_FACTORES_ERRORES] Elimino todos las causas de errores del informe preliminar y agrego las nuevas
            try
            {
                var errores = (from variable in bd.TBL_CAUSA_TRABAJADOR
                               join causa in bd.TBL_CAUSA on variable.ID_CAUSA equals causa.ID_CAUSA
                               where variable.ID_EVENTO_TRABAJADOR == ID_EVENTO_TRABAJADOR && causa.TIPO_CAUSA == e0063.CAUSA_ERRORES
                               select variable).ToList();
                bd.TBL_CAUSA_TRABAJADOR.DeleteAllOnSubmit(errores);
                bd.SubmitChanges();
            }
            catch (Exception ex) { }

            foreach (int idCausaInmediata in updateTrabajador.CAUSA_LISTA_FACTORES_ERRORES)
            {
                TBL_CAUSA_TRABAJADOR nuevaCausaInmediata = new TBL_CAUSA_TRABAJADOR()
                {
                    ID_EVENTO_TRABAJADOR = ID_EVENTO_TRABAJADOR,
                    ID_CAUSA = idCausaInmediata
                };
                bd.TBL_CAUSA_TRABAJADOR.InsertOnSubmit(nuevaCausaInmediata);
                bd.SubmitChanges();
            }
            #endregion
            }
            catch (Exception ex) { }

            objJSON.items = updateTrabajador;
            objJSON.totalCount = 1;
            objJSON.success = true;
            return objJSON;
        }