55 lines
2.0 KiB
C#
55 lines
2.0 KiB
C#
|
using SoftwareInstallationContracts.BusinessLogicsContracts;
|
|||
|
|
|||
|
namespace SoftwareInstallationView
|
|||
|
{
|
|||
|
public partial class FormSellPackage : Form
|
|||
|
{
|
|||
|
private readonly IShopLogic _shopLogic;
|
|||
|
private readonly IPackageLogic _packageLogic;
|
|||
|
|
|||
|
public FormSellPackage(IPackageLogic logic, IShopLogic shopLogic)
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
_packageLogic = logic;
|
|||
|
_shopLogic = shopLogic;
|
|||
|
var list = logic.ReadList(null);
|
|||
|
if (list != null)
|
|||
|
{
|
|||
|
comboBoxPackage.DisplayMember = "PackageName";
|
|||
|
comboBoxPackage.ValueMember = "Id";
|
|||
|
comboBoxPackage.DataSource = list;
|
|||
|
comboBoxPackage.SelectedItem = null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void ButtonSell_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (comboBoxPackage.SelectedValue == null)
|
|||
|
{
|
|||
|
MessageBox.Show("Выберите изделие", "Ошибка",MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
return;
|
|||
|
}
|
|||
|
if (numericUpDownCount.Value <= 0)
|
|||
|
{
|
|||
|
MessageBox.Show("Количество должно быть больше нуля", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
return;
|
|||
|
}
|
|||
|
var count = (int)numericUpDownCount.Value;
|
|||
|
var package = _packageLogic.ReadElement(new() { Id = (int)comboBoxPackage.SelectedValue });
|
|||
|
if (package == null || !_shopLogic.SellPackages(package, count))
|
|||
|
{
|
|||
|
MessageBox.Show("Не удалось продать изделия. Информацию смотрите в логах", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
return;
|
|||
|
}
|
|||
|
DialogResult = DialogResult.OK;
|
|||
|
Close();
|
|||
|
}
|
|||
|
|
|||
|
private void ButtonCancel_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
DialogResult = DialogResult.Cancel;
|
|||
|
Close();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|