public UserGeneratedDataService(EventsService eventsService, UserService userService, IList<DDDEventDataInfo> dddEventDataInfo) { this.userService = userService; this.eventsService = eventsService; this.dddEventDataInfo = dddEventDataInfo; CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["pocketDDDCloudStorage"].ConnectionString); this.tableClient = storageAccount.CreateCloudTableClient(); this.userCommentsTable = tableClient.GetTableReference("Comments"); this.userSessionDataTable = tableClient.GetTableReference("UserSessionData"); this.userEventDataTable = tableClient.GetTableReference("UserEventData"); }
public async Task<ActionResult> Index(int eventbriteOrderNo, int dddEventId, string clientToken) { try { UserInfo registeredUser = null; var userService = new UserService(); var user = userService.GetUserByEventbriteOrder(dddEventId, eventbriteOrderNo); if (user == null) { var eventMgr = new EventsService(); var eventInfo = eventMgr.GetServerEventData(dddEventId); var eventbriteService = new EventbriteService(eventInfo.EventbriteToken); var eventbriteUserInfo = await eventbriteService.GetUserRegistrationInfo(eventbriteOrderNo, eventInfo.EventbriteEventId); var newToken = Guid.NewGuid().ToString(); userService.AddUser(dddEventId, eventbriteOrderNo, eventbriteUserInfo.firstName, eventbriteUserInfo.lastName, newToken, clientToken); registeredUser = new UserInfo { firstName = eventbriteUserInfo.firstName, lastName = eventbriteUserInfo.lastName, token = newToken }; } else { registeredUser = new UserInfo { firstName = user.FirstName, lastName = user.LastName, token = user.RowKey }; } var eventScoreService = new EventScoreService(registeredUser.token, dddEventId, user.FirstName + "_" + user.LastName); registeredUser.eventScore = eventScoreService.GetCurrentEventScore(); return new JsonNetResult(registeredUser); } catch (Exception) { throw new InvalidDataException("Failed to get user"); } }
public ActionResult Sync(ClientSyncData syncData) { try { if(syncData == null) return null; var eventsService = new EventsService(); var userService = new UserService(); var dddEvents = eventsService.GetEvents(syncData.dddEventListVersion); var dddEventDetails = eventsService.GetEventDetails(syncData.dddEventDataInfo); var userGeneratedDataService = new UserGeneratedDataService(eventsService, userService, syncData.dddEventDataInfo); var acceptedSessionComments = userGeneratedDataService.AddComments("session", syncData.clientToken, syncData.sessionComments); var acceptedEventMostLikeComments = userGeneratedDataService.AddComments("eventMostLike", syncData.clientToken, syncData.eventMostLikeComments); var acceptedEventLeastLikeComments = userGeneratedDataService.AddComments("eventLeastLike", syncData.clientToken, syncData.eventLeastLikeComments); var acceptedEventComments = userGeneratedDataService.AddComments("eventOverall", syncData.clientToken, syncData.eventComments); var acceptedPocketDDDComments = userGeneratedDataService.AddComments("pocketDDD", syncData.clientToken, syncData.pocketDDDComments); userGeneratedDataService.AddOrUpdateSessionData(syncData.clientToken, syncData.userSessionData); userGeneratedDataService.AddOrUpdateEventData(syncData.clientToken, syncData.userEventData); var eventScores = userGeneratedDataService.CommitEventScores(); var data = new SyncResult { dddEventListVersion = eventsService.GetEventListVersion(), dddEvents = dddEvents, dddEventDetails = dddEventDetails, acceptedSessionComments = acceptedSessionComments, acceptedEventMostLikeComments = acceptedEventMostLikeComments, acceptedEventLeastLikeComments = acceptedEventLeastLikeComments, acceptedEventComments = acceptedEventComments, acceptedPocketDDDComments = acceptedPocketDDDComments, dddEventScores = eventScores }; return new JsonNetResult(data); } catch (Exception) { throw; // new InvalidDataException("Unable to sync"); } }