private async Task <HttpResponseMessage> GetUserCommunities(string id, string type) { IStateFactory <community, CommunitiesCollectionState> _stateFactory = new CommunitiesCollectionFactory(new CommunityLinkFactory(Request)); var instance = CommunityService.GetInstance(); OperationResult <IEnumerable <community> > communities = null; if (type == "member") { communities = await instance.GetCommunitiesFromUserByRole(id, Services.Models.Roles.Role.Member); } else if (type == "admin") { communities = await instance.GetCommunitiesFromUserByRole(id, Services.Models.Roles.Role.Admin); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, new BadRequest(Request.RequestUri, "The values of query string must be 'member' or 'admin"), "application/problem+json")); } if (communities.Success) { var res = communities.Result.Select <community, CommunitiesCollectionState>(i => _stateFactory.Create(i)); return(Request.CreateResponse(HttpStatusCode.OK, new { communities = res }, "application/json")); } return(Request.CreateResponse(HttpStatusCode.NotFound, new NotFound(Request.RequestUri, communities.Message), "application/problem+json")); }
public EventSingleFactory(HttpRequestMessage request) { _links = new EventLinkFactory(request); communityFactory = new CommunitiesCollectionFactory(new CommunityLinkFactory(request)); userFactory = new UsersCollectionFactory(new UserLinkFactory(request)); sessionFactory = new SessionsCollectionFactory(new SessionLinkFactory(request)); commentFactory = new CommentsCollectionFactory(request); surveyFactory = new SurveySingleFactory(request); }
public async Task <HttpResponseMessage> Get() { IStateFactory <community, CommunitiesCollectionState> _stateFactory = new CommunitiesCollectionFactory(new CommunityLinkFactory(Request)); var instance = CommunityService.GetInstance(); var communities = await instance.GetAllAsync(); if (communities.Success) { var res = communities.Result.Select <community, CommunitiesCollectionState>(i => _stateFactory.Create(i)); return(Request.CreateResponse(HttpStatusCode.OK, new { communities = res }, "application/json")); } return(Request.CreateResponse(HttpStatusCode.ServiceUnavailable, new ServiceUnvailable(Request.RequestUri, communities.Message), "application/problem+json")); }
public async Task <HttpResponseMessage> PostSearch([FromBody] CommunitySearch body) { var instance = CommunityService.GetInstance(); IStateFactory <community, CommunitiesCollectionState> _stateFactory = new CommunitiesCollectionFactory(new CommunityLinkFactory(Request)); if (body.isEmpty()) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new BadRequest(Request.RequestUri, "The body must not be null"), "application/problem+json")); } var communities = await instance.Search(body.location, body.name, body.tags); if (communities.Success) { var res = communities.Result.Select <community, CommunitiesCollectionState>(i => _stateFactory.Create(i)); return(Request.CreateResponse(HttpStatusCode.OK, res, "application/json")); } return(Request.CreateResponse(HttpStatusCode.Conflict, new Conflict(Request.RequestUri, communities.Message), "application/problem+json")); }
public async Task <HttpResponseMessage> PutUser([FromBody] InputModel body, int id) { IStateFactory <community, CommunitiesCollectionState> _stateFactory = new CommunitiesCollectionFactory(new CommunityLinkFactory(Request)); var instance = CommunityService.GetInstance(); var token = GetToken(); if (token == null) { return(Request.CreateResponse(HttpStatusCode.Forbidden, new Forbidden(Request.RequestUri, "token not present in authorization header or not valid"), "application/problem+json")); } if (body == null || body.Type == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new BadRequest(Request.RequestUri, "The body must have a type with value:'member' or 'admin'"), "application/problem+json")); } string type = body.Type; if (type == "member") { var res = await instance.InsertMember(id, token); if (res.Success) { return(Request.CreateResponse(HttpStatusCode.OK, new { }, "application/json")); } else { return(Request.CreateResponse(HttpStatusCode.Conflict, new Conflict(Request.RequestUri, res.Message), "application/problem+json")); } } else if (type == "organizer") { var res = await instance.InsertAdmin(id, GetToken(), body.UserId); } return(Request.CreateResponse(HttpStatusCode.BadRequest, new BadRequest(Request.RequestUri, "The body must have a type with value:'member' or 'admin'"), "application/problem+json")); }