Добавлено поле в сущность "Магазин"
This commit is contained in:
parent
1d77f16d44
commit
771985a191
@ -133,6 +133,12 @@ namespace ConfectioneryBusinessLogic
|
|||||||
}
|
}
|
||||||
_logger.LogInformation("AddPastryInShop find. Id:{Id}", element.Id);
|
_logger.LogInformation("AddPastryInShop find. Id:{Id}", element.Id);
|
||||||
|
|
||||||
|
if (element.MaxCountPastries < 0)
|
||||||
|
{
|
||||||
|
throw new ArgumentException(
|
||||||
|
"Максимальное количество изделий в магазине не должно быть отрицательным",
|
||||||
|
nameof(element.MaxCountPastries));
|
||||||
|
}
|
||||||
|
|
||||||
if (element.Pastries.TryGetValue(pastry.Id, out var pair))
|
if (element.Pastries.TryGetValue(pastry.Id, out var pair))
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
using ConfectioneryContracts.BindingModels;
|
using ConfectioneryContracts.BindingModels;
|
||||||
using ConfectioneryContracts.ViewModels;
|
using ConfectioneryContracts.ViewModels;
|
||||||
using ConfectioneryDataModels.Models;
|
using ConfectioneryDataModels.Models;
|
||||||
using ConfectioneryDataModels.Models;
|
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace ConfectioneryFileImplement.Models
|
namespace ConfectioneryFileImplement.Models
|
||||||
|
@ -12,6 +12,8 @@ namespace ConfectioneryFileImplement
|
|||||||
|
|
||||||
public string Address { get; private set; } = string.Empty;
|
public string Address { get; private set; } = string.Empty;
|
||||||
|
|
||||||
|
public int MaxCountPastries { get; private set; }
|
||||||
|
|
||||||
public DateTime DateOpening { get; private set; }
|
public DateTime DateOpening { get; private set; }
|
||||||
|
|
||||||
public Dictionary<int, int> CountPastries { get; private set; } = new();
|
public Dictionary<int, int> CountPastries { get; private set; } = new();
|
||||||
@ -46,6 +48,7 @@ namespace ConfectioneryFileImplement
|
|||||||
Name = model.Name,
|
Name = model.Name,
|
||||||
Address = model.Address,
|
Address = model.Address,
|
||||||
DateOpening = model.DateOpening,
|
DateOpening = model.DateOpening,
|
||||||
|
MaxCountPastries = model.MaxCountPastries,
|
||||||
CountPastries = new()
|
CountPastries = new()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -57,11 +60,12 @@ namespace ConfectioneryFileImplement
|
|||||||
}
|
}
|
||||||
return new()
|
return new()
|
||||||
{
|
{
|
||||||
Id = Convert.ToInt32(element.Attribute("Id")!.Value),
|
Id = Convert.ToInt32(element.Attribute("Id")!.Value),
|
||||||
Name = element.Element("Name")!.Value,
|
Name = element.Element("Name")!.Value,
|
||||||
Address = element.Element("Address")!.Value,
|
Address = element.Element("Address")!.Value,
|
||||||
DateOpening = Convert.ToDateTime(element.Element("DateOpening")!.Value),
|
DateOpening = Convert.ToDateTime(element.Element("DateOpening")!.Value),
|
||||||
CountPastries = element.Element("CountPastries")!.Elements("CountPastry")
|
MaxCountPastries = Convert.ToInt32(element.Element("MaxCountPastries")!.Value),
|
||||||
|
CountPastries = element.Element("CountPastries")!.Elements("CountPastry")
|
||||||
.ToDictionary(
|
.ToDictionary(
|
||||||
x => Convert.ToInt32(x.Element("Key")?.Value),
|
x => Convert.ToInt32(x.Element("Key")?.Value),
|
||||||
x => Convert.ToInt32(x.Element("Value")?.Value)
|
x => Convert.ToInt32(x.Element("Value")?.Value)
|
||||||
@ -77,6 +81,7 @@ namespace ConfectioneryFileImplement
|
|||||||
Name = model.Name;
|
Name = model.Name;
|
||||||
Address = model.Address;
|
Address = model.Address;
|
||||||
DateOpening = model.DateOpening;
|
DateOpening = model.DateOpening;
|
||||||
|
MaxCountPastries = model.MaxCountPastries;
|
||||||
CountPastries = model.Pastries.ToDictionary(x => x.Key, x => x.Value.Item2);
|
CountPastries = model.Pastries.ToDictionary(x => x.Key, x => x.Value.Item2);
|
||||||
_cachedPastries = null;
|
_cachedPastries = null;
|
||||||
}
|
}
|
||||||
@ -87,12 +92,14 @@ namespace ConfectioneryFileImplement
|
|||||||
Address = Address,
|
Address = Address,
|
||||||
Pastries = Pastries,
|
Pastries = Pastries,
|
||||||
DateOpening = DateOpening,
|
DateOpening = DateOpening,
|
||||||
|
MaxCountPastries = MaxCountPastries,
|
||||||
};
|
};
|
||||||
public XElement GetXElement => new("Order",
|
public XElement GetXElement => new("Order",
|
||||||
new XAttribute("Id", Id),
|
new XAttribute("Id", Id),
|
||||||
new XElement("Name", Name),
|
new XElement("Name", Name),
|
||||||
new XElement("Address", Address),
|
new XElement("Address", Address),
|
||||||
new XElement("DateOpening", DateOpening),
|
new XElement("DateOpening", DateOpening),
|
||||||
|
new XElement("MaxCountPastries", MaxCountPastries),
|
||||||
new XElement("CountPastries", CountPastries
|
new XElement("CountPastries", CountPastries
|
||||||
.Select(x => new XElement("CountPastry",
|
.Select(x => new XElement("CountPastry",
|
||||||
new XElement("Key", x.Key),
|
new XElement("Key", x.Key),
|
||||||
|
@ -11,6 +11,8 @@ namespace ConfectioneryListImplement
|
|||||||
|
|
||||||
public string Address { get; private set; } = string.Empty;
|
public string Address { get; private set; } = string.Empty;
|
||||||
|
|
||||||
|
public int MaxCountPastries { get; private set; }
|
||||||
|
|
||||||
public DateTime DateOpening { get; private set; }
|
public DateTime DateOpening { get; private set; }
|
||||||
|
|
||||||
public Dictionary<int, (IPastryModel, int)> Pastries
|
public Dictionary<int, (IPastryModel, int)> Pastries
|
||||||
@ -33,6 +35,7 @@ namespace ConfectioneryListImplement
|
|||||||
Name = model.Name,
|
Name = model.Name,
|
||||||
Address = model.Address,
|
Address = model.Address,
|
||||||
DateOpening = model.DateOpening,
|
DateOpening = model.DateOpening,
|
||||||
|
MaxCountPastries = model.MaxCountPastries,
|
||||||
Pastries = new()
|
Pastries = new()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -45,6 +48,7 @@ namespace ConfectioneryListImplement
|
|||||||
Name = model.Name;
|
Name = model.Name;
|
||||||
Address = model.Address;
|
Address = model.Address;
|
||||||
DateOpening = model.DateOpening;
|
DateOpening = model.DateOpening;
|
||||||
|
MaxCountPastries = model.MaxCountPastries;
|
||||||
Pastries = model.Pastries;
|
Pastries = model.Pastries;
|
||||||
}
|
}
|
||||||
public ShopViewModel GetViewModel => new()
|
public ShopViewModel GetViewModel => new()
|
||||||
@ -54,6 +58,7 @@ namespace ConfectioneryListImplement
|
|||||||
Address = Address,
|
Address = Address,
|
||||||
Pastries = Pastries,
|
Pastries = Pastries,
|
||||||
DateOpening = DateOpening,
|
DateOpening = DateOpening,
|
||||||
|
MaxCountPastries = MaxCountPastries,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,8 @@ namespace ConfectioneryContracts.BindingModels
|
|||||||
|
|
||||||
public string Address { get; set; } = string.Empty;
|
public string Address { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public int MaxCountPastries { get; set; }
|
||||||
|
|
||||||
public DateTime DateOpening { get; set; } = DateTime.Now;
|
public DateTime DateOpening { get; set; } = DateTime.Now;
|
||||||
|
|
||||||
public Dictionary<int, (IPastryModel, int)> Pastries
|
public Dictionary<int, (IPastryModel, int)> Pastries
|
||||||
|
@ -12,6 +12,9 @@ namespace ConfectioneryContracts.ViewModels
|
|||||||
[DisplayName("Адрес магазина")]
|
[DisplayName("Адрес магазина")]
|
||||||
public string Address { get; set; } = string.Empty;
|
public string Address { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[DisplayName("Максимальное количество изделий в магазине")]
|
||||||
|
public int MaxCountPastries { get; set; }
|
||||||
|
|
||||||
[DisplayName("Время открытия")]
|
[DisplayName("Время открытия")]
|
||||||
public DateTime DateOpening { get; set; } = DateTime.Now;
|
public DateTime DateOpening { get; set; } = DateTime.Now;
|
||||||
|
|
||||||
@ -22,5 +25,6 @@ namespace ConfectioneryContracts.ViewModels
|
|||||||
} = new();
|
} = new();
|
||||||
|
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ namespace ConfectioneryDataModels
|
|||||||
{
|
{
|
||||||
string Name { get; }
|
string Name { get; }
|
||||||
string Address { get; }
|
string Address { get; }
|
||||||
|
int MaxCountPastries { get; }
|
||||||
DateTime DateOpening { get; }
|
DateTime DateOpening { get; }
|
||||||
Dictionary<int, (IPastryModel, int)> Pastries { get; }
|
Dictionary<int, (IPastryModel, int)> Pastries { get; }
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user