/// <summary>
        /// 得到某个Schema角色在管理单元下的角色ID
        /// </summary>
        /// <param name="auCodeName"></param>
        /// <returns></returns>
        public ClientAURole GetAURoleObject(string auCodeName)
        {
            ClientAURole result = null;

            if (auCodeName.IsNotEmpty())
            {
                lock (this._ClientAUSyncObject)
                {
                    if (this._LastestAUCodeName != auCodeName)
                    {
                        ClientSchemaObjectBase au = AUCenterQueryService.Instance.GetObjectsByCodeNames(new string[] { auCodeName }, WrappedAUSchemaRole.AUSchemaType, true).FirstOrDefault();

                        if (au != null)
                        {
                            this._ClientRoleObject = AUCenterQueryService.Instance.GetAURoleBySchemaRoleID(au.ID, this.SchemaRoleID, true);
                        }
                        else
                        {
                            this._ClientRoleObject = null;
                        }

                        result = this._ClientRoleObject;
                        this._LastestAUCodeName = auCodeName;
                    }
                    else
                    {
                        result = this._ClientRoleObject;
                    }
                }
            }

            return(result);
        }
Exemple #2
0
 private static void EnsureID(ClientSchemaObjectBase clientObject)
 {
     if (clientObject.ID.IsNullOrEmpty())
     {
         clientObject.ID = UuidHelper.NewUuidString();
     }
 }
Exemple #3
0
        public static SchemaObjectBase ToSchemaObject(this ClientSchemaObjectBase clientObj, bool validateID)
        {
            clientObj.NullCheck("clientObj");
            clientObj.SchemaType.CheckStringIsNullOrEmpty("SchemaType");

            var config             = SchemaDefine.GetSchemaConfig(clientObj.SchemaType);
            SchemaObjectBase scObj = (SchemaObjectBase)config.CreateInstance();

            scObj.ID = clientObj.ID;

            if (validateID && clientObj.ID.IsNullOrEmpty())
            {
                throw new InvalidOperationException("客户端对象ID不存在");
            }

            scObj.Status           = (SchemaObjectStatus)clientObj.Status;
            scObj.CreateDate       = clientObj.CreateDate;
            scObj.VersionStartTime = clientObj.VersionStartTime;
            scObj.VersionEndTime   = clientObj.VersionEndTime;

            scObj.Properties.CopyFrom(clientObj.Properties);

            if (clientObj.Creator != null)
            {
                scObj.Creator = (IUser)OguBase.CreateWrapperObject(clientObj.Creator.ID, SchemaType.Users);
            }

            return(scObj);
        }
Exemple #4
0
 public ClientSchemaObjectBase Echo(ClientSchemaObjectBase clientObj, bool viaSCObject)
 {
     if (viaSCObject)
     {
         return(clientObj.ToSchemaObject().ToClientSchemaObject());
     }
     else
     {
         return(clientObj);
     }
 }
Exemple #5
0
        public ClientSchemaObjectBase UpdateObjectImageProperty(ClientSchemaObjectBase obj, string propertyName, string imageID)
        {
            var image = MCS.Library.SOA.DataObjects.ImagePropertyAdapter.Instance.Load(imageID);

            if (image == null)
            {
                throw new ApplicationException("图像未找到");
            }

            return(Facade.UpdateObjectImageProperty(obj.ToSchemaObject(), propertyName, image).ToClientSchemaObject());
        }
Exemple #6
0
        public static void CheckIDProvided(ClientSchemaObjectBase obj)
        {
            if (obj == null)
            {
                throw new ArgumentNullException("obj");
            }

            if (string.IsNullOrEmpty(obj.ID))
            {
                throw new ArgumentException("对象的ID未提供有效值");
            }
        }
