public async Task <ActionResult> ObtenerEstadisticas(int idUsuario) { Usuario usuario = await _repositorioUsuarios.ObtenerPorId(idUsuario); int totalNumSiniestros; List <DetalleEstadisticaVm> numSiniestrosPorAseguradora; bool tienePermisoAdministracion = _repositorioPermisos.TienePermisoAdministracion(usuario.Permiso.Id); if (tienePermisoAdministracion) { totalNumSiniestros = await _repositorioUsuarios.ObtenerNumSiniestrosPorIdUsuario(idUsuario); numSiniestrosPorAseguradora = await _repositorioUsuarios.ObtenerEstadisticasPorIdUsuario(idUsuario); EstadisticasUsuarioVm estadisticasUsuarioVm = new EstadisticasUsuarioVm() { NumSiniestros = totalNumSiniestros, NumSiniestrosPorAseguradora = numSiniestrosPorAseguradora }; return(Ok(estadisticasUsuarioVm)); } else { totalNumSiniestros = await _repositorioPeritos.ObtenerNumSiniestrosPorIdPerito(idUsuario); numSiniestrosPorAseguradora = await _repositorioPeritos.ObtenerEstadisticasPorIdPerito(idUsuario); List <DetalleEstadisticaVm> numSiniestrosCerrarPorAseguradora = await _repositorioPeritos.ObtenerSiniestrosCerrarPorIdPerito(idUsuario); EstadisticasPeritoVm estadisticasPeritoVm = new EstadisticasPeritoVm() { NumSiniestros = totalNumSiniestros, NumSiniestrosPorAseguradora = numSiniestrosPorAseguradora, NumSiniestrosCerrarPorAseguradora = numSiniestrosCerrarPorAseguradora }; return(Ok(estadisticasPeritoVm)); } }