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; }
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; }
public JSONCollection<List<TrabajadorInvolucradoJSON>> GetTrabajadores( int _page, int _start, int _limit, string _sort, int ID_EVENTO_EMPRESA, int ID_TRABAJADOR) { JSONCollection<List<TrabajadorInvolucradoJSON>> objJSON = new JSONCollection<List<TrabajadorInvolucradoJSON>>(); ExtJSSort sort = null; if (_sort != null) { JavaScriptSerializer ser = new JavaScriptSerializer(); sort = ser.Deserialize<ExtJSSort>(_sort.Replace("[", "").Replace("]", "")); } if (sort != null && sort.direction == null) { sort.direction = "DESC"; } if (_page == 0) { _page = 1; } if (_limit == 0) { _limit = 10; } _start = (_page * _limit) - _limit; var resultTrabajador = (from et in bd.TBL_EVENTO_TRABAJADOR join tr in bd.TBL_TRABAJADOR on et.ID_TRABAJADOR equals tr.ID_TRABAJADOR where et.ID_EVENTO_EMPRESA == ID_EVENTO_EMPRESA orderby tr.RUT_TRABAJADOR ascending select new { et.ID_EVENTO_EMPRESA, et.ID_EVENTO_TRABAJADOR, tr.ID_TRABAJADOR, tr.RUT_TRABAJADOR, tr.NOMBRES, tr.APELLIDO_PATERNO, tr.APELLIDO_MATERNO, tr.ANOS_EXPERIENCIA_LABORAL, tr.ANOS_EXPERIENCIA_CARGO, tr.ID_CARGO, et.IS_CTP, et.ID_MATRIZ }).Skip(_start).Take(_limit); List<TrabajadorInvolucradoJSON> trabajadores = new List<TrabajadorInvolucradoJSON>(); foreach (var trabajador in resultTrabajador) { TrabajadorInvolucradoJSON trabajadorInvolucrado = new TrabajadorInvolucradoJSON() { RUT_TRABAJADOR = trabajador.RUT_TRABAJADOR, NOMBRES = trabajador.NOMBRES, APELLIDO_PATERNO = trabajador.APELLIDO_PATERNO, APELLIDO_MATERNO = trabajador.APELLIDO_MATERNO, ANOS_EXPERIENCIA_LABORAL = (int)trabajador.ANOS_EXPERIENCIA_LABORAL, ANOS_EXPERIENCIA_CARGO = (int)trabajador.ANOS_EXPERIENCIA_CARGO, ID_CARGO = (int)trabajador.ID_CARGO, IS_CTP = ((trabajador.IS_CTP == null) ? false : (bool)trabajador.IS_CTP) }; if(trabajador.ID_MATRIZ != null && trabajador.ID_MATRIZ > 0){ trabajadorInvolucrado.ID_MATRIZ = (int)trabajador.ID_MATRIZ; } trabajadorInvolucrado.ID_EVENTO_TRABAJADOR = trabajador.ID_EVENTO_TRABAJADOR; trabajadorInvolucrado.ID_EVENTO_EMPRESA = (int)trabajador.ID_EVENTO_EMPRESA; var resultsCausas = (from ct in bd.TBL_CAUSA_TRABAJADOR join et in bd.TBL_EVENTO_TRABAJADOR on ct.ID_EVENTO_TRABAJADOR equals et.ID_EVENTO_TRABAJADOR join ca in bd.TBL_CAUSA on ct.ID_CAUSA equals ca.ID_CAUSA where et.ID_TRABAJADOR == trabajador.ID_TRABAJADOR orderby ca.TIPO_CAUSA ascending select ca).ToList(); List<int> acciones = new List<int>(); List<int> capFisicaInadecuada = new List<int>(); List<int> capPsicologicaInadecuada = new List<int>(); List<int> tensionFisicaFisiologica = new List<int>(); List<int> tensionMentalSicologica = new List<int>(); List<int> faltaConocimiento = new List<int>(); List<int> faltaHabilidad = new List<int>(); List<int> motivacionDeficiente = new List<int>(); List<int> autoCuidado = new List<int>(); List<int> errores = new List<int>(); foreach (TBL_CAUSA causa in resultsCausas) { if (causa.TIPO_CAUSA == e0063.CAUSA_ACCION) { acciones.Add(causa.ID_CAUSA); } else if (causa.TIPO_CAUSA == e0063.CAUSA_CAP_FISICA_INADECUADA) { capFisicaInadecuada.Add(causa.ID_CAUSA); } else if (causa.TIPO_CAUSA == e0063.CAUSA_CAP_PSICOLOGICA_INADECUADA) { capPsicologicaInadecuada.Add(causa.ID_CAUSA); } else if (causa.TIPO_CAUSA == e0063.CAUSA_TENSION_FISICA) { tensionFisicaFisiologica.Add(causa.ID_CAUSA); } else if (causa.TIPO_CAUSA == e0063.CAUSA_TENSION_MENTAL) { tensionMentalSicologica.Add(causa.ID_CAUSA); } else if (causa.TIPO_CAUSA == e0063.CAUSA_FALTA_CONOCIMIENTO) { faltaConocimiento.Add(causa.ID_CAUSA); } else if (causa.TIPO_CAUSA == e0063.CAUSA_FALTA_HABILIDAD) { faltaHabilidad.Add(causa.ID_CAUSA); } else if (causa.TIPO_CAUSA == e0063.CAUSA_MOTIVACION_INADECUADA) { motivacionDeficiente.Add(causa.ID_CAUSA); } else if (causa.TIPO_CAUSA == e0063.CAUSA_AUTO_CUIDADO) { autoCuidado.Add(causa.ID_CAUSA); } else if (causa.TIPO_CAUSA == e0063.CAUSA_ERRORES) { errores.Add(causa.ID_CAUSA); } } trabajadorInvolucrado.CAUSA_INMEDIATA_ACCION = acciones.ToArray(); trabajadorInvolucrado.CAUSA_LISTA_FACTORES_CAP_FISICA_INADECUADA = capFisicaInadecuada.ToArray(); trabajadorInvolucrado.CAUSA_LISTA_FACTORES_CAP_PSICOLOGICA_INADECUADA = capPsicologicaInadecuada.ToArray(); trabajadorInvolucrado.CAUSA_LISTA_FATORES_TENSION_FISICA = tensionFisicaFisiologica.ToArray(); trabajadorInvolucrado.CAUSA_LISTA_FATORES_TENSION_MENTAL = tensionMentalSicologica.ToArray(); trabajadorInvolucrado.CAUSA_LISTA_FATORES_FALTA_CONOCIMIETO = faltaConocimiento.ToArray(); trabajadorInvolucrado.CAUSA_LISTA_FATORES_FALTA_HABILIDAD = faltaHabilidad.ToArray(); trabajadorInvolucrado.CAUSA_LISTA_FATORES_MOTIVACION_INADECUADA = motivacionDeficiente.ToArray(); trabajadorInvolucrado.CAUSA_LISTA_FATORES_AUTOCUIDADO = autoCuidado.ToArray(); trabajadorInvolucrado.CAUSA_LISTA_FACTORES_ERRORES = errores.ToArray(); trabajadores.Add(trabajadorInvolucrado); } objJSON.items = trabajadores; objJSON.totalCount = objJSON.items.Count; objJSON.success = true; //} catch (Exception ex) { objJSON.success = false; } return objJSON; }