1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-12-16 11:37:58 +02:00

Deduping tags only updates affected models

This commit is contained in:
Mark McDowall 2015-02-17 22:02:24 -08:00
parent 59f487392e
commit 33ed76556f
2 changed files with 57 additions and 1 deletions

View File

@ -144,5 +144,60 @@ public void should_replace_duplicated_tag_with_proper_tag()
Mocker.Resolve<SeriesRepository>().Get(1).Tags.First().Should().Be(1);
}
[Test]
public void should_only_update_affected_series()
{
WithTestDb(c =>
{
c.Insert.IntoTable("Series").Row(new
{
Tvdbid = 1,
TvRageId = 1,
Title = "Title1",
CleanTitle = "CleanTitle1",
Status = 1,
Images = "",
Path = "c:\\test",
Monitored = 1,
SeasonFolder = 1,
Runtime = 0,
SeriesType = 0,
UseSceneNumbering = 0,
LastInfoSync = "2000-01-01 00:00:00",
Tags = "[2]"
});
c.Insert.IntoTable("Series").Row(new
{
Tvdbid = 2,
TvRageId = 2,
Title = "Title2",
CleanTitle = "CleanTitle2",
Status = 1,
Images = "",
Path = "c:\\test",
Monitored = 1,
SeasonFolder = 1,
Runtime = 0,
SeriesType = 0,
UseSceneNumbering = 0,
LastInfoSync = "2000-01-01 00:00:00",
Tags = "[]"
});
c.Insert.IntoTable("Tags").Row(new
{
Label = "test"
});
c.Insert.IntoTable("Tags").Row(new
{
Label = "test"
});
});
Mocker.Resolve<SeriesRepository>().Get(2).Tags.Should().BeEmpty();
}
}
}

View File

@ -116,8 +116,9 @@ private void UpdateTaggedModel(IDbConnection conn, IDbTransaction tran, string t
using (IDbCommand updateCmd = conn.CreateCommand())
{
updateCmd.Transaction = tran;
updateCmd.CommandText = String.Format(@"UPDATE {0} SET Tags = ?", table);
updateCmd.CommandText = String.Format(@"UPDATE {0} SET Tags = ? WHERE Id = ?", table);
updateCmd.AddParameter(model.Tags.ToJson());
updateCmd.AddParameter(model.Id);
updateCmd.ExecuteNonQuery();
}