コード例 #1
0
        public void MassUpdate_NoVersions_ForDisabledVersionControl()
        {
            var values   = new List <Dictionary <string, string> >();
            var ints1    = new[] { CategoryIds[1], CategoryIds[3], CategoryIds[5] };
            var ints2    = new[] { CategoryIds[2], CategoryIds[3], CategoryIds[4] };
            var article1 = new Dictionary <string, string>
            {
                [FieldName.ContentItemId] = "0",
                ["Title"]                = "newtest",
                ["Categories"]           = string.Join(",", ints1),
                [FieldName.StatusTypeId] = PublishedId.ToString()
            };

            values.Add(article1);
            var article2 = new Dictionary <string, string>
            {
                [FieldName.ContentItemId] = "0",
                ["Title"]                = "newtest",
                ["Categories"]           = string.Join(",", ints2),
                [FieldName.StatusTypeId] = PublishedId.ToString()
            };

            values.Add(article2);
            var ids = new[] { int.Parse(article1[FieldName.ContentItemId]), int.Parse(article2[FieldName.ContentItemId]) };

            Assert.DoesNotThrow(() => DbConnector.MassUpdate(ContentId, values, 1), "Create");
            Assert.DoesNotThrow(() => DbConnector.MassUpdate(ContentId, values, 1), "Change");

            var versions = Global.GetMaxVersions(DbConnector, ids);

            Assert.That(versions, Is.Empty, "Versions created");
        }
コード例 #2
0
ファイル: L4D2Mod.cs プロジェクト: xavier-cai/L4D2ModManager
 public void LoadJson(string json, string description)
 {
     Newtonsoft.Json.Linq.JObject j = Newtonsoft.Json.Linq.JObject.Parse(json);
     foreach (var v in j)
     {
         var prop = this.GetType().GetProperty(v.Key);
         prop.SetValue(this, v.Value.ToObject(prop.PropertyType));
         if (v.Key == "Tags")
         {
             Tags = Tags[0].ToLower().Split(',');
         }
         else if (v.Key == "PublishedId")
         {
             FileName = PublishedId.ToString() + ".vpk";
         }
     }
     Description = description;
     HandleTags();
 }
