//Сохранение данных по товару public void save(Product selected, String name, String unit, Decimal cost, int quantity, float weight, Guid productGroupId) { if (processAdd)//Если происходит процесс добавления товара { //Создаем новый экземпляр Product p = new Product(Guid.NewGuid()) { Name = name, Unit = unit, Cost = cost, Quantity = quantity, Weight = weight, GroupId = productGroupId }; //Вставляем в базу if (productDao.insert(p)) { //Добавляем товар в список товаров "из базы" cached.Add(p); view.clearFields(); displayFilteredProducts(); //Сообщаем пользователю о том, что товар добавлен успешно view.NotifyUser("Добавление товара успешно"); } view.unlock(); processAdd = false; } else//В остальных случаях считаем, что товар редактируется { if (selected == null) { view.NotifyUser("Выберите продукт для изменения"); return; } //Переписываем значения полей selected.Name = name; selected.Unit = unit; selected.Cost = cost; selected.Quantity = quantity; selected.Weight = weight; selected.GroupId = productGroupId; //Обновляем в базе if (productDao.update(selected)) { view.NotifyUser("Сохранение успешно"); view.clearFields(); displayFilteredProducts(); } else { view.NotifyUser("Не удалось обновить данные по товару"); } } }