public DeliveryOrder ConfirmObject(DeliveryOrder deliveryOrder, DateTime ConfirmationDate, IDeliveryOrderDetailService _deliveryOrderDetailService, ISalesOrderService _salesOrderService, ISalesOrderDetailService _salesOrderDetailService, IStockMutationService _stockMutationService, IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService) { deliveryOrder.ConfirmationDate = ConfirmationDate; if (_validator.ValidConfirmObject(deliveryOrder, _deliveryOrderDetailService)) { IList <DeliveryOrderDetail> deliveryOrderDetails = _deliveryOrderDetailService.GetObjectsByDeliveryOrderId(deliveryOrder.Id); foreach (var detail in deliveryOrderDetails) { detail.Errors = new Dictionary <string, string>(); _deliveryOrderDetailService.ConfirmObject(detail, ConfirmationDate, this, _salesOrderDetailService, _stockMutationService, _itemService, _barringService, _warehouseItemService); } _repository.ConfirmObject(deliveryOrder); SalesOrder salesOrder = _salesOrderService.GetObjectById(deliveryOrder.SalesOrderId); _salesOrderService.CheckAndSetDeliveryComplete(salesOrder, _salesOrderDetailService); } return(deliveryOrder); }