Esempio n. 1
0
        public void TestUserRecentData()
        {
            CleanUp();

            Thread.Sleep(2000);//延时

            UserRecentData settings = UserRecentData.GetSettings(demo_id);

            Assert.AreEqual(settings.UserID, demo_id);
            var cat         = settings.Categories["recentTimepoints"];
            int defaultSize = cat.DefaultSize;

            Assert.IsTrue(defaultSize > 0);
            Assert.IsTrue(cat.Items.Count == 0);
            var item = cat.Items.CreateItem();

            item.SetValue <DateTime>("timePoint", new DateTime(2008, 10, 30));
            item.SetValue <DateTime>("lastAccessDate", new DateTime(2018, 12, 30));
            item.SetValue <bool>("pinned", true);
            cat.Items.Add(item);
            settings.Update("recentTimepoints");
            cat.SaveChanges(demo_id);

            settings = UserRecentData.GetSettings(demo_id);
            cat      = settings.Categories["recentTimepoints"];
            Assert.IsTrue(cat.Items.Count == 1);

            var item1 = cat.Items[0];

            foreach (var key in item1.GetAllKeys())
            {
                Assert.AreEqual(item1[key].StringValue, item[key].StringValue);
                Assert.AreEqual(item1[key].Definition.DataType, item[key].Definition.DataType);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 清除所有条目
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ClearRecent(object sender, EventArgs e)
        {
            var category = UserRecentData.GetSettings(DeluxeIdentity.CurrentUser.ID, "recentTimepoints");

            category.Items.Clear();

            category.SaveChanges(DeluxeIdentity.CurrentUser.ID);
        }
Esempio n. 3
0
        public void TestRecentDataItemCollection()
        {
            CleanUp();

            Thread.Sleep(2000);//延时


            UserRecentData settings = UserRecentData.GetSettings(demo_id);
            var            cat      = settings.Categories["recentTimepoints"];

            //测试保存多个日期

            DateTime dtBase = DateTime.Now;

            for (int i = 0; i < cat.DefaultSize; i++)
            {
                var item = cat.Items.CreateItem();
                item.SetValue <DateTime>("timePoint", dtBase.AddDays(i * 2));
                item.SetValue <DateTime>("lastAccessDate", dtBase.AddDays(i * 2 + 1));
                item.SetValue <bool>("pinned", dtBase.AddDays(i).Day / 2 == 0);
                cat.Items.Add(item);
            }

            var item1 = cat.Items.CreateItem();

            item1.SetValue <DateTime>("timePoint", new DateTime(2008, 3, 3));
            item1.SetValue <DateTime>("lastAccessDate", new DateTime(2009, 4, 4));
            item1.SetValue <bool>("pinned", true);



            cat.Items.Insert(0, item1);
            Assert.AreEqual(cat.Items.Count, cat.DefaultSize); //应该把多余的项排出

            List <PropertyValueCollection> listCompare = new List <PropertyValueCollection>();

            cat.Items.CopyTo(listCompare);

            var itemA = cat.Items[cat.Items.Count - 1];
            var itemB = cat.Items[cat.Items.Count - 2];

            cat.Items.Advance(cat.Items.Count - 1);            //最后一项向前排

            Assert.AreEqual(cat.Items.Count, cat.DefaultSize); //长度不应变化
            Assert.AreEqual(cat.Items[0], itemA);              //最后一项移至开头
            Assert.AreEqual(cat.Items[1], item1);              //应该排在后面

            cat.Items.Advance(0);                              //测试

            Assert.AreEqual(itemA, cat.Items[0]);              //提升第一项应该没有作用

            cat.Items.Advance(1);                              //提升第二项

            Assert.AreEqual(itemA, cat.Items[1]);              //原来的第一项应该后移
            Assert.AreEqual(item1, cat.Items[0]);              //第二项应该前移
        }
Esempio n. 4
0
        private void DoChnageTimePointAction(DateTime timePoint, Action <UserRecentDataCategory> action)
        {
            UserRecentDataCategory recentTimes = UserRecentData.LoadSettings(DeluxeIdentity.CurrentUser.ID, "recentTimepoints");

            action(recentTimes);

            using (TransactionScope scope = TransactionScopeFactory.Create())
            {
                recentTimes.SaveChanges(DeluxeIdentity.CurrentUser.ID);

                ChangeAndSaveTimePoint(timePoint);

                scope.Complete();
            }

            this.OnTimePointChanged(EventArgs.Empty);
        }
Esempio n. 5
0
        private void RefreshTimeShuttle()
        {
            this.timemark.InnerText = TimePointContext.Current.UseCurrentTime ? "现在" : TimePointContext.Current.SimulatedTime.ToString("yyyy-MM-dd HH:mm:ss");

            IUser curUser = DeluxeIdentity.CurrentUser;

            this.userLogonName.InnerText = curUser.DisplayName;

            //this.userPresence.UserID = curUser.ID;
            //this.userPresence.UserIconUrl = "~/Handlers/UserPhoto.ashx?id=" + Server.UrlEncode(curUser.ID) + "&time=now";

            UserRecentDataCategory category = UserRecentData.GetSettings(curUser.ID, "recentTimepoints");

            var recentTimePoints = category.Items;

            this.recentList.DataSource = this.GetRecentTimeView(recentTimePoints, category.DefaultSize);

            this.recentList.DataBind();
        }