|
@@ -1219,15 +1219,23 @@ public sealed class BaseItemRepository(
|
|
|
/// <inheritdoc cref="IItemRepository" />
|
|
|
public void SaveImages(BaseItemDto item)
|
|
|
{
|
|
|
- ArgumentNullException.ThrowIfNull(item);
|
|
|
+ try
|
|
|
+ {
|
|
|
+ ArgumentNullException.ThrowIfNull(item);
|
|
|
|
|
|
- var images = item.ImageInfos.Select(e => Map(item.Id, e));
|
|
|
- using var context = dbProvider.CreateDbContext();
|
|
|
- using var transaction = context.Database.BeginTransaction();
|
|
|
- context.BaseItemImageInfos.Where(e => e.ItemId == item.Id).ExecuteDelete();
|
|
|
- context.BaseItemImageInfos.AddRange(images);
|
|
|
- context.SaveChanges();
|
|
|
- transaction.Commit();
|
|
|
+ var images = item.ImageInfos.Select(e => Map(item.Id, e));
|
|
|
+ using var context = dbProvider.CreateDbContext();
|
|
|
+ using var transaction = context.Database.BeginTransaction();
|
|
|
+ context.BaseItemImageInfos.Where(e => e.ItemId == item.Id).ExecuteDelete();
|
|
|
+ context.BaseItemImageInfos.AddRange(images);
|
|
|
+ context.SaveChanges();
|
|
|
+ transaction.Commit();
|
|
|
+ }
|
|
|
+ catch (System.Exception ex)
|
|
|
+ {
|
|
|
+ System.Console.WriteLine(ex);
|
|
|
+ throw;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/// <inheritdoc cref="IItemRepository" />
|
|
@@ -1291,40 +1299,30 @@ public sealed class BaseItemRepository(
|
|
|
|
|
|
var itemValuesToSave = GetItemValuesToSave(item.Item, item.InheritedTags);
|
|
|
context.ItemValuesMap.Where(e => e.ItemId == entity.Id).ExecuteDelete();
|
|
|
- entity.ItemValues = new List<ItemValueMap>();
|
|
|
-
|
|
|
foreach (var itemValue in itemValuesToSave)
|
|
|
{
|
|
|
var refValue = context.ItemValues
|
|
|
.Where(f => f.CleanValue == GetCleanValue(itemValue.Value) && (int)f.Type == itemValue.MagicNumber)
|
|
|
.Select(e => e.ItemValueId)
|
|
|
.FirstOrDefault();
|
|
|
- if (!refValue.IsEmpty())
|
|
|
+ if (refValue.IsEmpty())
|
|
|
{
|
|
|
- entity.ItemValues.Add(new ItemValueMap()
|
|
|
+ context.ItemValues.Add(new ItemValue()
|
|
|
{
|
|
|
- Item = entity,
|
|
|
- ItemId = entity.Id,
|
|
|
- ItemValue = null!,
|
|
|
- ItemValueId = refValue
|
|
|
+ CleanValue = GetCleanValue(itemValue.Value),
|
|
|
+ Type = (ItemValueType)itemValue.MagicNumber,
|
|
|
+ ItemValueId = refValue = Guid.NewGuid(),
|
|
|
+ Value = itemValue.Value
|
|
|
});
|
|
|
}
|
|
|
- else
|
|
|
+
|
|
|
+ context.ItemValuesMap.Add(new ItemValueMap()
|
|
|
{
|
|
|
- entity.ItemValues.Add(new ItemValueMap()
|
|
|
- {
|
|
|
- Item = entity,
|
|
|
- ItemId = entity.Id,
|
|
|
- ItemValue = new ItemValue()
|
|
|
- {
|
|
|
- CleanValue = GetCleanValue(itemValue.Value),
|
|
|
- Type = (ItemValueType)itemValue.MagicNumber,
|
|
|
- ItemValueId = Guid.NewGuid(),
|
|
|
- Value = itemValue.Value
|
|
|
- },
|
|
|
- ItemValueId = Guid.Empty
|
|
|
- });
|
|
|
- }
|
|
|
+ Item = null!,
|
|
|
+ ItemId = entity.Id,
|
|
|
+ ItemValue = null!,
|
|
|
+ ItemValueId = refValue
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|