Example #1
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;
        }
Example #2
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 #3
0
        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;
        }