fix??
This commit is contained in:
parent
beb38d2b96
commit
9eecd21fbe
@ -68,37 +68,43 @@ namespace AbstractSoftwareInstallationBusinessLogic.BusinessLogic
|
||||
return false;
|
||||
}
|
||||
model.Status = OrderStatus.Принят;
|
||||
model.DateCreate = DateTime.Now;
|
||||
if (_orderStorage.Insert(model) == null)
|
||||
{
|
||||
Console.WriteLine("_orderStorage.Insert(model) == null");
|
||||
model.Status = OrderStatus.Неизвестен;
|
||||
_logger.LogWarning("Failed to insert order into a storage");
|
||||
_logger.LogWarning("Failed to insert order into a storage");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public bool StatusUpdate(OrderBindingModel model, OrderStatus _newStatus)
|
||||
public bool StatusUpdate(OrderBindingModel rawModel, OrderStatus _newStatus)
|
||||
{
|
||||
var viewModel = _orderStorage.GetElement(new OrderSearchModel { Id = model.Id });
|
||||
var viewModel = _orderStorage.GetElement(new OrderSearchModel { Id = rawModel.Id });
|
||||
if (viewModel == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(model));
|
||||
_logger.LogWarning("Order model not found");
|
||||
return false;
|
||||
}
|
||||
if (viewModel.Status + 1 != _newStatus)
|
||||
OrderBindingModel model = new OrderBindingModel
|
||||
{
|
||||
Id = viewModel.Id,
|
||||
PackageId = viewModel.PackageId,
|
||||
Status = viewModel.Status,
|
||||
DateCreate = viewModel.DateCreate,
|
||||
DateImplement = viewModel.DateImplement,
|
||||
Count = viewModel.Count,
|
||||
Sum = viewModel.Sum
|
||||
};
|
||||
CheckModel(rawModel, false);
|
||||
if (rawModel.Status + 1 != _newStatus)
|
||||
{
|
||||
_logger.LogWarning("Status update to " + _newStatus.ToString() + " operation failed. Order status incorrect.");
|
||||
return false;
|
||||
}
|
||||
model.Status = _newStatus;
|
||||
if (model.Status == OrderStatus.Выдан) model.DateImplement = DateTime.Now;
|
||||
else
|
||||
if (rawModel.Status == OrderStatus.Выдан) rawModel.DateImplement = DateTime.Now;
|
||||
if (_orderStorage.Update(rawModel) == null)
|
||||
{
|
||||
model.DateImplement = viewModel.DateImplement;
|
||||
}
|
||||
CheckModel(model, false);
|
||||
if (_orderStorage.Update(model) == null)
|
||||
{
|
||||
model.Status--;
|
||||
rawModel.Status--;
|
||||
_logger.LogWarning("Update operation failed");
|
||||
return false;
|
||||
}
|
||||
|
@ -70,6 +70,7 @@ namespace AbstractSoftwareInstallationDatabaseImplement.Implements
|
||||
|
||||
public OrderViewModel? Insert(OrderBindingModel model)
|
||||
{
|
||||
|
||||
var newOrder = Order.Create(model);
|
||||
|
||||
if (newOrder == null)
|
||||
@ -77,6 +78,7 @@ namespace AbstractSoftwareInstallationDatabaseImplement.Implements
|
||||
return null;
|
||||
}
|
||||
using var context = new AbstractSoftwareInstallationDatabase();
|
||||
|
||||
context.Orders.Add(newOrder);
|
||||
context.SaveChanges();
|
||||
return context.Orders.Include(x => x.Package).Include(x => x.Client).FirstOrDefault(x => x.Id == newOrder.Id)?.GetViewModel;
|
||||
|
Loading…
x
Reference in New Issue
Block a user