public Item SoftDeleteObject(Item item, IStockMutationService _stockMutationService, IItemTypeService _itemTypeService, IWarehouseItemService _warehouseItemService, IBarringService _barringService, IPurchaseOrderDetailService _purchaseOrderDetailService, IStockAdjustmentDetailService _stockAdjustmentDetailService, ISalesOrderDetailService _salesOrderDetailService, IPriceMutationService _priceMutationService) { if (_validator.ValidDeleteObject(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 x in priceMutations) { _priceMutationService.DeactivateObject(x, item.DeletedAt); } } return(item); }
public Item SoftDeleteObject(Item item, IStockMutationService _stockMutationService, IItemTypeService _itemTypeService, IWarehouseItemService _warehouseItemService, IBarringService _barringService) { if (_validator.ValidDeleteObject(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); }