mirror of
https://github.com/aaru-dps/Aaru.Server.git
synced 2025-12-16 19:24:27 +00:00
Fix saving modified ATA entities.
This commit is contained in:
@@ -71,8 +71,6 @@ namespace DiscImageChef.Server.Areas.Admin.Controllers
|
|||||||
return RedirectToAction(nameof(Index));
|
return RedirectToAction(nameof(Index));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AtaExists(int id) => _context.Ata.Any(e => e.Id == id);
|
|
||||||
|
|
||||||
public IActionResult Consolidate()
|
public IActionResult Consolidate()
|
||||||
{
|
{
|
||||||
List<IdHashModel> hashes =
|
List<IdHashModel> hashes =
|
||||||
@@ -126,29 +124,30 @@ namespace DiscImageChef.Server.Areas.Admin.Controllers
|
|||||||
if(slave is null)
|
if(slave is null)
|
||||||
continue;
|
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;
|
testedMedia.AtaId = duplicate.Id;
|
||||||
|
_context.Update(testedMedia);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(master.ReadCapabilities is null &&
|
if(master.ReadCapabilities is null &&
|
||||||
@@ -182,29 +181,30 @@ namespace DiscImageChef.Server.Areas.Admin.Controllers
|
|||||||
id = masterId, rightId = slaveId
|
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))
|
foreach(TestedMedia testedMedia in _context.TestedMedia.Where(d => d.AtaId == slaveId))
|
||||||
{
|
{
|
||||||
testedMedia.AtaId = masterId;
|
testedMedia.AtaId = masterId;
|
||||||
|
_context.Update(testedMedia);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(master.ReadCapabilities is null &&
|
if(master.ReadCapabilities is null &&
|
||||||
@@ -220,10 +220,11 @@ namespace DiscImageChef.Server.Areas.Admin.Controllers
|
|||||||
|
|
||||||
public IActionResult Compare(int id, int rightId)
|
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 left = _context.Ata.FirstOrDefault(l => l.Id == id);
|
||||||
CommonTypes.Metadata.Ata right = _context.Ata.FirstOrDefault(r => r.Id == rightId);
|
CommonTypes.Metadata.Ata right = _context.Ata.FirstOrDefault(r => r.Id == rightId);
|
||||||
|
|||||||
@@ -65,7 +65,5 @@ namespace DiscImageChef.Server.Models
|
|||||||
|
|
||||||
[DefaultValue(0)]
|
[DefaultValue(0)]
|
||||||
public int OptimalMultipleSectorsRead { get; set; }
|
public int OptimalMultipleSectorsRead { get; set; }
|
||||||
public int? ATAId { get; set; }
|
|
||||||
public int? ATAPIId { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -58,7 +58,5 @@ namespace DiscImageChef.Server.Models
|
|||||||
}
|
}
|
||||||
|
|
||||||
public DateTime UploadedWhen { get; set; }
|
public DateTime UploadedWhen { get; set; }
|
||||||
public int? ATAId { get; set; }
|
|
||||||
public int? ATAPIId { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user