bug fix: delete devices with assignment history
This commit is contained in:
@@ -182,9 +182,23 @@ namespace Disco.Services
|
|||||||
da.RepositoryDelete(Database);
|
da.RepositoryDelete(Database);
|
||||||
Database.DeviceAttachments.Remove(da);
|
Database.DeviceAttachments.Remove(da);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete Device User Assignments
|
// Delete Device User Assignments
|
||||||
foreach (var dua in Database.DeviceUserAssignments.Where(i => i.DeviceSerialNumber == d.SerialNumber))
|
// Custom SQL to bypass Entity Framework 5 datetime2 Bug
|
||||||
Database.DeviceUserAssignments.Remove(dua);
|
using (var tempCommand = Database.Database.Connection.CreateCommand())
|
||||||
|
{
|
||||||
|
var paramDeviceSerialNumber = tempCommand.CreateParameter();
|
||||||
|
paramDeviceSerialNumber.DbType = System.Data.DbType.String;
|
||||||
|
paramDeviceSerialNumber.Direction = System.Data.ParameterDirection.Input;
|
||||||
|
paramDeviceSerialNumber.ParameterName = "@DeviceSerialNumber";
|
||||||
|
paramDeviceSerialNumber.Size = 60;
|
||||||
|
paramDeviceSerialNumber.Value = d.SerialNumber;
|
||||||
|
|
||||||
|
Database.Database.ExecuteSqlCommand(
|
||||||
|
"DELETE [dbo].[DeviceUserAssignments] WHERE ([DeviceSerialNumber] = @DeviceSerialNumber)",
|
||||||
|
paramDeviceSerialNumber
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
Database.Devices.Remove(d);
|
Database.Devices.Remove(d);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user