public async Task <IActionResult> ConsultarDependencia(int id) { var modelo = new DependenciaDatosViewModel(); try { var claim = HttpContext.User.Identities.Where(x => x.NameClaimType == ClaimTypes.Name).FirstOrDefault(); if (claim.IsAuthenticated == true) { var NombreUsuario = claim.Claims.Where(c => c.Type == ClaimTypes.Name).FirstOrDefault().Value; var empleado = await apiServicio.ObtenerElementoAsync1 <Empleado>( NombreUsuario, new Uri(WebApp.BaseAddress), "api/Empleados/EmpleadoSegunNombreUsuario"); if (empleado.EsJefe == true) { var enviar = new IdFiltrosViewModel { IdDependencia = id }; modelo = await apiServicio.ObtenerElementoAsync1 <DependenciaDatosViewModel>( enviar, new Uri(WebApp.BaseAddress), "api/Dependencias/ObtenerDependenciaDatosViewModelPorIdDependencia"); return(View(modelo)); } return(this.Redireccionar( "SolicitarPlanificacionVacaciones", "Index", $"{Mensaje.Informacion}|{Mensaje.AccesoNoAutorizado}" )); } return(RedirectToAction("Login", "Login")); } catch (Exception ex) { return(BadRequest()); } }
public async Task <DependenciaDatosViewModel> ObtenerDependenciaDatosViewModelPorIdDependencia([FromBody] IdFiltrosViewModel idFiltrosViewModel) { try { var dependencia = await db.Dependencia .Include(i => i.Sucursal) .Where(w => w.IdDependencia == idFiltrosViewModel.IdDependencia).FirstOrDefaultAsync(); var modelo = new DependenciaDatosViewModel { IdDependencia = dependencia.IdDependencia, IdSucursal = dependencia.IdSucursal, NombreDependencia = dependencia.Nombre, NombreSucursal = dependencia.Sucursal.Nombre, DatosBasicosEmpleadoJefeViewModel = db.Empleado .Where(we => we.IdDependencia == dependencia.IdDependencia && we.EsJefe == true && we.Activo == true ) .Select(se => new DatosBasicosEmpleadoViewModel { IdEmpleado = se.IdEmpleado, IdPersona = se.IdPersona, Nombres = se.Persona.Nombres, Apellidos = se.Persona.Apellidos } ).FirstOrDefault() , ListaDependenciasHijas = await ObtenerDependenciasHijas(dependencia.IdDependencia), ListaEmpleadosDependencia = await db.Empleado .Where(wl => wl.Activo == true && wl.IdDependencia == dependencia.IdDependencia && wl.EsJefe == false ) .Select(s1 => new DatosBasicosEmpleadoViewModel { IdEmpleado = s1.IdEmpleado, IdPersona = s1.IdPersona, Nombres = s1.Persona.Nombres, Apellidos = s1.Persona.Apellidos, Identificacion = s1.Persona.Identificacion } ) .ToListAsync() }; return(modelo); } catch (Exception ex) { return(new DependenciaDatosViewModel()); } }