public async Task <IActionResult> Edit(int id)
        {
            try
            {
                var modelo = new AccionPersonalViewModel {
                    IdAccionPersonal = id
                };

                var respuesta = await apiServicio.ObtenerElementoAsync <AccionPersonalViewModel>(
                    modelo,
                    new Uri(WebApp.BaseAddress),
                    "api/AccionesPersonal/ObtenerAccionPersonalViewModel");

                if (respuesta.IsSuccess)
                {
                    modelo = JsonConvert.DeserializeObject <AccionPersonalViewModel>(respuesta.Resultado.ToString());

                    await InicializarCombos();


                    var situacionActualViewModel = new SituacionActualEmpleadoViewModel {
                        IdEmpleado = modelo.DatosBasicosEmpleadoViewModel.IdEmpleado
                    };

                    var situacionActualEmpleadoViewModelResponse = await apiServicio.ObtenerElementoAsync <SituacionActualEmpleadoViewModel>(situacionActualViewModel, new Uri(WebApp.BaseAddress),
                                                                                                                                             "api/Empleados/ObtenerSituacionActualEmpleadoViewModel");

                    if (respuesta.IsSuccess)
                    {
                        situacionActualViewModel = JsonConvert.DeserializeObject <SituacionActualEmpleadoViewModel>(situacionActualEmpleadoViewModelResponse.Resultado.ToString());
                    }

                    modelo.SituacionActualEmpleadoViewModel = situacionActualViewModel;


                    var listaIOMP = await apiServicio.Listar <IndicesOcupacionalesModalidadPartidaViewModel>(
                        new Uri(WebApp.BaseAddress),
                        "api/IndicesOcupacionalesModalidadPartida/ListarIndicesOcupacionalesModalidadPartidaViewModel");

                    modelo.ListaIndicesOcupacionalesModalidadPartida = listaIOMP;


                    return(View(modelo));
                }

                return(BadRequest());
            }
            catch (Exception)
            {
                return(BadRequest());

                throw;
            }
        }
        public async Task <IActionResult> Create(int id)
        {
            try
            {
                var datosBasicosEmpleado = new DatosBasicosEmpleadoSinRequiredViewModel {
                    IdEmpleado = id
                };

                var respuesta = await apiServicio.ObtenerElementoAsync <DatosBasicosEmpleadoSinRequiredViewModel>(
                    datosBasicosEmpleado,
                    new Uri(WebApp.BaseAddress),
                    "api/Empleados/ObtenerDatosBasicosEmpleado");

                if (respuesta.IsSuccess)
                {
                    datosBasicosEmpleado = JsonConvert.DeserializeObject <DatosBasicosEmpleadoSinRequiredViewModel>(respuesta.Resultado.ToString());


                    var situacionActualViewModel = new SituacionActualEmpleadoViewModel {
                        IdEmpleado = datosBasicosEmpleado.IdEmpleado
                    };

                    var situacionActualEmpleadoViewModelResponse = await apiServicio.ObtenerElementoAsync <SituacionActualEmpleadoViewModel>(situacionActualViewModel, new Uri(WebApp.BaseAddress),
                                                                                                                                             "api/Empleados/ObtenerSituacionActualEmpleadoViewModel");

                    if (respuesta.IsSuccess)
                    {
                        situacionActualViewModel = JsonConvert.DeserializeObject <SituacionActualEmpleadoViewModel>(situacionActualEmpleadoViewModelResponse.Resultado.ToString());
                    }


                    var listaIOMP = await apiServicio.Listar <IndicesOcupacionalesModalidadPartidaViewModel>(
                        new Uri(WebApp.BaseAddress),
                        "api/IndicesOcupacionalesModalidadPartida/ListarIndicesOcupacionalesModalidadPartidaViewModel");

                    var model = new AccionPersonalViewModel
                    {
                        DatosBasicosEmpleadoViewModel = datosBasicosEmpleado,
                        Numero         = "0",
                        Fecha          = DateTime.Now,
                        FechaRige      = DateTime.Now,
                        FechaRigeHasta = DateTime.Now,
                        SituacionActualEmpleadoViewModel          = situacionActualViewModel,
                        GeneraMovimientoPersonal                  = false,
                        ListaIndicesOcupacionalesModalidadPartida = listaIOMP
                    };


                    await InicializarCombos();


                    return(View(model));
                }

                return(BadRequest());
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
        public async Task <IActionResult> Visualizar(string mensaje, int id)
        {
            try
            {
                var modelo = new AccionPersonalViewModel {
                    IdAccionPersonal = id
                };

                var respuesta = await apiServicio.ObtenerElementoAsync <AccionPersonalViewModel>(
                    modelo,
                    new Uri(WebApp.BaseAddress),
                    "api/AccionesPersonal/ObtenerAccionPersonalViewModel");

                if (respuesta.IsSuccess)
                {
                    modelo = JsonConvert.DeserializeObject <AccionPersonalViewModel>(respuesta.Resultado.ToString());


                    var listaTipoAccionespersonales = await apiServicio.Listar <TipoAccionPersonal>(new Uri(WebApp.BaseAddress), "api/TiposAccionesPersonales/ListarTiposAccionesPersonales");

                    ViewData["TipoAcciones"] = new SelectList(listaTipoAccionespersonales, "IdTipoAccionPersonal", "Nombre");



                    var listaEstadosAprobacion = await apiServicio.Listar <AprobacionMovimientoInternoViewModel>(new Uri(WebApp.BaseAddress), "api/AccionesPersonal/ListarEstadosAprobacion");

                    ViewData["Estados"] = new SelectList(listaEstadosAprobacion, "ValorEstado", "NombreEstado");



                    var situacionActualViewModel = new SituacionActualEmpleadoViewModel {
                        IdEmpleado = modelo.DatosBasicosEmpleadoViewModel.IdEmpleado
                    };

                    var situacionActualEmpleadoViewModelResponse = await apiServicio.ObtenerElementoAsync <SituacionActualEmpleadoViewModel>(situacionActualViewModel, new Uri(WebApp.BaseAddress),
                                                                                                                                             "api/Empleados/ObtenerSituacionActualEmpleadoViewModel");

                    if (respuesta.IsSuccess)
                    {
                        situacionActualViewModel = JsonConvert.DeserializeObject <SituacionActualEmpleadoViewModel>(situacionActualEmpleadoViewModelResponse.Resultado.ToString());
                    }

                    modelo.SituacionActualEmpleadoViewModel = situacionActualViewModel;

                    var listaIOMP = await apiServicio.Listar <IndicesOcupacionalesModalidadPartidaViewModel>(
                        new Uri(WebApp.BaseAddress),
                        "api/IndicesOcupacionalesModalidadPartida/ListarIndicesOcupacionalesModalidadPartidaViewModel");

                    modelo.ListaIndicesOcupacionalesModalidadPartida = listaIOMP;

                    return(View(modelo));
                }

                return(BadRequest());
            }
            catch (Exception)
            {
                return(BadRequest());

                throw;
            }
        }