/// <summary> /// Initializes the profile. /// </summary> /// <param name="value">The value.</param> public void InitProfile(ClientUserProfile value) { if (value != null) { this.Postfix = value.Postfix; this.UserFilter = !string.IsNullOrEmpty(value.Filters) ? JsonConvert.DeserializeObject <CustomerFilters>(value.Filters) : new CustomerFilters(); List <CustomerFilters> list = !string.IsNullOrEmpty(value.Filters) ? JsonConvert.DeserializeObject <List <CustomerFilters> >( value.CompetitorFilters) : new List <CustomerFilters>(); if (list.Count == 1) { if (list[0].UserName == "") { list = new List <CustomerFilters>(); } } this.CompetitorFilter = list; } else { this.UserFilter = new CustomerFilters(); this.CompetitorFilter = new List <CustomerFilters>(); } }
public void Logout_Loggedin() { Assert.True(us.login("abc", "123")); ClientUserProfile prof = us.getUser("abc"); Assert.True(us.logout(prof.Username)); Assert.False(us.logout(prof.Username)); }
public void successEditUsername() { us.login("abc", "123"); ClientUserProfile user = us.getUser("abc"); Assert.True(us.editUserName("aaaaa", user.Username)); us.editUserName("abc", "aaaaa"); }
public void badEditUsername_Loggedin() { us.login("abc", "123"); ClientUserProfile user = us.getUser("abc"); Assert.False(us.editUserName("", user.Username)); Assert.False(us.editUserName(" ", user.Username)); }
public void badEditPassword() { us.login("abc", "123"); ClientUserProfile user = us.getUser("abc"); Assert.False(us.editPassword("", user.Username)); Assert.False(us.editPassword(" ", user.Username)); }
public void successEditPassword() { us.login("abc", "123"); ClientUserProfile user = us.getUser("abc"); us.editPassword("124", user.Username); us.logout(user.Username); Assert.True(us.login("abc", "124")); us.editPassword("123", user.Username); }
/// <summary> /// Generates the word cloud. /// </summary> /// <param name="profile">The profile.</param> public static void GenerateWordCloud(ClientUserProfile profile) { var distributedLock = new SqlDistributedLock("WordClouds_" + profile.UserName, SysConfig.DefaultConnStr); using (distributedLock.Acquire()) { var clientUser = new ClientUser(profile); var wcManager = new WordCloudManager(); wcManager.GenerateIndexedResult(clientUser, new ClientUser(profile).UserFilter); } }
/// <summary> /// Gets the profile. /// </summary> /// <returns>ClientUserProfile.</returns> public ClientUserProfile GetProfile() { var profile = new ClientUserProfile { Id = this.Id, UserName = this.Name, Postfix = this.Postfix, Filters = JsonConvert.SerializeObject(this.UserFilter), CompetitorFilters = JsonConvert.SerializeObject(this.CompetitorFilter) }; return(profile); }
/// <summary> /// Saves the profile. /// </summary> /// <param name="profile">The profile.</param> /// <returns>System.Int32.</returns> public int SaveProfile(ClientUserProfile profile) { using (var context = ContextFactory.GetProfileContext()) { var retrived = this.GetProfileById(profile.Id); if (retrived == null) { profile.CreatedTime = DateTime.UtcNow; context.Profiles.Add(profile); } else { retrived.LastUpdatedTime = DateTime.UtcNow; retrived.CompetitorFilters = profile.CompetitorFilters; retrived.Filters = profile.Filters; context.Entry(retrived).State = EntityState.Modified; } var arow = context.SaveChanges(); return arow; } }
public ClientGame spectateGame(int gameId) { if (!AuthManager.Instance.containsConnection(Context.ConnectionId)) { return(null); } string userName = AuthManager.Instance.GetNameByConnectionId(Context.ConnectionId); GameCenterService gc = new GameCenterService(); List <string> usersToSend = new List <string>(); if ((usersToSend = gc.spectateGame(gameId, userName)) != null) { GameCenterManager.Instance.spectateGame(userName, gameId); //await Groups.Add(Context.ConnectionId, "game " + gameId); SystemService userService = new SystemService(); ClientUserProfile userProfile = userService.getUser(userName); Clients.Clients(usersToSend.Select(user => AuthManager.Instance.GetConnectionIdByName(user)).ToList()).spectateGame(gameId, userProfile); return(gc.getGameById(gameId)); } return(null); }
/// <summary> /// Builds the reports. /// </summary> /// <param name="config">The configuration.</param> /// <param name="profile">The profile.</param> /// <param name="date">The date.</param> public static void BuildReports(SysConfig config, ClientUserProfile profile, DateTime date) { var distributedLock = new SqlDistributedLock("BuildReport_" + profile.UserName, SysConfig.DefaultConnStr); using (distributedLock.Acquire()) { var dataGenerator = new CompetitorDataGenerator(config, new ClientUser(profile)); var weeklyGenerator = new WeeklyReportDataGenerator(config, new ClientUser(profile)); dataGenerator.GenerateAndSaveNewsList(date); dataGenerator.GenerateAndSaveTopSentiNews(date); dataGenerator.GenerateAndSaveEvent(date); dataGenerator.GenerateAndSaveMedia(date); dataGenerator.GenerateAndSaveSentiment(date); dataGenerator.GenerateAndSaveMap(date); dataGenerator.GenerateAndSaveAge(date); weeklyGenerator.GenerateAndSaveEvent(date); weeklyGenerator.GenerateAndSaveNewsList(date); weeklyGenerator.GenerateAndSaveWeeklyReport(date); } }
/// <summary> /// Initializes the client user. /// </summary> public static void InitClientUser() { var user = GetClientUser("Microsoft"); if (user == null) { var profile = new ClientUserProfile(); profile.Id = Guid.Empty.ToString(); profile.UserName = "******"; profile.Postfix = "BAT"; var filter = InitCustomerFilter("微软", "微软"); profile.Filters = JsonConvert.SerializeObject(filter); var competitors = new List <CustomerFilters>(); competitors.Add(InitCustomerFilter("百度", "百度")); competitors.Add(InitCustomerFilter("阿里", "阿里")); competitors.Add(InitCustomerFilter("腾讯", "腾讯")); profile.CompetitorFilters = JsonConvert.SerializeObject(competitors); profileManager.SaveProfile(profile); } }
/// <summary> /// Initializes a new instance of the <see cref="ClientUser"/> class. /// </summary> /// <param name="profile">The profile.</param> public ClientUser(ClientUserProfile profile) { this.Id = profile.Id; this.Name = profile.UserName; this.InitProfile(profile); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (this.ModelState.IsValid) { var user = new ApplicationUser { UserName = model.UserName, Email = model.Email }; var result = await this.UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await this.SignInManager.SignInAsync(user, false, false); var profile = new ClientUserProfile { Id = user.Id, UserName = user.UserName, Postfix = user.UserName, CreatedTime = DateTime.UtcNow }; var cuser = new ClientUser(profile); cuser.UserFilter = new CustomerFilters(); cuser.UserFilter.UserName = cuser.Name; var filter = new Filter { Name = "Keywords", Value = cuser.Name }; var filterList = new FilterList(); filterList.Filters.Add(filter); cuser.UserFilter.UserFilterListCollection.Add(filterList); /* * var customFilter = new CustomerFilters(); * customFilter.UserName = string.Empty; * var cfilter = new Filter { Name = "Keywords", Value = string.Empty }; * var cfilterList = new FilterList(); * cfilterList.Filters.Add(cfilter); * customFilter.UserFilterListCollection.Add(cfilterList); * * cuser.CompetitorFilter.Add(customFilter); */ var affected = ProfileHelper.UpdateClientUser(cuser); if (affected > 0) { var syncManager = new DataSyncManager(); syncManager.BuildUserTables(cuser.GetProfile().Postfix); } //var syncManager = new DataSyncManager(cuser); //syncManager.CreateTablesForClientUser(); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); return(this.RedirectToAction("Index", "Home")); } this.AddErrors(result); } // If we got this far, something failed, redisplay form return(this.View(model)); }
/// <summary> /// Gets the context. /// </summary> /// <param name="user">The user.</param> /// <returns>DataContextBase.</returns> public static DataContextBase GetContext(ClientUserProfile user) { return(GetContext(user.Postfix)); }
private List <PlayingUser> GetPlayers(ClientUserProfile user, int gameID) { return(gc.getGameByID(gameID).GetPlayers()); }
/// <summary> /// Initializes a new instance of the <see cref="WeiboRepositery"/> class. /// </summary> /// <param name="profile">The profile.</param> public WeiboRepositery(ClientUserProfile profile) { this.dbUtilities = new DbUtilities(); this.profile = profile; this.weiboTableName = TableNameHelper.GetWeiboPredicationTableName(); }