Beispiel #1
0
        public void UpdateUserImage()
        {
            var userImagePropName = "PhotoKey";

            SCUser user = SCObjectGenerator.PrepareUserObject();

            SCObjectOperations.Instance.AddUser(user, SCOrganization.GetRoot());

            ImageProperty image = ImageGenerator.PrepareImage();

            image.ResourceID = user.ID;

            Assert.IsTrue(CanSerialize(image));

            SCObjectOperations.Instance.UpdateObjectImageProperty(user, userImagePropName, image);

            SCUser userLoad = (SCUser)SchemaObjectAdapter.Instance.Load(user.ID);

            Assert.IsNotNull(userLoad);

            var imageLoad = JSONSerializerExecute.Deserialize <ImageProperty>(userLoad.Properties[userImagePropName].StringValue);
            MaterialContentCollection mcc = MaterialContentAdapter.Instance.Load(builder => builder.AppendItem("CONTENT_ID", imageLoad.ID));

            Assert.AreEqual(image.Name, imageLoad.Name);
            Assert.IsNotNull(mcc);
            Assert.AreEqual(1, mcc.Count);
            Assert.AreEqual(image.Content.ContentData.Length, mcc[0].ContentData.Length);

            SCObjectOperations.Instance.UpdateObjectImageProperty(user, userImagePropName, null);
            userLoad = (SCUser)SchemaObjectAdapter.Instance.Load(user.ID);

            Assert.AreEqual("", userLoad.Properties[userImagePropName].StringValue);
        }
Beispiel #2
0
        public void GetSetSchemaUserPropertiesTest()
        {
            SCUser user = SCObjectGenerator.PrepareUserObject();

            Assert.AreEqual("Great Shen Zheng", user.Name);
            Assert.AreEqual("峥", user.FirstName);
            Assert.AreEqual("沈", user.LastName);
        }
Beispiel #3
0
        public void SetUserDeletedStatus()
        {
            SCUser user = SCObjectGenerator.PrepareUserObject();

            SCActionContext.Current.DoActions(() => SchemaObjectAdapter.Instance.Update(user));

            SCUser userLoaded = (SCUser)SchemaObjectAdapter.Instance.Load(user.ID);

            SCActionContext.Current.DoActions(() => SchemaObjectAdapter.Instance.UpdateStatus(userLoaded, SchemaObjectStatus.Deleted));

            Console.WriteLine(userLoaded.ID);
            SCUser userLoaded2 = (SCUser)SchemaObjectAdapter.Instance.Load(user.ID);

            Assert.AreEqual(SchemaObjectStatus.Deleted, userLoaded2.Status);
        }
        public void RemoveUserAndOrganizationRelationTest()
        {
            SCOrganization org  = SCObjectGenerator.PrepareOrganizationObject();
            SCUser         user = SCObjectGenerator.PrepareUserObject();

            SCRelationObject relation = UpdateRelation(org, user);

            SCRelationObject relationLoaded = SchemaRelationObjectAdapter.Instance.Load(org.ID, user.ID);

            Console.WriteLine("Org ID: {0}, User ID: {1}", org.ID, user.ID);

            SchemaRelationObjectAdapter.Instance.UpdateStatus(relationLoaded, SchemaObjectStatus.Deleted);

            relationLoaded = SchemaRelationObjectAdapter.Instance.Load(org.ID, user.ID);

            Assert.AreEqual(SchemaObjectStatus.Deleted, relationLoaded.Status);
        }
Beispiel #5
0
        public void PersistSchemaUser()
        {
            SCUser user = SCObjectGenerator.PrepareUserObject();

            user.Properties.TrySetValue("CadreType", MCS.Library.OGUPermission.UserAttributesType.JiaoLiuGanBu);

            SCActionContext.Current.DoActions(() => SchemaObjectAdapter.Instance.Update(user));

            SCUser userLoaded = (SCUser)SchemaObjectAdapter.Instance.Load(user.ID);

            Console.WriteLine(user.Properties.GetValue("CadreType", MCS.Library.OGUPermission.UserAttributesType.Unspecified));

            Assert.IsNotNull(userLoaded);
            Assert.AreEqual(user.ID, userLoaded.ID);
            Assert.AreEqual(user.Name, userLoaded.Name);
            Assert.AreEqual(user.FirstName, userLoaded.FirstName);
            Assert.AreEqual(user.LastName, userLoaded.LastName);
        }
Beispiel #6
0
        public void DoubleInsertSameSchemaUser()
        {
            SCUser user = SCObjectGenerator.PrepareUserObject();

            SCActionContext.Current.DoActions(() => SchemaObjectAdapter.Instance.Update(user));

            user.Name = "一般的沈峥";

            SCActionContext.Current.DoActions(() => SchemaObjectAdapter.Instance.Update(user));

            SCUser userLoaded = (SCUser)SchemaObjectAdapter.Instance.Load(user.ID);

            Assert.IsNotNull(userLoaded);
            Assert.AreEqual(user.ID, userLoaded.ID);
            Assert.AreEqual(user.Name, userLoaded.Name);
            Assert.AreEqual(user.FirstName, userLoaded.FirstName);
            Assert.AreEqual(user.LastName, userLoaded.LastName);
        }
