static object GetHome(NancyContext context, IDocumentSession documentSession) { if (context == null) throw new ArgumentNullException("context"); var alert = context.GetAlert(); if (context.IsSignedUp()) { var currentMember = context.GetCurrentMember(documentSession); var gmRooms = documentSession.GetRoomsByOwner(currentMember.Id); var playerRooms = documentSession.GetRoomsByPlayer(currentMember.Id); return new DashboardResponse(gmRooms, playerRooms, alert); } return new MarketingPageResponse(alert); }
static object GetMember( NancyContext context, IDocumentSession documentSession, string alias) { if (context == null) throw new ArgumentNullException("context"); if (documentSession == null) throw new ArgumentNullException("documentSession"); if (String.IsNullOrEmpty(alias)) return 404; if (!context.IsSignedUp()) return 403; var member = documentSession.GetMemberByAlias(alias); if (member == null) return 404; var currentMember = context.GetCurrentMember(documentSession); Debug.Assert(currentMember != null, "`requireSignedUp()` should ensure the current member is not null."); if (!member.Alias.Equals(currentMember.Alias, StringComparison.OrdinalIgnoreCase)) return 403; var rooms = documentSession.GetRoomsByOwner(member.Id); return new MemberResponse(member, rooms); }