forked from amkovkov/GranuSightSoftware2
fix: logic errors in view models
This commit is contained in:
@@ -219,38 +219,11 @@ public partial class SeparatorCalibrationViewModel : ViewModelBase
|
||||
_logger.LogTrace("Выбран элемент из списка: {}", value);
|
||||
// Находим запись в базе данных
|
||||
var selectedRecord = _context.SeparatorRecords.Find(MenuItems[value].Id);
|
||||
// Если запись найдена, то заполняем поля из базы данных
|
||||
if (selectedRecord is not null)
|
||||
{
|
||||
// Заполняем простые поля
|
||||
Record.Id = selectedRecord.Id;
|
||||
Record.Uuid = selectedRecord.Uuid;
|
||||
Record.CreateDateTime = selectedRecord.CreateDateTime;
|
||||
Record.EditDateTime = selectedRecord.EditDateTime;
|
||||
Record.Type = selectedRecord.Type;
|
||||
Record.Comment = selectedRecord.Comment;
|
||||
if (selectedRecord.Features.Count() > 0)
|
||||
Record.Features = selectedRecord.Features.Chunk(AnalyzerService.FEATURES_LENGTH).Select(v => v.ToArray()).ToList();
|
||||
else
|
||||
Record.Features = new List<float[]>();
|
||||
|
||||
// Ищем изображение в базе данных
|
||||
var imageRecord = _context.ImageRecords.Find(selectedRecord.ImageId);
|
||||
// Если изображение не найдено в базе данных, то логгируем как ошибку
|
||||
if (imageRecord is null)
|
||||
_logger.LogError("Не удалось найти элемент с Id({}) в таблице {}", selectedRecord.ImageId, nameof(_context.ImageRecords));
|
||||
// В любом случае заполняем изображение
|
||||
Record.Image.Data = imageRecord?.Base64 ?? "";
|
||||
|
||||
// Ищем все признаки в базе данных
|
||||
|
||||
return;
|
||||
}
|
||||
// Если значение не найдено в базе данных
|
||||
else
|
||||
// Если запись не найдена
|
||||
if (selectedRecord is null)
|
||||
{
|
||||
// Логгируем как ошибку
|
||||
_logger.LogError("Не удалось найти элемент с Id({}) в таблице {}", MenuItems[value].Id, nameof(_context.BrandRecords));
|
||||
_logger.LogError("Не удалось найти элемент с Id({}) в таблице {}", MenuItems[value].Id, nameof(_context.SeparatorRecords));
|
||||
var nonExistingIndex = MenuSelectedIndex; // Сохраняем несуществующий индекс
|
||||
// Устанавливаем, что запись не выбрана, этот метод вызовется повторно и заполнит поля пустыми значениями
|
||||
MenuSelectedIndex = -1;
|
||||
@@ -258,6 +231,28 @@ public partial class SeparatorCalibrationViewModel : ViewModelBase
|
||||
MenuItems.RemoveAt(nonExistingIndex);
|
||||
return;
|
||||
}
|
||||
// Если запись найдена, то заполняем поля из базы данных
|
||||
// Заполняем простые поля
|
||||
Record.Id = selectedRecord.Id;
|
||||
Record.Uuid = selectedRecord.Uuid;
|
||||
Record.CreateDateTime = selectedRecord.CreateDateTime;
|
||||
Record.EditDateTime = selectedRecord.EditDateTime;
|
||||
Record.Type = selectedRecord.Type;
|
||||
Record.Comment = selectedRecord.Comment;
|
||||
if (selectedRecord.Features.Count() > 0)
|
||||
Record.Features = selectedRecord.Features.Chunk(AnalyzerService.FEATURES_LENGTH).Select(v => v.ToArray()).ToList();
|
||||
else
|
||||
Record.Features = new List<float[]>();
|
||||
|
||||
// Ищем изображение в базе данных
|
||||
var imageRecord = _context.ImageRecords.Find(selectedRecord.ImageId);
|
||||
// Если изображение не найдено в базе данных, то логгируем как ошибку
|
||||
if (imageRecord is null)
|
||||
_logger.LogError("Не удалось найти элемент с Id({}) в таблице {}", selectedRecord.ImageId, nameof(_context.ImageRecords));
|
||||
// В любом случае заполняем изображение
|
||||
Record.Image.Data = imageRecord?.Base64 ?? "";
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Если элемент не выбран, заполняем поля пустыми значениями
|
||||
|
||||
Reference in New Issue
Block a user