Exemplo n.º 1
0
 /// <summary>
 /// Test for empty object
 /// </summary>
 /// <returns>bool</returns>
 public bool IsEmpty()
 {
     return(IfcProductFilter.IsEmpty() && IfcTypeObjectFilter.IsEmpty() && IfcAssemblyFilter.IsEmpty() &&
            ZoneFilter.IsEmpty() && TypeFilter.IsEmpty() && SpaceFilter.IsEmpty() &&
            FloorFilter.IsEmpty() && FacilityFilter.IsEmpty() && SpareFilter.IsEmpty() &&
            ComponentFilter.IsEmpty() && CommonFilter.IsEmpty());
 }
Exemplo n.º 2
0
        public void SpaceFilterTest(string word, bool isKeep)
        {
            var wl = new WordLibrary();

            wl.Word = word;
            SpaceFilter filter = new SpaceFilter();

            Assert.AreEqual(filter.IsKeep(wl), isKeep);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Test Property Set Names against sheets
        /// </summary>
        /// <param name="testStr">Name string to test</param>
        /// <param name="parent">Parent object</param>
        /// <returns>bool</returns>
        public bool PSetNameFilterOnSheetName(string testStr, CobieObject parent = null)
        {
            bool result = false;

            if (!string.IsNullOrEmpty(testStr))
            {
                result = CommonFilter.PSetNameFilter(testStr);
                if (!result)
                {
                    if (parent == null)
                    {
                        result = false;
                    }
                    else if ((parent is Zone) && (ZoneFilter != null))
                    {
                        result = ZoneFilter.PSetNameFilter(testStr);
                    }
                    else if ((parent is AssetType) && (TypeFilter != null))
                    {
                        result = TypeFilter.PSetNameFilter(testStr);
                    }
                    else if ((parent is Space) && (SpaceFilter != null))
                    {
                        result = SpaceFilter.PSetNameFilter(testStr);
                    }
                    else if ((parent is Floor) && (FloorFilter != null))
                    {
                        result = FloorFilter.PSetNameFilter(testStr);
                    }
                    else if ((parent is Facility) && (FacilityFilter != null))
                    {
                        result = FacilityFilter.PSetNameFilter(testStr);
                    }
                    else if ((parent is Spare) && (SpareFilter != null))
                    {
                        result = SpareFilter.PSetNameFilter(testStr);
                    }
                    else if ((parent is Asset) && (ComponentFilter != null))
                    {
                        result = ComponentFilter.PSetNameFilter(testStr);
                    }
                    else
                    {
                        result = false;
                    }
                }
            }
            //don't flip property sets as this excludes all the attributes, so we do not see attribute name exclusions as all property sets get excluded
            //return FlipResult ? !result : result;
            return(result);
        }
Exemplo n.º 4
0
        //TODO: IfcProperty filterining on IfcObjects

        /// <summary>
        /// Test property Names against sheets
        /// </summary>
        /// <param name="testStr">Name string to test</param>
        /// <param name="parent">Parent object</param>
        /// <returns>bool</returns>
        public bool NameFilterOnParent(string testStr, CobieObject parent = null)
        {
            var result = false;

            if (!string.IsNullOrEmpty(testStr))
            {
                result = CommonFilter.NameFilter(testStr);
                if (!result)
                {
                    if (parent == null)
                    {
                        result = false;
                    }
                    else if ((parent is Zone) && (ZoneFilter != null))
                    {
                        result = ZoneFilter.NameFilter(testStr);
                    }
                    else if ((parent is AssetType) && (TypeFilter != null))
                    {
                        result = TypeFilter.NameFilter(testStr);
                    }
                    else if ((parent is Space) && (SpaceFilter != null))
                    {
                        result = SpaceFilter.NameFilter(testStr);
                    }
                    else if ((parent is Floor) && (FloorFilter != null))
                    {
                        result = FloorFilter.NameFilter(testStr);
                    }
                    else if ((parent is Facility) && (FacilityFilter != null))
                    {
                        result = FacilityFilter.NameFilter(testStr);
                    }
                    else if ((parent is Spare) && (SpareFilter != null))
                    {
                        result = SpareFilter.NameFilter(testStr);
                    }
                    else if ((parent is Asset) && (ComponentFilter != null))
                    {
                        result = ComponentFilter.NameFilter(testStr);
                    }
                    else
                    {
                        result = false;
                    }
                }
            }
            return(FlipResult ? !result : result);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Merge OutPutFilters
        /// </summary>
        /// <param name="mergeFilter">OutPutFilters</param>
        public void Merge(OutPutFilters mergeFilter)
        {
            IfcProductFilter.MergeInc(mergeFilter.IfcProductFilter);
            IfcTypeObjectFilter.MergeInc(mergeFilter.IfcTypeObjectFilter);
            IfcAssemblyFilter.MergeInc(mergeFilter.IfcAssemblyFilter);

            ZoneFilter.Merge(mergeFilter.ZoneFilter);
            TypeFilter.Merge(mergeFilter.TypeFilter);
            SpaceFilter.Merge(mergeFilter.SpaceFilter);
            FloorFilter.Merge(mergeFilter.FloorFilter);
            FacilityFilter.Merge(mergeFilter.FacilityFilter);
            SpareFilter.Merge(mergeFilter.SpareFilter);
            ComponentFilter.Merge(mergeFilter.ComponentFilter);
            CommonFilter.Merge(mergeFilter.CommonFilter);
        }
Exemplo n.º 6
0
        public async Task <IEnumerable <DbSpace> > FindAllAsync(SpaceFilter filter = null)
        {
            var result = await dbContext.Spaces
                         .Include(s => s.Spaces)
                         .Include(s => s.MapFile)
                         .Include(s => s.SpaceType)
                         .Where(s => s.Parent == null &&
                                (filter == null ||
                                 s.OfficeId == filter.OfficeId))
                         .ToListAsync();

            Parallel.ForEach(
                result,
                async(space) => await LoadNestedSpaces(space));

            return(result);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Clear OutPutFilters
        /// </summary>
        public void Clear()
        {
            AppliedRoles = 0;

            IfcProductFilter.Clear();
            IfcTypeObjectFilter.Clear();
            IfcAssemblyFilter.Clear();

            ZoneFilter.Clear();
            TypeFilter.Clear();
            SpaceFilter.Clear();
            FloorFilter.Clear();
            FacilityFilter.Clear();
            SpareFilter.Clear();
            ComponentFilter.Clear();
            CommonFilter.Clear();
        }
Exemplo n.º 8
0
        /// <summary>
        /// Copy the OutPutFilters
        /// </summary>
        /// <param name="copyFilter">OutPutFilters to copy </param>
        public void Copy(OutPutFilters copyFilter)
        {
            AppliedRoles = copyFilter.AppliedRoles;

            IfcProductFilter.Copy(copyFilter.IfcProductFilter);
            IfcTypeObjectFilter.Copy(copyFilter.IfcTypeObjectFilter);
            IfcAssemblyFilter.Copy(copyFilter.IfcAssemblyFilter);

            ZoneFilter.Copy(copyFilter.ZoneFilter);
            TypeFilter.Copy(copyFilter.TypeFilter);
            SpaceFilter.Copy(copyFilter.SpaceFilter);
            FloorFilter.Copy(copyFilter.FloorFilter);
            FacilityFilter.Copy(copyFilter.FacilityFilter);
            SpareFilter.Copy(copyFilter.SpareFilter);
            ComponentFilter.Copy(copyFilter.ComponentFilter);
            CommonFilter.Copy(copyFilter.CommonFilter);
        }
Exemplo n.º 9
0
        public async Task <Response <IEnumerable <SpaceResponse> > > FindAllAsync(SpaceFilter filter)
        {
            var spaces = await spaceRepository.FindAllAsync(filter);

            var result         = automapper.Map <IEnumerable <SpaceResponse> >(spaces);
            var spaceResponses = result.ToList();

            Parallel.ForEach(spaceResponses, async(space) =>
            {
                var response = await workplaceServiceClient.GetWorkplacesAsync(
                    new GetWorkplacesRequest
                {
                    SpaceId = space.SpaceId
                });

                if (response.Status == ResponseResult.Success)
                {
                    space.Workplaces =
                        automapper.Map <IEnumerable <WorkplaceResponse> >(response.Result);
                }
            });
            return(new Response <IEnumerable <SpaceResponse> >(spaceResponses));
        }
Exemplo n.º 10
0
 public static IEnumerable <(TPos, TVal)> Select <TPos, TVal>(this AlignedSpace <TPos, TVal> space, SpaceFilter <TPos, TVal> filter)
 {
     foreach (var(pos, val) in space)
Exemplo n.º 11
0
        private CommandType RunCommand(string command)
        {
            if (command == "--help" || command == "-?")
            {
                showHelp(this.cbxImportItems);
                return(CommandType.Help);
            }
            if (command == "--version" || command == "-v")
            {
                Console.WriteLine("Version:" + Assembly.GetExecutingAssembly().GetName().Version);
                return(CommandType.Help);
            }
            if (command.StartsWith("-i:"))
            {
                wordLibraryImport = GetImportInterface(command.Substring(3));
                beginImportFile   = true;
                return(CommandType.Import);
            }

            if (command.StartsWith("-o:"))
            {
                wordLibraryExport = GetExportInterface(command.Substring(3));
                beginImportFile   = false;
                return(CommandType.Export);
            }
            if (command.StartsWith("-c:")) //code
            {
                codingFile = command.Substring(3);
                pattern.MappingTablePath = codingFile;
                pattern.IsPinyinFormat   = false;
                beginImportFile          = false;
                return(CommandType.Coding);
            }
            if (command.StartsWith("-ft:")) //filter
            {
                var   filterStrs = command.Substring(4);
                Regex lenRegex   = new Regex(@"len:(\d+)-(\d+)");
                Regex rankRegex  = new Regex(@"rank:(\d+)-(\d+)");
                Regex rmRegex    = new Regex(@"rm:(\w+)");
                foreach (var filterStr in filterStrs.Split('|'))
                {
                    if (lenRegex.IsMatch(filterStr))
                    {
                        var match        = lenRegex.Match(filterStr);
                        var from         = Convert.ToInt32(match.Groups[1].Value);
                        var to           = Convert.ToInt32(match.Groups[2].Value);
                        var numberFilter = new LengthFilter()
                        {
                            MinLength = from, MaxLength = to
                        };
                        this.filters.Add(numberFilter);
                    }
                    else if (rankRegex.IsMatch(filterStr))
                    {
                        var match   = rankRegex.Match(filterStr);
                        var from    = Convert.ToInt32(match.Groups[1].Value);
                        var to      = Convert.ToInt32(match.Groups[2].Value);
                        var rFilter = new RankFilter()
                        {
                            MinLength = from, MaxLength = to
                        };
                        this.filters.Add(rFilter);
                    }
                    else if (rmRegex.IsMatch(filterStr))
                    {
                        var           match  = rmRegex.Match(filterStr);
                        var           rmType = match.Groups[1].Value;
                        ISingleFilter filter;
                        switch (rmType)
                        {
                        case "eng": filter = new EnglishFilter(); break;

                        case "num": filter = new NumberFilter(); break;

                        case "space": filter = new SpaceFilter(); break;

                        case "pun": filter = new EnglishPunctuationFilter(); break;

                        default: throw new ArgumentException("Unsupport filter type:" + rmType);
                        }
                        this.filters.Add(filter);
                    }
                }
                return(CommandType.Coding);
            }
            if (command.StartsWith("-ct:")) //code type
            {
                var codeType = command.Substring(4).ToLower();
                switch (codeType)
                {
                case "pinyin": pattern.CodeType = CodeType.Pinyin; break;

                case "wubi": pattern.CodeType = CodeType.Wubi; break;

                case "zhengma": pattern.CodeType = CodeType.Zhengma; break;

                case "cangjie": pattern.CodeType = CodeType.Cangjie; break;

                case "zhuyin": pattern.CodeType = CodeType.TerraPinyin; break;

                default: pattern.CodeType = CodeType.Pinyin; break;
                }
                return(CommandType.CodeType);
            }
            if (command.StartsWith("-r:")) //Rank
            {
                var rankType = command.Substring(3).ToLower();
                switch (rankType)
                {
                case "baidu": this.wordRankGenerater = new BaiduWordRankGenerater(); break;

                case "google": this.wordRankGenerater = new GoogleWordRankGenerater(); break;

                default: {
                    var rankNumber = Convert.ToInt32(rankType);
                    var gen        = new DefaultWordRankGenerater();
                    gen.ForceUse           = true;
                    gen.Rank               = rankNumber;
                    this.wordRankGenerater = gen;
                } break;
                }
                return(CommandType.CodeType);
            }
            if (command.StartsWith("-os:")) //code type
            {
                var os = command.Substring(4).ToLower();
                switch (os)
                {
                case "windows": pattern.OS = OperationSystem.Windows; break;

                case "mac":
                case "macos": pattern.OS = OperationSystem.MacOS; break;

                case "linux":
                case "unix": pattern.OS = OperationSystem.Linux; break;

                default: pattern.OS = OperationSystem.Windows; break;
                }
                return(CommandType.OS);
            }
            if (command.StartsWith("-ld2:")) //ld2 encoding
            {
                string   ecodes = command.Substring(5);
                string[] arr    = ecodes.Split(',');

                wordEncoding = Encoding.GetEncoding(arr[0]);
                if (arr.Length > 1)
                {
                    xmlEncoding = Encoding.GetEncoding(arr[1]);
                }

                return(CommandType.Encoding);
            }
            if (command.StartsWith("-f:")) //format
            {
                format          = command.Substring(3);
                beginImportFile = false;
                var sort = new List <int>();
                for (int i = 0; i < 3; i++)
                {
                    char c = format[i];
                    sort.Add(Convert.ToInt32(c));
                }
                pattern.Sort            = sort;
                pattern.CodeSplitString = format[3].ToString();
                pattern.SplitString     = format[4].ToString();
                string t = format[5].ToString().ToLower();
                beginImportFile = false;
                if (t == "l")
                {
                    pattern.CodeSplitType = BuildType.LeftContain;
                }
                if (t == "r")
                {
                    pattern.CodeSplitType = BuildType.RightContain;
                }
                if (t == "b")
                {
                    pattern.CodeSplitType = BuildType.FullContain;
                }
                if (t == "n")
                {
                    pattern.CodeSplitType = BuildType.None;
                }
                pattern.ContainCode = (format[6].ToString().ToLower() == "y");
                pattern.ContainRank = (format[8].ToString().ToLower() == "y");
                return(CommandType.Format);
            }

            if (beginImportFile)
            {
                importPaths.AddRange(FileOperationHelper.GetFilesPath(command));
            }
            if (type == CommandType.Export)
            {
                exportPath = command;
            }
            return(CommandType.Other);
        }