public CommunitySingleState Create(community model) { var community = new CommunitySingleState { id = model.id, name = model.name, local = model.local, description = model.description, avatar = model.avatar, foundationDate = model.foundationDate.Value, events = [email protected] <@event, EventsCollectionState>(i => eventFactory.Create(i)), notices = model.notice.Select <notice, NoticesCollectionState>(i => noticeFactory.Create(i)), admins = model.admins.Select <userInfo, UsersCollectionState>(i => userFactory.Create(i)), members = model.members.Select <userInfo, UsersCollectionState>(i => userFactory.Create(i)), comments = model.comment.Select <comment, CommentsCollectionState>(i => commentFactory.Create(i)), tags = model.tag.Select <tag, string>(i => i.name), _Links = new CommunitySingleState.Link() }; //Add hyperMedia community._Links.Self = _links.Self(model.id); community._Links.Events = _links.Events(model.id); community._Links.PastEvents = _links.PastEvents(model.id); community._Links.FutureEvents = _links.FutureEvents(model.id); community._Links.Members = _links.Members(model.id); community._Links.Admins = _links.Admins(model.id); community._Links.Notices = _links.Notices(model.id); community._Links.Comments = _links.Comments(model.id); return(community); }
public async Task <HttpResponseMessage> GetFromCommunity(int id, string type = "member") { IStateFactory <userInfo, UsersCollectionState> _stateFactory = new UsersCollectionFactory(new UserLinkFactory(Request)); var instance = UserService.GetInstance(); OperationResult <IEnumerable <userInfo> > users = null; if (type == "member") { users = await instance.GetUserFromCommunityByRole(id, Services.Models.Roles.Role.Member); } else if (type == "admin") { users = await instance.GetUserFromCommunityByRole(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 (users.Success) { var res = users.Result.Select <userInfo, UsersCollectionState>(i => _stateFactory.Create(i)); return(Request.CreateResponse(HttpStatusCode.OK, new { users = res }, "application/json")); } return(Request.CreateResponse(HttpStatusCode.NotFound, new NotFound(Request.RequestUri, users.Message), "application/problem+json")); }
public async Task <HttpResponseMessage> GetFromEvent(int id, string isCheckedIn = "false") { IStateFactory <userInfo, UsersCollectionState> _stateFactory = new UsersCollectionFactory(new UserLinkFactory(Request)); var instance = UserService.GetInstance(); OperationResult <IEnumerable <userInfo> > users = null; if (isCheckedIn == "false") { users = await instance.GetUsersSubscribedOnEvent(id, Services.Services.UserService.Check_in.False); } else if (isCheckedIn == "true") { users = await instance.GetUsersSubscribedOnEvent(id, Services.Services.UserService.Check_in.True); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, new BadRequest(Request.RequestUri, "The values of query string must be 'true' or 'false"), "application/problem+json")); } if (users.Success) { var res = users.Result.Select <userInfo, UsersCollectionState>(i => _stateFactory.Create(i)); return(Request.CreateResponse(HttpStatusCode.OK, new { users = res }, "application/json")); } return(Request.CreateResponse(HttpStatusCode.NotFound, new NotFound(Request.RequestUri, users.Message), "application/problem+json")); }
public async Task <HttpResponseMessage> Get() { IStateFactory <userInfo, UsersCollectionState> _stateFactory = new UsersCollectionFactory(new UserLinkFactory(Request)); var instance = UserService.GetInstance(); var users = await instance.GetAllAsync(); if (users.Success) { var res = users.Result.Select <userInfo, UsersCollectionState>(i => _stateFactory.Create(i)); return(Request.CreateResponse(HttpStatusCode.OK, new { users = res }, "application/json")); } return(Request.CreateResponse(HttpStatusCode.ServiceUnavailable, new ServiceUnvailable(Request.RequestUri, users.Message), "application/problem+json")); }
public EventSingleState Create(@event model) { var eve = new EventSingleState { id = model.id, title = model.title, local = model.local, initDate = model.initDate, endDate = model.endDate, description = model.description, nrOfTickets = model.nrOfTickets.Value, community = communityFactory.Create(model.community), subscribers = model.eventSubscribers.Select <eventSubscribers, UsersCollectionState>(i => userFactory.Create(i.userInfo)), session = model.session.Select <session, SessionsCollectionState>(i => sessionFactory.Create(i)), comments = model.comment.Select <comment, CommentsCollectionState>(i => commentFactory.Create(i)), survey = surveyFactory.Create(model.survey), tag = model.tag.Select <tag, string>(i => i.name), _links = new EventSingleState.Link() }; //add hypermedia eve._links.self = _links.Self(model.id); eve._links.sessions = _links.Sessions(model.id); eve._links.community = _links.Community(model.communityId.Value); eve._links.comments = _links.Comments(model.id); eve._links.subscribers = _links.Subscribers(model.id); eve._links.subscriberCheckedIn = _links.SubscribersCheckedIn(model.id); return(eve); }