Agliullov D. A. Lab Work 2 Hard #5
@ -133,6 +133,12 @@ namespace ConfectioneryBusinessLogic
|
||||
}
|
||||
_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))
|
||||
{
|
||||
|
@ -1,7 +1,6 @@
|
||||
using ConfectioneryContracts.BindingModels;
|
||||
using ConfectioneryContracts.ViewModels;
|
||||
using ConfectioneryDataModels.Models;
|
||||
using ConfectioneryDataModels.Models;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace ConfectioneryFileImplement.Models
|
||||
|
@ -12,6 +12,8 @@ namespace ConfectioneryFileImplement
|
||||
|
||||
public string Address { get; private set; } = string.Empty;
|
||||
|
||||
public int MaxCountPastries { get; private set; }
|
||||
|
||||
public DateTime DateOpening { get; private set; }
|
||||
|
||||
public Dictionary<int, int> CountPastries { get; private set; } = new();
|
||||
@ -46,6 +48,7 @@ namespace ConfectioneryFileImplement
|
||||
Name = model.Name,
|
||||
Address = model.Address,
|
||||
DateOpening = model.DateOpening,
|
||||
MaxCountPastries = model.MaxCountPastries,
|
||||
CountPastries = new()
|
||||
};
|
||||
}
|
||||
@ -57,11 +60,12 @@ namespace ConfectioneryFileImplement
|
||||
}
|
||||
return new()
|
||||
{
|
||||
Id = Convert.ToInt32(element.Attribute("Id")!.Value),
|
||||
Name = element.Element("Name")!.Value,
|
||||
Address = element.Element("Address")!.Value,
|
||||
DateOpening = Convert.ToDateTime(element.Element("DateOpening")!.Value),
|
||||
CountPastries = element.Element("CountPastries")!.Elements("CountPastry")
|
||||
Id = Convert.ToInt32(element.Attribute("Id")!.Value),
|
||||
Name = element.Element("Name")!.Value,
|
||||
Address = element.Element("Address")!.Value,
|
||||
DateOpening = Convert.ToDateTime(element.Element("DateOpening")!.Value),
|
||||
MaxCountPastries = Convert.ToInt32(element.Element("MaxCountPastries")!.Value),
|
||||
CountPastries = element.Element("CountPastries")!.Elements("CountPastry")
|
||||
.ToDictionary(
|
||||
x => Convert.ToInt32(x.Element("Key")?.Value),
|
||||
x => Convert.ToInt32(x.Element("Value")?.Value)
|
||||
@ -77,6 +81,7 @@ namespace ConfectioneryFileImplement
|
||||
Name = model.Name;
|
||||
Address = model.Address;
|
||||
DateOpening = model.DateOpening;
|
||||
MaxCountPastries = model.MaxCountPastries;
|
||||
CountPastries = model.Pastries.ToDictionary(x => x.Key, x => x.Value.Item2);
|
||||
_cachedPastries = null;
|
||||
}
|
||||
@ -87,12 +92,14 @@ namespace ConfectioneryFileImplement
|
||||
Address = Address,
|
||||
Pastries = Pastries,
|
||||
DateOpening = DateOpening,
|
||||
MaxCountPastries = MaxCountPastries,
|
||||
};
|
||||
public XElement GetXElement => new("Order",
|
||||
new XAttribute("Id", Id),
|
||||
new XElement("Name", Name),
|
||||
new XElement("Address", Address),
|
||||
new XElement("DateOpening", DateOpening),
|
||||
new XElement("MaxCountPastries", MaxCountPastries),
|
||||
new XElement("CountPastries", CountPastries
|
||||
.Select(x => new XElement("CountPastry",
|
||||
new XElement("Key", x.Key),
|
||||
|
@ -11,6 +11,8 @@ namespace ConfectioneryListImplement
|
||||
|
||||
public string Address { get; private set; } = string.Empty;
|
||||
|
||||
public int MaxCountPastries { get; private set; }
|
||||
|
||||
public DateTime DateOpening { get; private set; }
|
||||
|
||||
public Dictionary<int, (IPastryModel, int)> Pastries
|
||||
@ -33,6 +35,7 @@ namespace ConfectioneryListImplement
|
||||
Name = model.Name,
|
||||
Address = model.Address,
|
||||
DateOpening = model.DateOpening,
|
||||
MaxCountPastries = model.MaxCountPastries,
|
||||
Pastries = new()
|
||||
};
|
||||
}
|
||||
@ -45,6 +48,7 @@ namespace ConfectioneryListImplement
|
||||
Name = model.Name;
|
||||
Address = model.Address;
|
||||
DateOpening = model.DateOpening;
|
||||
MaxCountPastries = model.MaxCountPastries;
|
||||
Pastries = model.Pastries;
|
||||
}
|
||||
public ShopViewModel GetViewModel => new()
|
||||
@ -54,6 +58,7 @@ namespace ConfectioneryListImplement
|
||||
Address = Address,
|
||||
Pastries = Pastries,
|
||||
DateOpening = DateOpening,
|
||||
MaxCountPastries = MaxCountPastries,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -9,6 +9,8 @@ namespace ConfectioneryContracts.BindingModels
|
||||
|
||||
public string Address { get; set; } = string.Empty;
|
||||
|
||||
public int MaxCountPastries { get; set; }
|
||||
|
||||
public DateTime DateOpening { get; set; } = DateTime.Now;
|
||||
|
||||
public Dictionary<int, (IPastryModel, int)> Pastries
|
||||
|
@ -12,6 +12,9 @@ namespace ConfectioneryContracts.ViewModels
|
||||
[DisplayName("Адрес магазина")]
|
||||
public string Address { get; set; } = string.Empty;
|
||||
|
||||
[DisplayName("Максимальное количество изделий в магазине")]
|
||||
public int MaxCountPastries { get; set; }
|
||||
|
||||
[DisplayName("Время открытия")]
|
||||
public DateTime DateOpening { get; set; } = DateTime.Now;
|
||||
|
||||
@ -22,5 +25,6 @@ namespace ConfectioneryContracts.ViewModels
|
||||
} = new();
|
||||
|
||||
public int Id { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ namespace ConfectioneryDataModels
|
||||
{
|
||||
string Name { get; }
|
||||
string Address { get; }
|
||||
int MaxCountPastries { get; }
|
||||
DateTime DateOpening { get; }
|
||||
Dictionary<int, (IPastryModel, int)> Pastries { get; }
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user