Fix saving modified ATA entities.

This commit is contained in:
2019-11-10 13:24:25 +00:00
parent cbc417a67e
commit 3e12a41a5f
3 changed files with 23 additions and 26 deletions

View File

@@ -71,8 +71,6 @@ namespace DiscImageChef.Server.Areas.Admin.Controllers
return RedirectToAction(nameof(Index));
}
bool AtaExists(int id) => _context.Ata.Any(e => e.Id == id);
public IActionResult Consolidate()
{
List<IdHashModel> hashes =
@@ -126,29 +124,30 @@ namespace DiscImageChef.Server.Areas.Admin.Controllers
if(slave is null)
continue;
foreach(Device ataDevice in _context.Devices.Where(d => d.ATAId == duplicateId))
foreach(Device ataDevice in _context.Devices.Where(d => d.ATA.Id == duplicateId))
{
ataDevice.ATAId = duplicate.Id;
ataDevice.ATA = master;
}
foreach(Device atapiDevice in _context.Devices.Where(d => d.ATAPIId == duplicateId))
foreach(Device atapiDevice in _context.Devices.Where(d => d.ATAPI.Id == duplicateId))
{
atapiDevice.ATAPIId = duplicate.Id;
atapiDevice.ATAPI = master;
}
foreach(UploadedReport ataReport in _context.Reports.Where(d => d.ATAId == duplicateId))
foreach(UploadedReport ataReport in _context.Reports.Where(d => d.ATA.Id == duplicateId))
{
ataReport.ATAId = duplicate.Id;
ataReport.ATA = master;
}
foreach(UploadedReport atapiReport in _context.Reports.Where(d => d.ATAPIId == duplicateId))
foreach(UploadedReport atapiReport in _context.Reports.Where(d => d.ATAPI.Id == duplicateId))
{
atapiReport.ATAPIId = duplicate.Id;
atapiReport.ATAPI = master;
}
foreach(TestedMedia testedMedia in _context.TestedMedia.Where(d => d.AtaId == duplicateId))
foreach(TestedMedia testedMedia in slave.RemovableMedias)
{
testedMedia.AtaId = duplicate.Id;
_context.Update(testedMedia);
}
if(master.ReadCapabilities is null &&
@@ -182,29 +181,30 @@ namespace DiscImageChef.Server.Areas.Admin.Controllers
id = masterId, rightId = slaveId
});
foreach(Device ataDevice in _context.Devices.Where(d => d.ATAId == slaveId))
foreach(Device ataDevice in _context.Devices.Where(d => d.ATA.Id == slaveId))
{
ataDevice.ATAId = masterId;
ataDevice.ATA = master;
}
foreach(Device atapiDevice in _context.Devices.Where(d => d.ATAPIId == slaveId))
foreach(Device atapiDevice in _context.Devices.Where(d => d.ATAPI.Id == slaveId))
{
atapiDevice.ATAPIId = masterId;
atapiDevice.ATAPI = master;
}
foreach(UploadedReport ataReport in _context.Reports.Where(d => d.ATAId == slaveId))
foreach(UploadedReport ataReport in _context.Reports.Where(d => d.ATA.Id == slaveId))
{
ataReport.ATAId = masterId;
ataReport.ATA = master;
}
foreach(UploadedReport atapiReport in _context.Reports.Where(d => d.ATAPIId == slaveId))
foreach(UploadedReport atapiReport in _context.Reports.Where(d => d.ATAPI.Id == slaveId))
{
atapiReport.ATAPIId = masterId;
atapiReport.ATAPI = master;
}
foreach(TestedMedia testedMedia in _context.TestedMedia.Where(d => d.AtaId == slaveId))
{
testedMedia.AtaId = masterId;
_context.Update(testedMedia);
}
if(master.ReadCapabilities is null &&
@@ -220,10 +220,11 @@ namespace DiscImageChef.Server.Areas.Admin.Controllers
public IActionResult Compare(int id, int rightId)
{
var model = new CompareModel();
var model = new CompareModel
{
LeftId = id, RightId = rightId
};
model.LeftId = id;
model.RightId = rightId;
CommonTypes.Metadata.Ata left = _context.Ata.FirstOrDefault(l => l.Id == id);
CommonTypes.Metadata.Ata right = _context.Ata.FirstOrDefault(r => r.Id == rightId);

View File

@@ -65,7 +65,5 @@ namespace DiscImageChef.Server.Models
[DefaultValue(0)]
public int OptimalMultipleSectorsRead { get; set; }
public int? ATAId { get; set; }
public int? ATAPIId { get; set; }
}
}

View File

@@ -58,7 +58,5 @@ namespace DiscImageChef.Server.Models
}
public DateTime UploadedWhen { get; set; }
public int? ATAId { get; set; }
public int? ATAPIId { get; set; }
}
}