Beispiel #1
0
        public void Complex()
        {
            var dic = new DicS <int>(1000);

            dic.Clear();
            Assert.AreEqual(0, dic.Count);
            dic.Add("First", 1);
            dic.Add("Second", 2);
            Assert.AreEqual(2, dic.Count);
            Assert.AreEqual(1, dic["first"]);
            Assert.AreEqual(1, dic.Get("FIRST"));
            Assert.AreEqual(2, dic["Second"]);
            var dicAdd = new DicS <int>();

            dicAdd.Add("second", 22);
            dicAdd.Add("third", 33);
            dic.AddDic(dicAdd);
            Assert.AreEqual(3, dic.Count);
            Assert.IsTrue(dic.ContainsKey("THIRD"));
            Assert.IsTrue(dic.ContainsKey("Second"));
            Assert.AreEqual(56, dic.Values.Sum());
            dic.AddDic(dicAdd);
            Assert.AreEqual(3, dic.Count);
            Assert.AreEqual(1, dic["first"]);
            Assert.AreEqual(22, dic["second"]);
            Assert.AreEqual(33, dic["third"]);
            dic.Remove((k, v) => v == 33 || k.ToLower() == "second");
            Assert.AreEqual(1, dic.Count);
            Assert.IsTrue(dic.ContainsKey("First"));
            Assert.IsFalse(dic.ContainsKey("Second"));
        }
Beispiel #2
0
        public void Simple()
        {
            var dic = new DicS <string>();

            Assert.AreEqual(0, dic.Count);
            dic.Add("a", "sa");
            dic.Add("B", "sB");
            Assert.IsTrue(dic.ContainsKey("a"));
            Assert.IsTrue(dic.ContainsKey("b"));
            Assert.AreEqual("sa", dic["a"]);
            Assert.AreEqual("sB", dic["B"]);
            Assert.AreEqual("sa", dic.Get("A"));
            Assert.AreEqual("sB", dic.Get("b", "h"));
            Assert.IsNull(dic["c"]);
            Assert.AreEqual("h", dic.Get("c", "h"));
            Assert.AreEqual(2, dic.Count);
            dic.Add("b", "gghsdauh");
            Assert.AreEqual(2, dic.Count);
            Assert.AreEqual("sB", dic["B"]);
            dic["b"] = "gg";
            Assert.AreEqual(2, dic.Count);
            Assert.AreEqual("gg", dic["B"]);
            dic.Add("c", "SC");
            Assert.IsTrue(dic.ContainsKey("C"));
            Assert.AreEqual(3, dic.Count);
            dic.Add("b", "ssb", true);
            Assert.IsTrue(dic.ContainsKey("b"));
            Assert.IsTrue(dic.ContainsKey("c"));
            Assert.AreEqual("ssb", dic["b"]);
            Assert.IsTrue(dic.Keys.Contains("B"));
            Assert.IsTrue(dic.Values.Contains("ssb"));
            dic.Remove("C");
            Assert.AreEqual(2, dic.Count);
            Assert.IsFalse(dic.ContainsKey("c"));
            Assert.IsNull(dic["c"]);
            Assert.AreEqual("def", dic.Get("C", "def"));
            Assert.IsFalse(dic.Remove("C"));
            Assert.IsFalse(dic.ContainsKey("c"));
            Assert.AreEqual("def", dic.Get("C", "def"));
            Assert.IsFalse(dic.ContainsKey(null));
            dic.Clear();
            Assert.AreEqual(0, dic.Count);
            Assert.IsNull(dic["a"]);
            Assert.IsFalse(dic.ContainsKey("c"));
            Assert.IsFalse(dic.ContainsKey("a"));
        }
Beispiel #3
0
 //Загрузка дополнительных настроек провайдера из Inf
 protected override void GetAdditionalInf(DicS <string> inf)
 {
     ServerGroup = inf.Get("ServerGroup", "");
 }
Beispiel #4
0
        //Загружает список провайдеров в соответствии со списком проектов, ControllerData и уже загруженным списком провайдеров
        private void UpdateProvidersList()
        {
            if (!_setupIsLoaded)
            {
                return;
            }
            foreach (DataGridViewRow row in Providers.Rows)
            {
                string name = row.Get("ProviderName");
                _codes.Add(name, row.Get("ProviderCode"), true);
                _infs.Add(name, row.Get("ProviderInf"), true);
            }
            Providers.Rows.Clear();

            ProjectCode2.Visible = AllowProjectsRepetitions.Checked;
            if (AllowProjectsRepetitions.Checked)
            {
                UseOneArchive.Checked = false;
                UseOneArchive.Visible = false;
            }
            else
            {
                UseOneArchive.Visible = true;
            }

            AddProviderToGrid("Архив", "Report_Archive", "Архив журнала отчетов", _codes.Get("Report_Archive", "AccessArchive"), _infs["Report_Archive"]);
            bool hasSingle = false;

            foreach (DataGridViewRow row in Projects.Rows)
            {
                hasSingle |= !row.IsNewRow && row.Get("ProjectCalcMode").ToCalcModeType() == CalcModeType.Internal;
            }
            labelThreadId.Visible = hasSingle;
            ThreadId.Visible      = hasSingle;
            IsImit.Visible        = hasSingle;
            ImitMode.Visible      = hasSingle;
            ImitMode.Enabled      = IsImit.Checked;

            var set = new HashSet <string>();

            foreach (DataGridViewRow row in Projects.Rows)
            {
                if (!row.IsNewRow)
                {
                    string proj = row.Get("Project");
                    if (AllowProjectsRepetitions.Checked && !row.Get("ProjectCode2").IsEmpty())
                    {
                        proj = row.Get("ProjectCode2");
                    }
                    string name = proj + "_Archive";
                    if (row.Get("ProjectCalcMode").ToCalcModeType() != CalcModeType.Internal)
                    {
                        if (!UseOneArchive.Checked)
                        {
                            AddProviderToGrid("Архив", name, "Архив проекта " + proj, _codes.Get(name, "AccessArchive"), _infs[name]);
                        }
                    }
                    else
                    {
                        try
                        {
                            var projFile = row.Get("ProjectFile");
                            if (new FileInfo(projFile).Exists)
                            {
                                using (var rec = new ReaderAdo(projFile, "SELECT * FROM Providers"))
                                    while (rec.Read())
                                    {
                                        string type  = rec.GetString("ProviderType");
                                        var    sname = type == "Архив" ? "CalcArchive" : rec.GetString("ProviderName");
                                        if (!set.Contains(sname) && (type == "Источник" || type == "Приемник" || (type == "Архив" && !UseOneArchive.Checked) || (type == "Имитатор" && IsImit.Checked)))
                                        {
                                            if (_codes.ContainsKey(sname))
                                            {
                                                AddProviderToGrid(type, sname, type + " потока отчета", _codes[sname], _infs[sname]);
                                            }
                                            else
                                            {
                                                AddProviderToGrid(type, sname, type + " потока отчета", rec.GetString("ProviderCode"), "");
                                            }
                                            set.Add(sname);
                                        }
                                    }
                            }
                        }
                        catch { }
                    }
                }
            }
        }
Beispiel #5
0
 //Чтение настроек
 protected override void ReadInf(DicS <string> dic)
 {
     DbFile = dic.Get("DbFile");
 }