Внедрено максимальное количество изделий в сущность Магазин
This commit is contained in:
parent
cf2fd40f87
commit
23be423760
@ -101,6 +101,13 @@ namespace ConfectioneryBusinessLogic
|
|||||||
throw new ArgumentNullException("Нет названия магазина",
|
throw new ArgumentNullException("Нет названия магазина",
|
||||||
nameof(model.Name));
|
nameof(model.Name));
|
||||||
}
|
}
|
||||||
|
if (model.MaxCountPastries < 0)
|
||||||
|
{
|
||||||
|
throw new ArgumentException(
|
||||||
|
"Максимальное количество изделий в магазине не должно быть отрицательным",
|
||||||
|
nameof(model.MaxCountPastries));
|
||||||
|
}
|
||||||
|
|
||||||
_logger.LogInformation("Shop. ShopName:{0}.Address:{1}. Id: {2}",
|
_logger.LogInformation("Shop. ShopName:{0}.Address:{1}. Id: {2}",
|
||||||
model.Name, model.Address, model.Id);
|
model.Name, model.Address, model.Id);
|
||||||
var element = _shopStorage.GetElement(new ShopSearchModel
|
var element = _shopStorage.GetElement(new ShopSearchModel
|
||||||
@ -133,27 +140,24 @@ namespace ConfectioneryBusinessLogic
|
|||||||
}
|
}
|
||||||
_logger.LogInformation("AddPastryInShop find. Id:{Id}", element.Id);
|
_logger.LogInformation("AddPastryInShop find. Id:{Id}", element.Id);
|
||||||
|
|
||||||
if (element.MaxCountPastries < 0)
|
var currentCountPasties = element.Pastries.Select(x => x.Value.Item2).Sum();
|
||||||
|
if (currentCountPasties + count > element.MaxCountPastries)
|
||||||
{
|
{
|
||||||
throw new ArgumentException(
|
_logger.LogWarning("AddPastryInShop. The number of pastry {count} exceeds maximum {max}",
|
||||||
"Максимальное количество изделий в магазине не должно быть отрицательным",
|
currentCountPasties + count, element.MaxCountPastries);
|
||||||
nameof(element.MaxCountPastries));
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (element.Pastries.TryGetValue(pastry.Id, out var pair))
|
if (element.Pastries.TryGetValue(pastry.Id, out var pair))
|
||||||
{
|
{
|
||||||
element.Pastries[pastry.Id] = (pastry, count + pair.Item2);
|
element.Pastries[pastry.Id] = (pastry, count + pair.Item2);
|
||||||
_logger.LogInformation(
|
|
||||||
"AddPastryInShop. Has been added {count} {pastry} in {ShopName}",
|
|
||||||
count, pastry.PastryName, element.Name);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
element.Pastries[pastry.Id] = (pastry, count);
|
element.Pastries[pastry.Id] = (pastry, count);
|
||||||
_logger.LogInformation(
|
|
||||||
"AddPastryInShop. Has been added {count} new Pastry {pastry} in {ShopName}",
|
|
||||||
count, pastry.PastryName, element.Name);
|
|
||||||
}
|
}
|
||||||
|
_logger.LogInformation(
|
||||||
|
"AddPastryInShop. Has been added {count} {pastry} in {ShopName}",
|
||||||
|
count, pastry.PastryName, element.Name);
|
||||||
_shopStorage.Update(new()
|
_shopStorage.Update(new()
|
||||||
{
|
{
|
||||||
Id = element.Id,
|
Id = element.Id,
|
||||||
|
45
Confectionery/FormShop.Designer.cs
generated
45
Confectionery/FormShop.Designer.cs
generated
@ -40,7 +40,10 @@
|
|||||||
this.textBoxDateOpening = new System.Windows.Forms.TextBox();
|
this.textBoxDateOpening = new System.Windows.Forms.TextBox();
|
||||||
this.buttonCancel = new System.Windows.Forms.Button();
|
this.buttonCancel = new System.Windows.Forms.Button();
|
||||||
this.buttonSave = new System.Windows.Forms.Button();
|
this.buttonSave = new System.Windows.Forms.Button();
|
||||||
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
|
this.numericUpDownMaxPastry = new System.Windows.Forms.NumericUpDown();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxPastry)).BeginInit();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// label1
|
// label1
|
||||||
@ -74,7 +77,7 @@
|
|||||||
this.dataGridView.Location = new System.Drawing.Point(12, 64);
|
this.dataGridView.Location = new System.Drawing.Point(12, 64);
|
||||||
this.dataGridView.Name = "dataGridView";
|
this.dataGridView.Name = "dataGridView";
|
||||||
this.dataGridView.RowTemplate.Height = 25;
|
this.dataGridView.RowTemplate.Height = 25;
|
||||||
this.dataGridView.Size = new System.Drawing.Size(583, 213);
|
this.dataGridView.Size = new System.Drawing.Size(640, 213);
|
||||||
this.dataGridView.TabIndex = 2;
|
this.dataGridView.TabIndex = 2;
|
||||||
//
|
//
|
||||||
// PastryName
|
// PastryName
|
||||||
@ -105,7 +108,7 @@
|
|||||||
// label3
|
// label3
|
||||||
//
|
//
|
||||||
this.label3.AutoSize = true;
|
this.label3.AutoSize = true;
|
||||||
this.label3.Location = new System.Drawing.Point(386, 9);
|
this.label3.Location = new System.Drawing.Point(366, 9);
|
||||||
this.label3.Name = "label3";
|
this.label3.Name = "label3";
|
||||||
this.label3.Size = new System.Drawing.Size(100, 15);
|
this.label3.Size = new System.Drawing.Size(100, 15);
|
||||||
this.label3.TabIndex = 4;
|
this.label3.TabIndex = 4;
|
||||||
@ -115,20 +118,20 @@
|
|||||||
//
|
//
|
||||||
this.textBoxAddress.Location = new System.Drawing.Point(159, 27);
|
this.textBoxAddress.Location = new System.Drawing.Point(159, 27);
|
||||||
this.textBoxAddress.Name = "textBoxAddress";
|
this.textBoxAddress.Name = "textBoxAddress";
|
||||||
this.textBoxAddress.Size = new System.Drawing.Size(221, 23);
|
this.textBoxAddress.Size = new System.Drawing.Size(201, 23);
|
||||||
this.textBoxAddress.TabIndex = 5;
|
this.textBoxAddress.TabIndex = 5;
|
||||||
//
|
//
|
||||||
// textBoxDateOpening
|
// textBoxDateOpening
|
||||||
//
|
//
|
||||||
this.textBoxDateOpening.Location = new System.Drawing.Point(386, 27);
|
this.textBoxDateOpening.Location = new System.Drawing.Point(366, 27);
|
||||||
this.textBoxDateOpening.Name = "textBoxDateOpening";
|
this.textBoxDateOpening.Name = "textBoxDateOpening";
|
||||||
this.textBoxDateOpening.Size = new System.Drawing.Size(209, 23);
|
this.textBoxDateOpening.Size = new System.Drawing.Size(160, 23);
|
||||||
this.textBoxDateOpening.TabIndex = 6;
|
this.textBoxDateOpening.TabIndex = 6;
|
||||||
//
|
//
|
||||||
// buttonCancel
|
// buttonCancel
|
||||||
//
|
//
|
||||||
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.buttonCancel.Location = new System.Drawing.Point(492, 283);
|
this.buttonCancel.Location = new System.Drawing.Point(549, 283);
|
||||||
this.buttonCancel.Name = "buttonCancel";
|
this.buttonCancel.Name = "buttonCancel";
|
||||||
this.buttonCancel.Size = new System.Drawing.Size(103, 23);
|
this.buttonCancel.Size = new System.Drawing.Size(103, 23);
|
||||||
this.buttonCancel.TabIndex = 7;
|
this.buttonCancel.TabIndex = 7;
|
||||||
@ -139,7 +142,7 @@
|
|||||||
// buttonSave
|
// buttonSave
|
||||||
//
|
//
|
||||||
this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.buttonSave.Location = new System.Drawing.Point(366, 284);
|
this.buttonSave.Location = new System.Drawing.Point(423, 284);
|
||||||
this.buttonSave.Name = "buttonSave";
|
this.buttonSave.Name = "buttonSave";
|
||||||
this.buttonSave.Size = new System.Drawing.Size(120, 22);
|
this.buttonSave.Size = new System.Drawing.Size(120, 22);
|
||||||
this.buttonSave.TabIndex = 8;
|
this.buttonSave.TabIndex = 8;
|
||||||
@ -147,11 +150,34 @@
|
|||||||
this.buttonSave.UseVisualStyleBackColor = true;
|
this.buttonSave.UseVisualStyleBackColor = true;
|
||||||
this.buttonSave.Click += new System.EventHandler(this.ButtonSave_Click);
|
this.buttonSave.Click += new System.EventHandler(this.ButtonSave_Click);
|
||||||
//
|
//
|
||||||
|
// label4
|
||||||
|
//
|
||||||
|
this.label4.AutoSize = true;
|
||||||
|
this.label4.Location = new System.Drawing.Point(530, 9);
|
||||||
|
this.label4.Name = "label4";
|
||||||
|
this.label4.Size = new System.Drawing.Size(118, 15);
|
||||||
|
this.label4.TabIndex = 9;
|
||||||
|
this.label4.Text = "Максимум изделий:";
|
||||||
|
//
|
||||||
|
// numericUpDownMaxPastry
|
||||||
|
//
|
||||||
|
this.numericUpDownMaxPastry.Location = new System.Drawing.Point(532, 27);
|
||||||
|
this.numericUpDownMaxPastry.Maximum = new decimal(new int[] {
|
||||||
|
10000000,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.numericUpDownMaxPastry.Name = "numericUpDownMaxPastry";
|
||||||
|
this.numericUpDownMaxPastry.Size = new System.Drawing.Size(120, 23);
|
||||||
|
this.numericUpDownMaxPastry.TabIndex = 10;
|
||||||
|
//
|
||||||
// FormShop
|
// FormShop
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(607, 317);
|
this.ClientSize = new System.Drawing.Size(664, 317);
|
||||||
|
this.Controls.Add(this.numericUpDownMaxPastry);
|
||||||
|
this.Controls.Add(this.label4);
|
||||||
this.Controls.Add(this.buttonSave);
|
this.Controls.Add(this.buttonSave);
|
||||||
this.Controls.Add(this.buttonCancel);
|
this.Controls.Add(this.buttonCancel);
|
||||||
this.Controls.Add(this.textBoxDateOpening);
|
this.Controls.Add(this.textBoxDateOpening);
|
||||||
@ -165,6 +191,7 @@
|
|||||||
this.Text = "Просмотр изделий магазина";
|
this.Text = "Просмотр изделий магазина";
|
||||||
this.Load += new System.EventHandler(this.FormShop_Load);
|
this.Load += new System.EventHandler(this.FormShop_Load);
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxPastry)).EndInit();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
|
|
||||||
@ -184,5 +211,7 @@
|
|||||||
private DataGridViewTextBoxColumn PastryName;
|
private DataGridViewTextBoxColumn PastryName;
|
||||||
private DataGridViewTextBoxColumn Price;
|
private DataGridViewTextBoxColumn Price;
|
||||||
private DataGridViewTextBoxColumn Count;
|
private DataGridViewTextBoxColumn Count;
|
||||||
|
private Label label4;
|
||||||
|
private NumericUpDown numericUpDownMaxPastry;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -67,6 +67,7 @@ namespace ConfectioneryView
|
|||||||
var model = GetShop(extendDate ? Id : Convert.ToInt32(comboBoxShop.SelectedValue));
|
var model = GetShop(extendDate ? Id : Convert.ToInt32(comboBoxShop.SelectedValue));
|
||||||
if (model != null)
|
if (model != null)
|
||||||
{
|
{
|
||||||
|
numericUpDownMaxPastry.Value = model.MaxCountPastries;
|
||||||
comboBoxShop.Text = model.Name;
|
comboBoxShop.Text = model.Name;
|
||||||
textBoxAddress.Text = model.Address;
|
textBoxAddress.Text = model.Address;
|
||||||
textBoxDateOpening.Text = Convert.ToString(model.DateOpening);
|
textBoxDateOpening.Text = Convert.ToString(model.DateOpening);
|
||||||
@ -113,7 +114,8 @@ namespace ConfectioneryView
|
|||||||
{
|
{
|
||||||
Name = comboBoxShop.Text,
|
Name = comboBoxShop.Text,
|
||||||
Address = textBoxAddress.Text,
|
Address = textBoxAddress.Text,
|
||||||
DateOpening = dateTime
|
DateOpening = dateTime,
|
||||||
|
MaxCountPastries = (int)numericUpDownMaxPastry.Value,
|
||||||
};
|
};
|
||||||
var vmodel = GetShop(Id);
|
var vmodel = GetShop(Id);
|
||||||
bool operationResult = false;
|
bool operationResult = false;
|
||||||
|
@ -66,4 +66,13 @@
|
|||||||
<metadata name="Count.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="Count.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
<metadata name="PastryName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="Price.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="Count.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
</root>
|
</root>
|
Loading…
Reference in New Issue
Block a user