Готовая LabWork01

This commit is contained in:
Николай 2023-02-12 13:10:24 +04:00
parent fbe5c94682
commit 280db9d6e3
6 changed files with 39 additions and 27 deletions

View File

@ -88,7 +88,6 @@ namespace FoodOrdersView
var operationResult = _logicO.CreateOrder(new OrderBindingModel
{
DishId = Convert.ToInt32(comboBoxDish.SelectedValue),
DishName = comboBoxDish.Text,
Count = Convert.ToInt32(textBoxCount.Text),
Sum = Convert.ToDouble(textBoxSum.Text)
});

View File

@ -77,7 +77,6 @@ namespace FoodOrdersView
{
Id = id,
DishId = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["DishId"].Value),
DishName = dataGridView.SelectedRows[0].Cells["DishName"].Value.ToString(),
Status = Enum.Parse<OrderStatus>(dataGridView.SelectedRows[0].Cells["Status"].Value.ToString()),
Count = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Count"].Value),
Sum = double.Parse(dataGridView.SelectedRows[0].Cells["Sum"].Value.ToString()),
@ -108,7 +107,6 @@ namespace FoodOrdersView
{
Id = id,
DishId = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["DishId"].Value),
DishName = dataGridView.SelectedRows[0].Cells["DishName"].Value.ToString(),
Status = Enum.Parse<OrderStatus>(dataGridView.SelectedRows[0].Cells["Status"].Value.ToString()),
Count = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Count"].Value),
Sum = double.Parse(dataGridView.SelectedRows[0].Cells["Sum"].Value.ToString()),
@ -139,7 +137,6 @@ namespace FoodOrdersView
{
Id = id,
DishId = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["DishId"].Value),
DishName = dataGridView.SelectedRows[0].Cells["DishName"].Value.ToString(),
Status = Enum.Parse<OrderStatus>(dataGridView.SelectedRows[0].Cells["Status"].Value.ToString()),
Count = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Count"].Value),
Sum = double.Parse(dataGridView.SelectedRows[0].Cells["Sum"].Value.ToString()),

View File

@ -21,8 +21,7 @@ namespace FoodOrdersBusinessLogic.BusinessLogics
public List<OrderViewModel>? ReadList(OrderSearchModel? model)
{
_logger.LogInformation("ReadList. ComponentName:{ComponentName}. Id:{Id}", model?.Id);
var list = model == null ? _orderStorage.GetFullList() :
_orderStorage.GetFilteredList(model);
var list = model == null ? _orderStorage.GetFullList() : _orderStorage.GetFilteredList(model);
if (list == null)
{
_logger.LogWarning("ReadList return null list");
@ -93,18 +92,29 @@ namespace FoodOrdersBusinessLogic.BusinessLogics
//???
public bool StatusUpdate(OrderBindingModel model, OrderStatus newStatus)
{
CheckModel(model);
if (model.Status + 1 != newStatus)
var viewModel = _orderStorage.GetElement(new OrderSearchModel { Id = model.Id });
if (viewModel == null)
{
_logger.LogWarning("Status update to " + newStatus.ToString() + " operation failed. Order status incorrect.");
throw new ArgumentNullException(nameof(model));
}
if (viewModel.Status + 1 != newStatus)
{
_logger.LogWarning("Change status operation failed");
return false;
}
model.Status = newStatus;
if (model.Status == OrderStatus.Выдан) model.DateImplement = DateTime.Now;
if (model.Status == OrderStatus.Готов)
{
model.DateImplement = DateTime.Now;
}
else
{
model.DateImplement = viewModel.DateImplement;
}
CheckModel(model);
if (_orderStorage.Update(model) == null)
{
model.Status--;
_logger.LogWarning("Update operation failed");
_logger.LogWarning("Change status operation failed");
return false;
}
return true;

View File

@ -7,7 +7,6 @@ namespace FoodOrdersContracts.BindingModels
{
public int Id { get; set; }
public int DishId { get; set; }
public string DishName { get; set; } = string.Empty;
public int Count { get; set; }
public double Sum { get; set; }
public OrderStatus Status { get; set; } = OrderStatus.Неизвестен;

View File

@ -23,7 +23,7 @@ namespace FoodOrdersListImplement.Implements
var result = new List<OrderViewModel>();
foreach (var order in _source.Orders)
{
result.Add(order.GetViewModel);
result.Add(GetViewModel(order));
}
return result;
}
@ -38,7 +38,7 @@ namespace FoodOrdersListImplement.Implements
{
if (order.Id == model.Id)
{
result.Add(order.GetViewModel);
result.Add(GetViewModel(order));
}
}
return result;
@ -54,11 +54,26 @@ namespace FoodOrdersListImplement.Implements
{
if (model.Id.HasValue && order.Id == model.Id)
{
return order.GetViewModel;
return GetViewModel(order);
}
}
return null;
}
private OrderViewModel GetViewModel(Order order)
{
var viewModel = order.GetViewModel;
foreach (var iceCream in _source.Dish)
{
if (iceCream.Id == order.DishId)
{
viewModel.DishName = iceCream.DishName;
break;
}
}
return viewModel;
}
public OrderViewModel? Delete(OrderBindingModel model)
{
for (int i = 0; i < _source.Orders.Count; ++i)
@ -67,7 +82,7 @@ namespace FoodOrdersListImplement.Implements
{
var element = _source.Orders[i];
_source.Orders.RemoveAt(i);
return element.GetViewModel;
return GetViewModel(element);
}
}
return null;
@ -89,7 +104,7 @@ namespace FoodOrdersListImplement.Implements
return null;
}
_source.Orders.Add(newOrder);
return newOrder.GetViewModel;
return GetViewModel(newOrder);
}
public OrderViewModel? Update(OrderBindingModel model)
@ -99,7 +114,7 @@ namespace FoodOrdersListImplement.Implements
if (order.Id == model.Id)
{
order.Update(model);
return order.GetViewModel;
return GetViewModel(order);
}
}
return null;

View File

@ -10,7 +10,6 @@ namespace FoodOrdersListImplement.Models
{
public int Id { get; private set; }
public int DishId { get; private set; }
public string DishName { get; private set; } = string.Empty;
public int Count { get; private set; }
public double Sum { get; private set; }
public OrderStatus Status { get; private set; }
@ -27,7 +26,6 @@ namespace FoodOrdersListImplement.Models
{
Id = model.Id,
DishId = model.DishId,
DishName = model.DishName,
Count = model.Count,
Sum = model.Sum,
Status = model.Status,
@ -41,19 +39,13 @@ namespace FoodOrdersListImplement.Models
{
return;
}
DishId = model.DishId;
DishName = model.DishName;
Count = model.Count;
Sum = model.Sum;
Status = model.Status;
DateCreate = model.DateCreate;
DateImplement = model.DateImplement;
}
public OrderViewModel GetViewModel => new()
{
Id = Id,
DishId = DishId,
DishName = DishName,
Count = Count,
Sum = Sum,
Status = Status,