コード例 #3
0
        public void MassUpdate_NoSplitAndMerge_ForSynWorkflow()
        {
            var values   = new List <Dictionary <string, string> >();
            var ints1    = new[] { CategoryIds[1], CategoryIds[3], CategoryIds[5] };
            var ints2    = new[] { CategoryIds[2], CategoryIds[3], CategoryIds[4] };
            var article1 = new Dictionary <string, string>
            {
                [FieldName.ContentItemId] = "0",
                ["Title"]                = "newtest",
                ["Categories"]           = string.Join(",", ints1),
                [FieldName.StatusTypeId] = PublishedId.ToString()
            };

            values.Add(article1);
            var article2 = new Dictionary <string, string>
            {
                [FieldName.ContentItemId] = "0",
                ["Title"]                = "newtest",
                ["Categories"]           = string.Join(",", ints2),
                [FieldName.StatusTypeId] = PublishedId.ToString()
            };

            values.Add(article2);
            Assert.DoesNotThrow(() => DbConnector.MassUpdate(ContentId, values, 1), "Create");

            var ids1       = new[] { int.Parse(article1[FieldName.ContentItemId]) };
            var ids2       = new[] { int.Parse(article2[FieldName.ContentItemId]) };
            var intsSaved1 = Global.GetLinks(DbConnector, ids1);
            var intsSaved2 = Global.GetLinks(DbConnector, ids2);

            Assert.That(ints1, Is.EqualTo(intsSaved1), "First article M2M saved");
            Assert.That(ints2, Is.EqualTo(intsSaved2), "Second article M2M saved");
            if (EfLinksExists)
            {
                var intsEfSaved1 = Global.GetEfLinks(DbConnector, ids1, LinkId);
                var intsEfSaved2 = Global.GetEfLinks(DbConnector, ids2, LinkId);
                Assert.That(ints1, Is.EqualTo(intsEfSaved1), "First article EF M2M saved");
                Assert.That(ints2, Is.EqualTo(intsEfSaved2), "Second article EF M2M saved");
            }

            var titles   = new[] { "xnewtest", "xnewtest" };
            var intsNew1 = new[] { CategoryIds[0], CategoryIds[2], CategoryIds[3] };
            var intsNew2 = new[] { CategoryIds[3], CategoryIds[5] };

            article1["Categories"]           = string.Join(",", intsNew1);
            article2["Categories"]           = string.Join(",", intsNew2);
            article1["Title"]                = titles[0];
            article2["Title"]                = titles[1];
            article1[FieldName.StatusTypeId] = NoneId.ToString();
            article2[FieldName.StatusTypeId] = NoneId.ToString();

            Assert.DoesNotThrow(() => DbConnector.MassUpdate(ContentId, values, 1), "Change to none");
            var intsUpdated1      = Global.GetLinks(DbConnector, ids1);
            var intsUpdated2      = Global.GetLinks(DbConnector, ids2);
            var intsUpdatedAsync1 = Global.GetLinks(DbConnector, ids1, true);
            var intsUpdatedAsync2 = Global.GetLinks(DbConnector, ids2, true);

            Assert.That(intsNew1, Is.EqualTo(intsUpdated1), "First article M2M (main) saved");
            Assert.That(intsNew2, Is.EqualTo(intsUpdated2), "Second article M2M (main) saved");
            Assert.That(intsUpdatedAsync1, Is.Empty, "No first async M2M ");
            Assert.That(intsUpdatedAsync2, Is.Empty, "No second async M2M ");

            if (EfLinksExists)
            {
                var intsEfUpdated2      = Global.GetEfLinks(DbConnector, ids2, LinkId);
                var intsEfUpdated1      = Global.GetEfLinks(DbConnector, ids1, LinkId);
                var intsEfUpdatedAsync1 = Global.GetEfLinks(DbConnector, ids1, LinkId, true);
                var intsEfUpdatedAsync2 = Global.GetEfLinks(DbConnector, ids2, LinkId, true);

                Assert.That(intsNew1, Is.EqualTo(intsEfUpdated1), "First article EF M2M (main) saved");
                Assert.That(intsNew2, Is.EqualTo(intsEfUpdated2), "Second article EF M2M (main) saved");
                Assert.That(intsEfUpdatedAsync1, Is.Empty, "No first async EF M2M ");
                Assert.That(intsEfUpdatedAsync2, Is.Empty, "No second async EF M2M ");
            }

            var values2  = new List <Dictionary <string, string> >();
            var article3 = new Dictionary <string, string>
            {
                [FieldName.ContentItemId] = article1[FieldName.ContentItemId],
                [FieldName.StatusTypeId]  = PublishedId.ToString()
            };

            values2.Add(article3);
            var article4 = new Dictionary <string, string>
            {
                [FieldName.ContentItemId] = article2[FieldName.ContentItemId],
                [FieldName.StatusTypeId]  = PublishedId.ToString()
            };

            values2.Add(article4);
            Assert.DoesNotThrow(() => DbConnector.MassUpdate(ContentId, values2, 1), "Change to published");

            var intsPublished1 = Global.GetLinks(DbConnector, ids1);
            var intsPublished2 = Global.GetLinks(DbConnector, ids2);

            Assert.That(intsPublished1, Is.EqualTo(intsUpdated1), "First article same");
            Assert.That(intsPublished2, Is.EqualTo(intsUpdated2), "Second article same");
            if (EfLinksExists)
            {
                var intsEfPublished1 = Global.GetEfLinks(DbConnector, ids1, LinkId);
                var intsEfPublished2 = Global.GetEfLinks(DbConnector, ids2, LinkId);
                Assert.That(intsEfPublished1, Is.EqualTo(intsUpdated1), "First EF article same");
                Assert.That(intsEfPublished2, Is.EqualTo(intsUpdated2), "Second EF article same");
            }
        }