Beispiel #7
0
        public void TestSerializeUser()
        {
            System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();

            SCUser obj1 = SCObjectGenerator.PrepareUserObject();

            obj1.CreateDate     = DateTime.Now;
            obj1.VersionEndTime = new DateTime(567890);
            obj1.VersionEndTime = DateTime.MaxValue;
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            bf.Serialize(ms, obj1);

            ms.Seek(0, System.IO.SeekOrigin.Begin);

            SCUser obj2 = (SCUser)bf.Deserialize(ms);

            CommonAssert(obj1, obj2);
        }
Beispiel #8
0
        public void SchemaUserToXml()
        {
            SCUser user = SCObjectGenerator.PrepareUserObject();

            XElement userElem = new XElement("Root").AddChildElement("Object");

            user.ToXElement(userElem);

            Console.WriteLine(userElem.Parent.ToString());

            SCUser userDeserialized = new SCUser();

            userDeserialized.FromXElement(userElem);

            Assert.AreEqual(user.ID, userDeserialized.ID);
            Assert.AreEqual(user.Name, userDeserialized.Name);
            Assert.AreEqual(user.FirstName, userDeserialized.FirstName);
            Assert.AreEqual(user.LastName, userDeserialized.LastName);
        }
Beispiel #9
0
        public void LoadUserByXPathTest()
        {
            SchemaObjectAdapter.Instance.ClearAllData();

            SCUser user = SCObjectGenerator.PrepareUserObject();

            user.FirstName = "SZ's brother";
            string firstName = user.FirstName;

            //更新一次,插入最原始的版本
            SCActionContext.Current.DoActions(() => SchemaObjectAdapter.Instance.Update(user));

            string xPath = string.Format("Object[@FirstName=\"{0}\"]", firstName);

            SchemaObjectBase loadedUser = SchemaObjectAdapter.Instance.LoadByXPath(xPath, new string[] { "Users" }, DateTime.MinValue).FirstOrDefault();

            Assert.IsNotNull(loadedUser);
            Assert.AreEqual(firstName, loadedUser.Properties.GetValue("FirstName", string.Empty));
        }
Beispiel #10
0
        public void TestSerializeMemberRelation()
        {
            System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
            var role = SCObjectGenerator.PrepareRoleObject();
            var user = SCObjectGenerator.PrepareUserObject();
            var obj1 = new SCMemberRelation(role, user);

            obj1.CreateDate     = DateTime.Now;
            obj1.VersionEndTime = new DateTime(567890);
            obj1.VersionEndTime = DateTime.MaxValue;
            obj1.ID             = MCS.Library.Core.UuidHelper.NewUuidString();
            obj1.InnerSort      = 23;
            obj1.Status         = SchemaObjectStatus.Deleted;
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            bf.Serialize(ms, obj1);
            ms.Seek(0, System.IO.SeekOrigin.Begin);
            var obj2 = (SCMemberRelation)bf.Deserialize(ms);

            RelationAssert(obj1, obj2);
        }
Beispiel #11
0
        public void AddUserInOrganizationTest()
        {
            SCOrganization org  = SCObjectGenerator.PrepareOrganizationObject();
            SCUser         user = SCObjectGenerator.PrepareUserObject();

            SCRelationObject relation = UpdateRelation(org, user);

            org.ClearRelativeData();

            SCRelationObject relationLoaded = SchemaRelationObjectAdapter.Instance.Load(org.ID, user.ID);

            Console.WriteLine("Org ID: {0}, User ID: {1}", org.ID, user.ID);

            Assert.IsNotNull(relationLoaded);
            Assert.AreEqual(org.ID, relationLoaded.ParentID);
            Assert.AreEqual(user.ID, relationLoaded.ID);
            Assert.AreEqual(user.VersionStartTime, org.VersionStartTime);
            Assert.AreEqual(relation.VersionStartTime, org.VersionStartTime);

            ChildrenCheck(SCOrganization.GetRoot(), org, user);
            ParentsCheck(user, org, SCOrganization.GetRoot());
        }
Beispiel #12
0
        public void DuplicatePersistSchemaUser()
        {
            SCUser user = SCObjectGenerator.PrepareUserObject();

            string firstUserName = user.Name;

            //更新一次,插入最原始的版本
            SCActionContext.Current.DoActions(() => SchemaObjectAdapter.Instance.Update(user));

            //加载最原始的版本
            SCUser originalLoadedUser = (SCUser)SchemaObjectAdapter.Instance.Load(user.ID);

            originalLoadedUser.Name = "沈峥";

            //再更新一次,获取新版本
            SCActionContext.Current.DoActions(() => SchemaObjectAdapter.Instance.Update(originalLoadedUser));

            SCUser firstLoadedUser   = (SCUser)SchemaObjectAdapter.Instance.Load(originalLoadedUser.ID, originalLoadedUser.VersionStartTime);
            SCUser currentLoadedUser = (SCUser)SchemaObjectAdapter.Instance.Load(originalLoadedUser.ID);

            Assert.AreEqual(firstUserName, firstLoadedUser.Name);
            Assert.AreEqual(originalLoadedUser.Name, currentLoadedUser.Name);
        }