forked from amkovkov/GranuSightSoftware2
fix: logic errors in view models
This commit is contained in:
@@ -89,7 +89,7 @@ public partial class AnalysisViewModel : ViewModelBase
|
||||
public const double UNPROCESSED_THRESHOLD = 0.6;
|
||||
public const double HOTSPOT_THRESHOLD = 1.1;
|
||||
public const double EPSILON = 1e-10;
|
||||
public const double UNPROCESSED_FRACTION_THRESHOLD = 10;
|
||||
public const double UNPROCESSED_FRACTION_THRESHOLD = 50;
|
||||
|
||||
/// <summary>
|
||||
/// Модель гистограммы
|
||||
@@ -996,7 +996,7 @@ public partial class AnalysisViewModel : ViewModelBase
|
||||
ea.PropertyName == nameof(InfoSectionIsScrolling))
|
||||
UpdateCanInteract();
|
||||
if (ea.PropertyName == nameof(MenuSelectedIndex) ||
|
||||
ea.PropertyName == nameof(InfoSectionCurrentIndex) )
|
||||
ea.PropertyName == nameof(InfoSectionCurrentIndex))
|
||||
UpdateCharts?.Invoke(this, EventArgs.Empty);
|
||||
};
|
||||
|
||||
@@ -1012,25 +1012,24 @@ public partial class AnalysisViewModel : ViewModelBase
|
||||
if (value >= MenuItems.Count())
|
||||
_logger.LogError("Значение {}({}) больше количества элементов {}({})", nameof(MenuSelectedIndex), MenuSelectedIndex, nameof(MenuItems), MenuItems.Count());
|
||||
// Если значение меньше 0, то значит элемент меню не выбран
|
||||
if (value < 0 || value > MenuItems.Count())
|
||||
if (value >= 0 && value < MenuItems.Count())
|
||||
{
|
||||
_logger.LogTrace("Выбран элемент из списка: {}", value);
|
||||
// Находим запись в базе данных
|
||||
var selectedRecord = _context.ResultRecords.Find(MenuItems[value].Id);
|
||||
// Если запись не найдена
|
||||
if (selectedRecord is null)
|
||||
{
|
||||
// Логгируем как ошибку
|
||||
_logger.LogError("Не удалось найти элемент с Id({}) в таблице {}", MenuItems[value].Id, nameof(_context.BrandRecords));
|
||||
// Сохраняем несуществующий индекс
|
||||
var nonExistingIndex = MenuSelectedIndex;
|
||||
_logger.LogError("Не удалось найти элемент с Id({}) в таблице {}", MenuItems[value].Id, nameof(_context.ResultRecords));
|
||||
var nonExistingIndex = MenuSelectedIndex; // Сохраняем несуществующий индекс
|
||||
// Устанавливаем, что запись не выбрана, этот метод вызовется повторно и заполнит поля пустыми значениями
|
||||
MenuSelectedIndex = -1;
|
||||
// Удаляем несуществующий элемент из списка
|
||||
MenuItems.RemoveAt(nonExistingIndex);
|
||||
return;
|
||||
}
|
||||
|
||||
_logger.LogTrace("Выбран элемент из списка: {}", value);
|
||||
// Находим запись в базе данных
|
||||
var selectedRecord = _context.ResultRecords.Find(MenuItems[value].Id);
|
||||
// Если запись найдена, то заполняем поля из базы данных
|
||||
if (selectedRecord is not null)
|
||||
{
|
||||
// Заполняем простые поля
|
||||
Record.Id = selectedRecord.Id;
|
||||
Record.Uuid = selectedRecord.Uuid;
|
||||
|
||||
@@ -173,21 +173,8 @@ public partial class BrandCalibrationViewModel : ViewModelBase
|
||||
_logger.LogTrace("Выбран элемент из списка: {}", value);
|
||||
// Находим запись в базе данных
|
||||
var selectedRecord = _context.BrandRecords.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.BrandName = selectedRecord.BrandName;
|
||||
Record.MixtureName = selectedRecord.MixtureName;
|
||||
Record.MixtureNormalRate = selectedRecord.MixtureNormalRate;
|
||||
Record.Comment = selectedRecord.Comment;
|
||||
return;
|
||||
}
|
||||
// Если значение не найдено в базе данных
|
||||
else
|
||||
// Если запись не найдена
|
||||
if (selectedRecord is null)
|
||||
{
|
||||
// Логгируем как ошибку
|
||||
_logger.LogError("Не удалось найти элемент с Id({}) в таблице {}", MenuItems[value].Id, nameof(_context.BrandRecords));
|
||||
@@ -198,6 +185,16 @@ public partial class BrandCalibrationViewModel : ViewModelBase
|
||||
MenuItems.RemoveAt(nonExistingIndex);
|
||||
return;
|
||||
}
|
||||
// Если запись найдена, то заполняем поля из базы данных
|
||||
Record.Id = selectedRecord.Id;
|
||||
Record.Uuid = selectedRecord.Uuid;
|
||||
Record.CreateDateTime = selectedRecord.CreateDateTime;
|
||||
Record.EditDateTime = selectedRecord.EditDateTime;
|
||||
Record.BrandName = selectedRecord.BrandName;
|
||||
Record.MixtureName = selectedRecord.MixtureName;
|
||||
Record.MixtureNormalRate = selectedRecord.MixtureNormalRate;
|
||||
Record.Comment = selectedRecord.Comment;
|
||||
return;
|
||||
}
|
||||
|
||||
// Если элемент не выбран, заполняем поля пустыми значениями
|
||||
|
||||
@@ -321,9 +321,19 @@ public partial class SampleCalibrationViewModel : ViewModelBase
|
||||
_logger.LogTrace("Выбран элемент из списка: {}", value);
|
||||
// Находим запись в базе данных
|
||||
var selectedRecord = _context.SampleRecords.Find(MenuItems[value].Id);
|
||||
// Если запись найдена, то заполняем поля из базы данных
|
||||
if (selectedRecord is not null)
|
||||
// Если значение не найдено в базе данных
|
||||
if (selectedRecord is null)
|
||||
{
|
||||
// Логгируем как ошибку
|
||||
_logger.LogError("Не удалось найти элемент с Id({}) в таблице {}", MenuItems[value].Id, nameof(_context.SampleRecords));
|
||||
var nonExistingIndex = MenuSelectedIndex; // Сохраняем несуществующий индекс
|
||||
// Устанавливаем, что запись не выбрана, этот метод вызовется повторно и заполнит поля пустыми значениями
|
||||
MenuSelectedIndex = -1;
|
||||
// Удаляем несуществующий элемент из списка
|
||||
MenuItems.RemoveAt(nonExistingIndex);
|
||||
return;
|
||||
}
|
||||
// Если запись найдена, то заполняем поля из базы данных
|
||||
// Заполняем простые поля
|
||||
Record.Id = selectedRecord.Id;
|
||||
Record.Uuid = selectedRecord.Uuid;
|
||||
@@ -373,19 +383,6 @@ public partial class SampleCalibrationViewModel : ViewModelBase
|
||||
|
||||
return;
|
||||
}
|
||||
// Если значение не найдено в базе данных
|
||||
else
|
||||
{
|
||||
// Логгируем как ошибку
|
||||
_logger.LogError("Не удалось найти элемент с Id({}) в таблице {}", MenuItems[value].Id, nameof(_context.BrandRecords));
|
||||
var nonExistingIndex = MenuSelectedIndex; // Сохраняем несуществующий индекс
|
||||
// Устанавливаем, что запись не выбрана, этот метод вызовется повторно и заполнит поля пустыми значениями
|
||||
MenuSelectedIndex = -1;
|
||||
// Удаляем несуществующий элемент из списка
|
||||
MenuItems.RemoveAt(nonExistingIndex);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Если элемент не выбран, заполняем поля пустыми значениями
|
||||
_logger.LogTrace("Выбран новый элемент");
|
||||
|
||||
@@ -219,9 +219,19 @@ public partial class SeparatorCalibrationViewModel : ViewModelBase
|
||||
_logger.LogTrace("Выбран элемент из списка: {}", value);
|
||||
// Находим запись в базе данных
|
||||
var selectedRecord = _context.SeparatorRecords.Find(MenuItems[value].Id);
|
||||
// Если запись найдена, то заполняем поля из базы данных
|
||||
if (selectedRecord is not null)
|
||||
// Если запись не найдена
|
||||
if (selectedRecord is null)
|
||||
{
|
||||
// Логгируем как ошибку
|
||||
_logger.LogError("Не удалось найти элемент с Id({}) в таблице {}", MenuItems[value].Id, nameof(_context.SeparatorRecords));
|
||||
var nonExistingIndex = MenuSelectedIndex; // Сохраняем несуществующий индекс
|
||||
// Устанавливаем, что запись не выбрана, этот метод вызовется повторно и заполнит поля пустыми значениями
|
||||
MenuSelectedIndex = -1;
|
||||
// Удаляем несуществующий элемент из списка
|
||||
MenuItems.RemoveAt(nonExistingIndex);
|
||||
return;
|
||||
}
|
||||
// Если запись найдена, то заполняем поля из базы данных
|
||||
// Заполняем простые поля
|
||||
Record.Id = selectedRecord.Id;
|
||||
Record.Uuid = selectedRecord.Uuid;
|
||||
@@ -242,23 +252,8 @@ public partial class SeparatorCalibrationViewModel : ViewModelBase
|
||||
// В любом случае заполняем изображение
|
||||
Record.Image.Data = imageRecord?.Base64 ?? "";
|
||||
|
||||
// Ищем все признаки в базе данных
|
||||
|
||||
return;
|
||||
}
|
||||
// Если значение не найдено в базе данных
|
||||
else
|
||||
{
|
||||
// Логгируем как ошибку
|
||||
_logger.LogError("Не удалось найти элемент с Id({}) в таблице {}", MenuItems[value].Id, nameof(_context.BrandRecords));
|
||||
var nonExistingIndex = MenuSelectedIndex; // Сохраняем несуществующий индекс
|
||||
// Устанавливаем, что запись не выбрана, этот метод вызовется повторно и заполнит поля пустыми значениями
|
||||
MenuSelectedIndex = -1;
|
||||
// Удаляем несуществующий элемент из списка
|
||||
MenuItems.RemoveAt(nonExistingIndex);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Если элемент не выбран, заполняем поля пустыми значениями
|
||||
_logger.LogTrace("Выбран новый элемент");
|
||||
|
||||
Reference in New Issue
Block a user