public async Task <IActionResult> Get([FromRoute] int?id) { try { if (id.HasValue) { return(Ok(await _announcementService.Get(id.Value))); } else { return(Ok(_announcementService.GetAll().OrderByDescending(x => x.Id))); } } catch (Exception x) { Log.Error($"ERROR Getting announcement with ID {id}", x); return(StatusCode(500, x.Message)); } }