public IActionResult GetEquipment([FromRoute] int equipmentId) { try { if (HttpContext.Items["User"] == null) { throw new UnauthorizedException("Authorization failed!"); } User user = (User)HttpContext.Items["User"]; if (user.PermissionLevel < 2) { throw new ForbiddenException("You don't have high enough clearance for this operation!"); } if (user.OrganizationId != null && _persistence.GetEquipmentOrgId(equipmentId) != user.OrganizationId) { throw new ForbiddenException("The requested Equipment is owned by a different organization!"); } Equipment temp = _persistence.GetEquipment(equipmentId); temp.Events = _persistence.GetEvents(equipmentId, null, null, null); return(StatusCode(200, temp)); } catch (UnauthorizedException e) { return(StatusCode(401, e.Message)); } catch (ForbiddenException e) { return(StatusCode(403, e.Message)); } catch (NotFoundException e) { return(StatusCode(404, e.Message)); } catch (ConflictException e) { return(StatusCode(409, e.Message)); } catch (Exception e) { return(StatusCode(500, e.Message)); } }