public Item SoftDeleteLegacyObject(Item item, IStockMutationService _stockMutationService, IItemTypeService _itemTypeService, IWarehouseItemService _warehouseItemService, IBarringService _barringService) { Barring barring = _barringService.GetObjectById(item.Id); if (barring != null) { _barringService.SoftDeleteObject(barring, _itemTypeService, _warehouseItemService); return(barring); } if (_validator.ValidDeleteLegacyObject(item, _stockMutationService, _itemTypeService, _warehouseItemService)) { IList <WarehouseItem> allwarehouseitems = _warehouseItemService.GetObjectsByItemId(item.Id); foreach (var warehouseitem in allwarehouseitems) { IWarehouseItemValidator warehouseItemValidator = _warehouseItemService.GetValidator(); if (!warehouseItemValidator.ValidDeleteObject(warehouseitem)) { item.Errors.Add("Generic", "Tidak bisa menghapus item yang berhubungan dengan warehouse"); return(item); } } foreach (var warehouseitem in allwarehouseitems) { _warehouseItemService.SoftDeleteObject(warehouseitem); } _repository.SoftDeleteObject(item); } return(item); }
public Item SoftDeleteLegacyObject(Item item, IStockMutationService _stockMutationService, IItemTypeService _itemTypeService, IWarehouseItemService _warehouseItemService, IBarringService _barringService, IPurchaseOrderDetailService _purchaseOrderDetailService, IStockAdjustmentDetailService _stockAdjustmentDetailService, ISalesOrderDetailService _salesOrderDetailService, IPriceMutationService _priceMutationService) { Barring barring = _barringService.GetObjectById(item.Id); if (barring != null) { _barringService.SoftDeleteObject(barring, _itemTypeService, _warehouseItemService, _priceMutationService); return(barring); } if (_validator.ValidDeleteLegacyObject(item, _stockMutationService, _itemTypeService, _warehouseItemService, _purchaseOrderDetailService, _stockAdjustmentDetailService, _salesOrderDetailService)) { IList <WarehouseItem> allwarehouseitems = _warehouseItemService.GetObjectsByItemId(item.Id); foreach (var warehouseitem in allwarehouseitems) { IWarehouseItemValidator warehouseItemValidator = _warehouseItemService.GetValidator(); if (!warehouseItemValidator.ValidDeleteObject(warehouseitem)) { item.Errors.Add("Generic", "Tidak bisa menghapus item yang berhubungan dengan warehouse"); return(item); } } foreach (var warehouseitem in allwarehouseitems) { _warehouseItemService.SoftDeleteObject(warehouseitem); } _repository.SoftDeleteObject(item); IList <PriceMutation> priceMutations = _priceMutationService.GetActiveObjectsByItemId(item.Id); foreach (var priceMutation in priceMutations) { _priceMutationService.DeactivateObject(priceMutation, item.DeletedAt); } } return(item); }