chore: fix some typos and some refactoring and small changes

This commit is contained in:
2026-06-18 11:36:11 +03:00
parent 82d0ba4af3
commit 1bd96ae00f
2 changed files with 64 additions and 66 deletions
@@ -36,7 +36,7 @@ public partial class BrandCalibrationViewModel : ViewModelBase
/// </summary>
private readonly ILogger<BrandCalibrationViewModel> _logger;
/// <summary>
/// КОнтекст базы данных
/// Контекст базы данных
/// </summary>
private readonly Context _context;
/// <summary>
@@ -55,35 +55,35 @@ public partial class BrandCalibrationViewModel : ViewModelBase
/// <summary>
/// Элементы меню
/// </summary>
[ObservableProperty] public partial ObservableCollection<MenuItemViewModel> MenuItems { get; set; }
[ObservableProperty] public partial ObservableCollection<MenuItemViewModel> MenuItems { get; set; } = new();
/// <summary>
/// Текущий выбранный элемент меню. Равен -1 если элемент не выбран
/// </summary>
[ObservableProperty] public partial int MenuSelectedIndex { get; set; }
[ObservableProperty] public partial int MenuSelectedIndex { get; set; } = -1;
/// <summary>
/// <see cref="BrandRecord.Id"/> выбранного элемента
/// </summary>
[ObservableProperty] public partial int SelectedId { get; set; }
[ObservableProperty] public partial int SelectedId { get; set; } = 0;
/// <summary>
/// <see cref="BrandRecord.SelectedUuid"/> выбранного элемента
/// <see cref="BrandRecord.Uuid"/> выбранного элемента
/// </summary>
[ObservableProperty] public partial string SelectedUuid { get; set; }
[ObservableProperty] public partial string SelectedUuid { get; set; } = Guid.NewGuid().ToString();
/// <summary>
/// <see cref="BrandRecord.SelectedBrandName"/> выбранного элемента
/// <see cref="BrandRecord.BrandName"/> выбранного элемента
/// </summary>
[ObservableProperty] public partial string SelectedBrandName { get; set; }
[ObservableProperty] public partial string SelectedBrandName { get; set; } = "";
/// <summary>
/// <see cref="BrandRecord.SelectedMixtureName"/> выбранного элемента
/// <see cref="BrandRecord.MixtureName"/> выбранного элемента
/// </summary>
[ObservableProperty] public partial string SelectedMixtureName { get; set; }
[ObservableProperty] public partial string SelectedMixtureName { get; set; } = "";
/// <summary>
/// <see cref="BrandRecord.SelectedMixtureNormalRate"/> выбранного элемента
/// <see cref="BrandRecord.MixtureNormalRate"/> выбранного элемента
/// </summary>
[ObservableProperty] public partial double SelectedMixtureNormalRate { get; set; }
[ObservableProperty] public partial double SelectedMixtureNormalRate { get; set; } = -1;
/// <summary>
/// Можно ли производить перемещение между экранами
/// </summary>
[ObservableProperty] public partial bool CanScroll { get; set; }
[ObservableProperty] public partial bool CanScroll { get; set; } = true;
public BrandCalibrationViewModel(
ILogger<BrandCalibrationViewModel> logger,
@@ -99,17 +99,6 @@ public partial class BrandCalibrationViewModel : ViewModelBase
_navigation = navigation;
_logger.LogInformation("Инициализация");
// Заполняем свойства пустыми значениями
MenuOpened = new();
MenuItems = new();
MenuSelectedIndex = -1;
CanScroll = true;
SelectedId = 0;
SelectedUuid = Guid.NewGuid().ToString();
SelectedBrandName = "";
SelectedMixtureName = "";
SelectedMixtureNormalRate = -1;
// Получаем записи из базы данных
MenuItems = new ObservableCollection<MenuItemViewModel>(_context.BrandRecords.Select(r => new MenuItemViewModel(r.Id, r.BrandName, r.MixtureName)));
if (MenuItems.Count() > 0) // Если записи есть,
@@ -117,6 +106,13 @@ public partial class BrandCalibrationViewModel : ViewModelBase
else // Если записей нет,
MenuSelectedIndex = -1; // Устанавливаем, что запись не выбрана
// Подписываемся на изменения свойств для обновления CanScroll
PropertyChanged += (_, ea) =>
{
if (ea.PropertyName == nameof(MenuOpened))
UpdateCanScroll();
};
_logger.LogInformation("Инициализировано");
}
@@ -168,11 +164,11 @@ public partial class BrandCalibrationViewModel : ViewModelBase
}
/// <summary>
/// Вызывается при изменении <see cref="MenuOpened"/>
/// Обновить значение <see cref="CanScroll"/>
/// </summary>
partial void OnMenuOpenedChanged(bool value)
private void UpdateCanScroll()
{
CanScroll = !value;
CanScroll = !MenuOpened;
}
@@ -213,6 +209,7 @@ public partial class BrandCalibrationViewModel : ViewModelBase
[RelayCommand]
private void DeleteRecord()
{
// TODO: Добавить определение и отображение количества затрагиваемых, записей которые будут повреждены при удалении этой записи
try
{
_logger.LogTrace("Удаление записи: {}={}, {}={}, {}={}", nameof(BrandRecord.Id), SelectedId, nameof(BrandRecord.BrandName), SelectedBrandName, nameof(BrandRecord.MixtureName), SelectedMixtureName);
@@ -269,7 +266,8 @@ public partial class BrandCalibrationViewModel : ViewModelBase
_context.SaveChanges();
_logger.LogTrace("Запись удалена");
confirmViewModel.Closes -= OnConfirmCloses; // Отписываемся от события закрытия экрана подтверждения
// Отписываемся от события закрытия экрана подтверждения
confirmViewModel.Closes -= OnConfirmCloses;
}
// Создаём View экрана подтверждения
@@ -314,7 +312,7 @@ public partial class BrandCalibrationViewModel : ViewModelBase
mixtureNormalRate: SelectedMixtureNormalRate
);
// При добавляем запись в базу данных
// Добавляем запись в базу данных
var attachedRecord = _context.BrandRecords.Add(newRecord);
// Сохраняем изменения в базе данных
@@ -347,14 +345,14 @@ public partial class BrandCalibrationViewModel : ViewModelBase
if (attachedRecord.MixtureNormalRate != SelectedMixtureNormalRate)
attachedRecord.MixtureNormalRate = SelectedMixtureNormalRate;
// Сохраняем изменения в базе данных
_context.SaveChanges();
_logger.LogTrace("Запись сохранена");
// Записываем изменения в меню
_logger.LogTrace("Записываем изменения в меню");
MenuItems[MenuSelectedIndex].BrandName = SelectedBrandName;
MenuItems[MenuSelectedIndex].MixtureName = SelectedMixtureName;
// Сохраняем изменения в базе данных
_context.SaveChanges();
_logger.LogTrace("Запись сохранена");
}
}
catch (Exception ex)