Изменение записи
Необходимо при нажатии на кнопку "Сохранить" обновлять запись в БД, данные берутся с текстбоксов, как это можно сделать внутри команды SaveCommand во MainViewModel?
Класс MainViewModel:
public class ApplicationViewModel : INotifyPropertyChanged
{
SvetlanaDmitrievnaEntities dataEntities = new SvetlanaDmitrievnaEntities();
private Service_import selectedService;
public ObservableCollection<Service_import> Services { get; set; }
// Команда добавления нового объекта
private RelayCommand editCommand;
public RelayCommand EditCommand
{
get
{
return editCommand ??
(editCommand = new RelayCommand(obj =>
{
Service_import service = obj as Service_import;
SelectedService = service;
}));
}
}
// Команда сохранения изменений
private ICommand saveCommand;
public ICommand SaveCommand { get; }
private void Save(Service_import service)
{
var item = dataEntities.Service_import.FirstOrDefault(x => x.Наименование_услуги == service.Наименование_услуги);
if (item != null)
{
item.Наименование_услуги = service.Наименование_услуги;
item.Длительность = service.Длительность;
item.Стоимость = service.Стоимость;
item.Действующая_скидка = service.Действующая_скидка;
dataEntities.SaveChanges();
}
}
public ApplicationViewModel() {
SaveCommand = new RelayCommand<Service_import>(Save);
}
public Service_import SelectedService
{
get { return selectedService; }
set
{
selectedService = value;
OnPropertyChanged("SelectedService");
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged([CallerMemberName]string prop = "")
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(prop));
}
}
