/// <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>();
     }
 }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        public void successEditUsername()
        {
            us.login("abc", "123");
            ClientUserProfile user = us.getUser("abc");

            Assert.True(us.editUserName("aaaaa", user.Username));
            us.editUserName("abc", "aaaaa");
        }
Beispiel #4
0
        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));
        }
Beispiel #5
0
        public void badEditPassword()
        {
            us.login("abc", "123");
            ClientUserProfile user = us.getUser("abc");

            Assert.False(us.editPassword("", user.Username));
            Assert.False(us.editPassword("    ", user.Username));
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        /// <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);
        }
Beispiel #9
0
        /// <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;
            }
        }
Beispiel #10
0
        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);
        }
Beispiel #11
0
        /// <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);
 }
Beispiel #14
0
        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));
 }
Beispiel #16
0
 private List <PlayingUser> GetPlayers(ClientUserProfile user, int gameID)
 {
     return(gc.getGameByID(gameID).GetPlayers());
 }
Beispiel #17
0
 /// <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();
 }