예제 #1
0
        private static void getGlobalGrTests()
        {
            globalGroupTest = new Dictionary <int, GlobalGroupForTest>();
            foreach (var value in ProgectData.GlobalGroup_data)
            {
                string  NgrTarget = value.IDGlobalGroup.ToString();
                UniPair newPair   = new UniPair();
                newPair.Ss       = value.SystemID;
                newPair.Pr       = value.ProductID;
                newPair.Analitic = "";
                //newPair.Exclude = "";
                newPair.Function_layer = "";
                char[]        separatorsTarget = new char[] { ',' };
                List <string> GlListTarget     = value.LocGroups.Split(separatorsTarget, StringSplitOptions.RemoveEmptyEntries).Select(p => p.Trim()).ToList();

                if (globalGroupTest.ContainsKey(value.IDGlobalGroup))
                {
                    if (newPair.Ss != "" || newPair.Pr != "")
                    {
                        globalGroupTest[value.IDGlobalGroup].UniPairsForTest.Add(newPair);
                    }
                    else
                    {
                        globalGroupTest[value.IDGlobalGroup].LockGroups.AddRange(GlListTarget);
                    }
                }
                else
                {
                    GlobalGroupForTest newList = new GlobalGroupForTest();
                    newList.LockGroups      = new List <string>();
                    newList.UniPairsForTest = new List <UniPair>();
                    newList.N = value.IDGlobalGroup;
                    if ((newPair.Ss != "" && newPair.Ss != null) || (newPair.Pr != "" && newPair.Pr != null))
                    {
                        newList.UniPairsForTest.Add(newPair);
                    }
                    else
                    {
                        newList.LockGroups.AddRange(GlListTarget);
                    }
                    globalGroupTest.Add(value.IDGlobalGroup, newList);
                }
            }
        }
예제 #2
0
        private static void CreateUniPaerExclude(Dictionary <int, UniPairs> uniPair, string N_excludeGroup, Error error)
        {
            UniPair newExcludePair = new UniPair();

            switch (N_excludeGroup)
            {
            case "1":
                newExcludePair.Ss             = error.Ss2;
                newExcludePair.Pr             = error.Pr2;
                newExcludePair.Analitic       = error.Analitic_2;
                newExcludePair.Function_layer = error.Function_layer_2;
                uniPair[Convert.ToInt32(error.group1)].Exclude.Add(newExcludePair);
                break;

            case "2":
                newExcludePair                = new UniPair();
                newExcludePair.Ss             = error.Ss1;
                newExcludePair.Pr             = error.Pr1;
                newExcludePair.Analitic       = error.Analitic_1;
                newExcludePair.Function_layer = error.Function_layer_1;
                uniPair[Convert.ToInt32(error.group2)].Exclude.Add(newExcludePair);
                break;
            }
        }
예제 #3
0
        private static bool cheak_equals(UniPair up, List <UniPair> excl_1, List <UniPair> excl_2)
        {
            var result = false;

            foreach (var exclude in excl_1)
            {
                bool Ss1       = Utils.Ss_equals_exclude(up.Ss, exclude.Ss);
                bool Pr1       = Utils.Pr_equals_exclude(up.Pr, exclude.Pr);
                bool analitic1 = Utils.Analitics_equals(up.Analitic, exclude.Analitic);
                bool Fl1       = Utils.FuncLayer_equals(up.Function_layer, exclude.Function_layer);
                if (Ss1 == true &&
                    Pr1 == true &&
                    analitic1 == true &&
                    Fl1 == true)
                {
                    result = true;
                    break;
                }
            }
            foreach (var exclude in excl_2)
            {
                bool Ss1       = Utils.Ss_equals_exclude(up.Ss, exclude.Ss);
                bool Pr1       = Utils.Pr_equals_exclude(up.Pr, exclude.Pr);
                bool analitic1 = Utils.Analitics_equals(up.Analitic, exclude.Analitic);
                bool Fl1       = Utils.FuncLayer_equals(up.Function_layer, exclude.Function_layer);
                if (Ss1 == true &&
                    Pr1 == true &&
                    analitic1 == true &&
                    Fl1 == true)
                {
                    result = true;
                    break;
                }
            }
            return(result);
        }