Example #1
0
        internal WSTableSource Clone(MetaFunctions _Func, byte?_UserRole = null)
        {
            WSTableSource src = new WSTableSource(ReturnType, SecurityZone, NAME, _Func, _UserRole == null ? UserRole : (byte)_UserRole, false, AccessLevel, AVAILABLE_FORMATS, ALIACES);

            src.PrintStatus             = PrintStatus;
            src.ShowMessageInaccessible = ShowMessageInaccessible;
            src.AllowOwnerAccess        = AllowOwnerAccess;
            src.BaseFilter            = BaseFilter == null ? null : BaseFilter.JString.ToJson();
            src.DeletableFilter       = DeletableFilter == null ? null : DeletableFilter.JString.ToJson();
            src.EditableFilter        = EditableFilter == null ? null : EditableFilter.JString.ToJson();
            src.CreatableFilter       = CreatableFilter == null ? null : CreatableFilter.JString.ToJson();
            src.ReadableFilter        = ReadableFilter == null ? null : ReadableFilter.JString.ToJson();
            src.DefaultSchemaDeepness = DefaultSchemaDeepness;
            src._IsReadableBySchema   = _IsReadableBySchema;
            src._IsCreatableBySchema  = _IsCreatableBySchema;
            src._IsEditableBySchema   = _IsEditableBySchema;
            src._IsDeletableBySchema  = _IsDeletableBySchema;
            src.Params = Params.Select(x => x is WSTableParam ? ((WSTableParam)x).Clone() : x.Clone());
            //PrimParams = PrimParams == null ? null : PrimParams.Select(c => c.Clone());
            src.DeleteFlag = DeleteFlag == null ? null : DeleteFlag.Clone();
            //Json = Json;
            //CoreSchema = CoreSchema;
            src./*_*/ SecurityZone = SecurityZone;
            src.BaseSchema         = BaseSchema == null?null:(WSEntitySchema)BaseSchema.Clone(src);
            //src._IsReady = null;
            return(src);
        }