public object Get(GetAnnouncement request) { Announcement announcement; try { var subscriberId = this.GetSession().UserAuthId.ToInt(); announcement = GettingAnnouncement.Get(request, subscriberId); } catch (TopicNotExistsException) { return(new HttpError(HttpStatusCode.NotFound, $"Topic {request.TopicName} not exists")); } catch (NoNewContentToGetException) { return(new HttpError(HttpStatusCode.NoContent, "No new content")); } catch (BadRequestException) { return(new HttpError(HttpStatusCode.BadRequest, "BadRequest")); } return(new GetAnnouncementResponse() { Id = announcement.AnnouncementId, Content = announcement.Content }); }
public Announcement Get(GetAnnouncement request, int subscriberId) { var requestToSend = new RestRequest($"/topics/{request.TopicName}/announcements", Method.GET); requestToSend.AddParameter("SubscriberId", subscriberId); if (!TopicsQueries.TopicExists(DBConnection, request.TopicName)) { throw new TopicNotExistsException(); } else { var topic = TopicsQueries.getTopicByName(DBConnection, request.TopicName); var worker = WorkerQueries.GetWorkerById(DBConnection, topic.Worker); var coworker = WorkerQueries.GetWorkerById(DBConnection, topic.Cooperator); return(PropageteRequestToWorkers <Announcement>(requestToSend, topic, worker, coworker)); } }