public async Task <IActionResult> Create(IndiceOcupacional indiceOcupacional)
        {
            Response response = new Response();

            try
            {
                if (ModelState.IsValid)
                {
                    if (indiceOcupacional.Nivel == "0")
                    {
                        indiceOcupacional.Nivel = Constantes.NivelProfesional;
                    }
                    else
                    {
                        indiceOcupacional.Nivel = Constantes.NivelNoProfesional;
                    }
                    response = await apiServicio.InsertarAsync(indiceOcupacional,
                                                               new Uri(WebApp.BaseAddress),
                                                               "api/IndicesOcupacionales/InsertarIndiceOcupacional");

                    if (response.IsSuccess)
                    {
                        var responseLog = await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                        {
                            ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                            ExceptionTrace       = null,
                            Message              = "Se ha creado un indice ocupacional",
                            UserName             = "******",
                            LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                            LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                            EntityID             = string.Format("{0} {1}", "Indice Ocupacional:", indiceOcupacional.IdIndiceOcupacional),
                        });

                        return(RedirectToAction("Index"));
                    }
                }
                await CargarListaCombox();

                InicializarMensaje(response.Message);
                var indiceDetalle = new IndiceOcupacionalDetalle {
                    IndiceOcupacional = indiceOcupacional
                };
                return(View(indiceDetalle));
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Creando un Indice ocupacional ",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }
        public async Task <IActionResult> Detalles(int id)
        {
            var indiceOcupacional = new IndiceOcupacional
            {
                IdIndiceOcupacional = id,
            };

            var IndiOcupacionalDetalle = new IndiceOcupacionalDetalle
            {
                IndiceOcupacional = indiceOcupacional,
            };

            var indiceOcupacionalDetalle = await apiServicio.ObtenerElementoAsync1 <IndiceOcupacionalDetalle>(IndiOcupacionalDetalle, new Uri(WebApp.BaseAddress), "api/IndicesOcupacionales/DetalleIndiceOcupacional");

            return(View(indiceOcupacionalDetalle));
        }
        public async Task <IActionResult> Create(IndiceOcupacionalModalidadPartida indiceOcupacionalModalidadPartida)
        {
            Response response = new Response();

            try
            {
                if (indiceOcupacionalModalidadPartida.IndiceOcupacional.Nivel == "0")
                {
                    indiceOcupacionalModalidadPartida.IndiceOcupacional.Nivel = Constantes.NivelProfesional;
                }
                else
                {
                    indiceOcupacionalModalidadPartida.IndiceOcupacional.Nivel = Constantes.NivelNoProfesional;
                }


                response = await apiServicio.InsertarAsync(
                    indiceOcupacionalModalidadPartida.IndiceOcupacional,
                    new Uri(WebApp.BaseAddress),
                    "api/IndicesOcupacionales/InsertarIndiceOcupacional"
                    );

                if (response.IsSuccess)
                {
                    return(RedirectToAction("Index"));
                }


                await CargarListaCombox();

                this.TempData["MensajeTimer"] = $"{Mensaje.Error}|{response.Message}|{"10000"}";


                var indiceDetalle = new IndiceOcupacionalDetalle
                {
                    IndiceOcupacionalModalidadPartida = indiceOcupacionalModalidadPartida
                };

                return(View(indiceDetalle));
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
Beispiel #4
0
        public async Task <IndiceOcupacionalDetalle> DetalleIndiceOcupacional([FromBody] IndiceOcupacionalDetalle indiceOcupacionalDetalle)
        {
            try
            {
                //public IndiceOcupacional IndiceOcupacional { get; set; }



                //public List<ComportamientoObservable> ListaComportamientoObservables { get; set; }

                var IndiceOcupacional1 = await db.IndiceOcupacional.Where(x => x.IdIndiceOcupacional == indiceOcupacionalDetalle.IndiceOcupacional.IdIndiceOcupacional)
                                         .Include(x => x.Dependencia)
                                         .Include(x => x.ManualPuesto)
                                         .Include(x => x.RolPuesto)
                                         .Include(x => x.EscalaGrados.GrupoOcupacional)
                                         .FirstOrDefaultAsync();



                //var ListaExperienciaLaboralRequeridas = await db.ExperienciaLaboralRequerida.Where(x => x.IdIndiceOcupacionalCapacitaciones == indiceOcupacionalDetalle.IndiceOcupacional.IdIndiceOcupacional).Include(x => x.IdExperienciaLaboralRequerida).ToListAsync();

                var ListaExperienciaLaboralRequeridas = await db.IndiceOcupacionalExperienciaLaboralRequerida
                                                        .Join(db.IndiceOcupacional
                                                              , rta => rta.IdIndiceOcupacional, ind => ind.IdIndiceOcupacional,
                                                              (rta, ind) => new { hm = rta, gh = ind })
                                                        .Join(db.ExperienciaLaboralRequerida
                                                              , ind_1 => ind_1.hm.ExperienciaLaboralRequerida.IdExperienciaLaboralRequerida, valor => valor.IdExperienciaLaboralRequerida,
                                                              (ind_1, valor) => new { ca = ind_1, rt = valor })
                                                        .Where(ds => ds.ca.hm.IdIndiceOcupacional == indiceOcupacionalDetalle.IndiceOcupacional.IdIndiceOcupacional)
                                                        .Select(t => new ExperienciaLaboralRequerida
                {
                    IdExperienciaLaboralRequerida = t.rt.IdExperienciaLaboralRequerida,
                    Estudio                  = t.rt.Estudio,
                    AnoExperiencia           = t.rt.AnoExperiencia,
                    EspecificidadExperiencia = t.rt.EspecificidadExperiencia,
                })
                                                        .ToListAsync();



                var ListaRelacionesInternasExternas = await db.RelacionesInternasExternasIndiceOcupacional
                                                      .Join(db.IndiceOcupacional
                                                            , rta => rta.IdIndiceOcupacional, ind => ind.IdIndiceOcupacional,
                                                            (rta, ind) => new { hm = rta, gh = ind })
                                                      .Join(db.RelacionesInternasExternas
                                                            , ind_1 => ind_1.hm.RelacionesInternasExternas.IdRelacionesInternasExternas, valor => valor.IdRelacionesInternasExternas,
                                                            (ind_1, valor) => new { ca = ind_1, rt = valor })
                                                      .Where(ds => ds.ca.hm.IdIndiceOcupacional == indiceOcupacionalDetalle.IndiceOcupacional.IdIndiceOcupacional)
                                                      .Select(t => new RelacionesInternasExternas
                {
                    IdRelacionesInternasExternas = t.rt.IdRelacionesInternasExternas,
                    Descripcion = t.rt.Descripcion,
                })
                                                      .ToListAsync();



                var listaAreasConocimiento = await db.IndiceOcupacionalAreaConocimiento
                                             .Join(db.IndiceOcupacional
                                                   , rta => rta.IdIndiceOcupacional, ind => ind.IdIndiceOcupacional,
                                                   (rta, ind) => new { hm = rta, gh = ind })
                                             .Join(db.AreaConocimiento
                                                   , ind_1 => ind_1.hm.AreaConocimiento.IdAreaConocimiento, valor => valor.IdAreaConocimiento,
                                                   (ind_1, valor) => new { ca = ind_1, rt = valor })
                                             .Where(ds => ds.ca.hm.IdIndiceOcupacional == indiceOcupacionalDetalle.IndiceOcupacional.IdIndiceOcupacional)
                                             .Select(t => new AreaConocimiento
                {
                    IdAreaConocimiento = t.rt.IdAreaConocimiento,
                    Descripcion        = t.rt.Descripcion,
                })
                                             .ToListAsync();



                var listaMisiones = await db.MisionIndiceOcupacional
                                    .Join(db.IndiceOcupacional
                                          , rta => rta.IdIndiceOcupacional, ind => ind.IdIndiceOcupacional,
                                          (rta, ind) => new { hm = rta, gh = ind })
                                    .Join(db.Mision
                                          , ind_1 => ind_1.hm.Mision.IdMision, valor => valor.IdMision,
                                          (ind_1, valor) => new { ca = ind_1, rt = valor })
                                    .Where(ds => ds.ca.hm.IdIndiceOcupacional == indiceOcupacionalDetalle.IndiceOcupacional.IdIndiceOcupacional)
                                    .Select(t => new Mision
                {
                    IdMision    = t.rt.IdMision,
                    Descripcion = t.rt.Descripcion,
                })
                                    .ToListAsync();


                var ListaEstudios = await db.IndiceOcupacionalEstudio
                                    .Join(db.IndiceOcupacional
                                          , rta => rta.IdIndiceOcupacional, ind => ind.IdIndiceOcupacional,
                                          (rta, ind) => new { hm = rta, gh = ind })
                                    .Join(db.Estudio
                                          , ind_1 => ind_1.hm.Estudio.IdEstudio, valor => valor.IdEstudio,
                                          (ind_1, valor) => new { ca = ind_1, rt = valor })
                                    .Where(ds => ds.ca.hm.IdIndiceOcupacional == indiceOcupacionalDetalle.IndiceOcupacional.IdIndiceOcupacional)
                                    .Select(t => new Estudio
                {
                    IdEstudio = t.rt.IdEstudio,
                    Nombre    = t.rt.Nombre,
                })
                                    .ToListAsync();



                var ListaCapacitaciones = await db.IndiceOcupacionalCapacitaciones
                                          .Join(db.IndiceOcupacional
                                                , indiceCapacitaciones => indiceCapacitaciones.IdIndiceOcupacional, indice => indice.IdIndiceOcupacional,
                                                (indiceActEsenciales, indice) => new { IndiceOcupacionalActividadesEsenciales = indiceActEsenciales, IndiceOcupacional = indice })
                                          .Join(db.Capacitacion
                                                , indice_1 => indice_1.IndiceOcupacionalActividadesEsenciales.IdCapacitacion, capacitacion => capacitacion.IdCapacitacion,
                                                (indice_1, capacitacion) => new { ca = indice_1, rt = capacitacion })
                                          .Where(ds => ds.ca.IndiceOcupacional.IdIndiceOcupacional == indiceOcupacionalDetalle.IndiceOcupacional.IdIndiceOcupacional)
                                          .Select(t => new Capacitacion
                {
                    IdCapacitacion = t.rt.IdCapacitacion,
                    Nombre         = t.rt.Nombre,
                })
                                          .ToListAsync();



                //Seleccionar Actividades esenciales......

                var listaActividadesEsenciales = await db.IndiceOcupacionalActividadesEsenciales
                                                 .Join(db.IndiceOcupacional
                                                       , indice => indice.IdIndiceOcupacional, ocupacional => ocupacional.IdIndiceOcupacional,
                                                       (indice, ocupacional) => new { IndiceOcupacionalActividadesEsenciales = indice, IndiceOcupacional = ocupacional })
                                                 .Join(db.ActividadesEsenciales
                                                       , indice1 => indice1.IndiceOcupacionalActividadesEsenciales.IdActividadesEsenciales, a => a.IdActividadesEsenciales,
                                                       (indice1, a) => new { z = indice1, s = a })
                                                 .Where(ds => ds.z.IndiceOcupacional.IdIndiceOcupacional == indiceOcupacionalDetalle.IndiceOcupacional.IdIndiceOcupacional)
                                                 .Select(t => new ActividadesEsenciales
                {
                    IdActividadesEsenciales = t.s.IdActividadesEsenciales,
                    Descripcion             = t.s.Descripcion,
                })
                                                 .ToListAsync();



                var ListaConocimientosAdicionales = await db.IndiceOcupacionalConocimientosAdicionales
                                                    .Join(db.IndiceOcupacional
                                                          , indiceConocimiento => indiceConocimiento.IdIndiceOcupacional, indice => indice.IdIndiceOcupacional,
                                                          (indiceConocimiento, indice) => new { IndiceOcupacionalConocimientosAdicionales = indiceConocimiento, IndiceOcupacional = indice })
                                                    .Join(db.ConocimientosAdicionales
                                                          , indice_1 => indice_1.IndiceOcupacionalConocimientosAdicionales.IdConocimientosAdicionales, conocimientoAdicional => conocimientoAdicional.IdConocimientosAdicionales,
                                                          (indice_1, conocimientoAdicional) => new { ca = indice_1, io = conocimientoAdicional })
                                                    .Where(ds => ds.ca.IndiceOcupacional.IdIndiceOcupacional == indiceOcupacionalDetalle.IndiceOcupacional.IdIndiceOcupacional)
                                                    .Select(t => new ConocimientosAdicionales
                {
                    IdConocimientosAdicionales = t.io.IdConocimientosAdicionales,
                    Descripcion = t.io.Descripcion,
                })
                                                    .ToListAsync();

                var ListaComportamientoObservables = await db.IndiceOcupacionalComportamientoObservable
                                                     .Join(db.IndiceOcupacional
                                                           , indiceComportamiento => indiceComportamiento.IdIndiceOcupacional, indice => indice.IdIndiceOcupacional,
                                                           (indiceConocimiento, indice) => new { IndiceOcupacionalComportamientoObservable = indiceConocimiento, IndiceOcupacional = indice })
                                                     .Join(db.ComportamientoObservable
                                                           , indice_1 => indice_1.IndiceOcupacionalComportamientoObservable.IdComportamientoObservable, comportamientoObservable => comportamientoObservable.IdComportamientoObservable,
                                                           (indice_1, comportamientoObservable) => new { ca = indice_1, rt = comportamientoObservable })
                                                     .Where(ds => ds.ca.IndiceOcupacional.IdIndiceOcupacional == indiceOcupacionalDetalle.IndiceOcupacional.IdIndiceOcupacional)
                                                     .Select(t => new ComportamientoObservable
                {
                    IdComportamientoObservable = t.rt.IdComportamientoObservable,
                    Descripcion             = t.rt.Descripcion,
                    Nivel                   = t.rt.Nivel,
                    DenominacionCompetencia = t.rt.DenominacionCompetencia,
                })
                                                     .ToListAsync();



                var detalle = new IndiceOcupacionalDetalle
                {
                    IndiceOcupacional               = IndiceOcupacional1,
                    ListaActividadesEsenciales      = listaActividadesEsenciales,
                    ListaConocimientosAdicionales   = ListaConocimientosAdicionales,
                    ListaComportamientoObservables  = ListaComportamientoObservables,
                    ListaRelacionesInternasExternas = ListaRelacionesInternasExternas,
                    ListaAreaConocimientos          = listaAreasConocimiento,
                    ListaCapacitaciones             = ListaCapacitaciones,
                    ListaEstudios = ListaEstudios,
                    ListaMisiones = listaMisiones,
                    ListaExperienciaLaboralRequeridas = ListaExperienciaLaboralRequeridas,
                };


                return(detalle);
            }
            catch (Exception ex)
            {
                throw;
            }
        }