Exemple #7
0
        public static ClientSchemaObjectBase[] ToClientSchemaObjectBaseObjectArray(this SchemaObjectCollection pcObjects)
        {
            pcObjects.NullCheck("pcObjects");

            ClientSchemaObjectBase[] result = new ClientSchemaObjectBase[pcObjects.Count];

            int i = 0;

            foreach (SchemaObjectBase pcObj in pcObjects)
            {
                result[i++] = pcObj.ToClientSchemaObjectBaseObject();
            }

            return(result);
        }
        private static ClientSchemaObjectBase[] GetObjectByIDInner(string[] ids, string[] objectSchemaTypes, bool normalOnly)
        {
            objectSchemaTypes.NullCheck("objectSchemaTypes");

            ClientSchemaObjectBase[] result;

            bool noIDMatch = ids != null && ids.Length == 0;

            if (noIDMatch)
            {
                result = new ClientSchemaObjectBase[0];
            }
            else
            {
                ConnectiveSqlClauseCollection builder = new ConnectiveSqlClauseCollection();
                if (ids != null)
                {
                    InSqlClauseBuilder idInBuilder = new InSqlClauseBuilder("ID");
                    idInBuilder.AppendItem(ids);

                    builder.Add(idInBuilder);
                }

                if (objectSchemaTypes != null)
                {
                    InSqlClauseBuilder typeInBuilder = new InSqlClauseBuilder("SchemaType");
                    typeInBuilder.AppendItem(objectSchemaTypes);
                    builder.Add(typeInBuilder);
                }

                if (normalOnly)
                {
                    builder.Add((IConnectiveSqlClause) new WhereSqlClauseBuilder().AppendItem("Status", (int)SchemaObjectStatus.Normal));
                }

                if (builder.IsEmpty == false)
                {
                    result = SchemaObjectAdapter.Instance.Load(builder, SimpleRequestSoapMessage.Current.TimePoint).ToClientSCBaseObjectArray();
                }
                else
                {
                    result = new ClientSchemaObjectBase[0];
                }
            }

            return(result);
        }
Exemple #9
0
        public static ClientSchemaObjectBase CreateClientBaseObject(string schemaType)
        {
            schemaType.CheckStringIsNullOrEmpty("schemaType");

            ClientSchemaObjectBase result = null;

            Type targetType = null;

            if (SCObjectToClientHelper._SchemaToType.TryGetValue(schemaType, out targetType))
            {
                result = (ClientSchemaObjectBase)TypeCreator.CreateInstance(targetType, schemaType);
            }
            else
            {
                result = new ClientGenericObject(schemaType);
            }

            return(result);
        }
Exemple #10
0
        private static void FillCommon(SchemaObjectBase pcObj, ClientSchemaObjectBase clientObj)
        {
            pcObj.NullCheck("pcObj"); clientObj.NullCheck("clientObj");

            clientObj.ID               = pcObj.ID;
            clientObj.CreateDate       = pcObj.CreateDate;
            clientObj.SchemaType       = pcObj.SchemaType;
            clientObj.Status           = (ClientSchemaObjectStatus)pcObj.Status;
            clientObj.VersionEndTime   = pcObj.VersionEndTime;
            clientObj.VersionStartTime = pcObj.VersionStartTime;

            if (pcObj.Creator != null)
            {
                clientObj.Creator = new ClientOguUser()
                {
                    DisplayName = string.IsNullOrEmpty(pcObj.Creator.DisplayName) ? pcObj.Creator.Name : pcObj.Creator.DisplayName, ID = pcObj.Creator.ID
                };
            }

            pcObj.Properties.CopyTo(clientObj.Properties);
        }
 public ClientSchemaObjectBase UpdateObjectImageProperty(ClientSchemaObjectBase obj, string propertyName, string imageID)
 {
     return((ClientSchemaObjectBase)this.Invoke("UpdateObjectImageProperty", new object[] { obj, propertyName, imageID })[0]);
 }
 public ClientSchemaObjectBase Echo(ClientSchemaObjectBase clientObj, bool viaSCObject)
 {
     return(this.Invoke("Echo", new object[] { clientObj, viaSCObject })[0] as ClientSchemaObjectBase);
 }
Exemple #13
0
 public static SchemaObjectBase ToSchemaObject(this ClientSchemaObjectBase clientObj)
 {
     return(ToSchemaObject(clientObj, true));
 }