Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }