private void GetData() { //Get Data Table Warehouse Warehouse warehouse = _warehouseRepository.Get(_id); txtWarehouseName.Text = warehouse.WarehouseName; txtGhiChu.Text = warehouse.Note; chkUsing.Checked = (warehouse.Status == GlobalConstants.StatusValue.Using); }
/// <summary> /// Calculate new line item quantity from inventory/in-store inventory /// </summary> /// <param name="lineItem">line item</param> /// <param name="changeQtyReason">messages explain to clients why item's quantity is changed</param> /// <param name="shipment">shipment</param> /// <returns>new line item quantity</returns> protected decimal GetNewLineItemQty(LineItem lineItem, List <string> changeQtyReason, Shipment shipment) { var newLineItemQty = shipment != null?Shipment.GetLineItemQuantity(shipment, lineItem.LineItemId) : lineItem.Quantity; if (newLineItemQty < lineItem.MinQuantity) { newLineItemQty = lineItem.MinQuantity; changeQtyReason.Add("by Min Quantity setting"); } else if (newLineItemQty > lineItem.MaxQuantity) { newLineItemQty = lineItem.MaxQuantity; changeQtyReason.Add("by Max Quantity setting"); } var entryRow = GetEntryRowForLineItem(lineItem); if (!InventoryTrackingEnabled(entryRow)) { return(newLineItemQty); } var warehouseCode = shipment != null && !string.IsNullOrEmpty(shipment.WarehouseCode) ? shipment.WarehouseCode : lineItem.WarehouseCode; if (shipment == null && string.IsNullOrEmpty(warehouseCode)) { var w = WarehouseRepository.List().FirstOrDefault(x => x.IsFulfillmentCenter && x.IsActive); warehouseCode = w.Code; } IWarehouse warehouse = WarehouseRepository.Get(warehouseCode); if (warehouse == null || !warehouse.IsActive) { changeQtyReason.Add("by inactive warehouse"); return(0); } var inventoryRecord = InventoryService.Get(lineItem.Code, warehouseCode); if (inventoryRecord == null) { changeQtyReason.Add("by inactive warehouse"); return(0); } // In case inventory status is Disable, always using newLineItemQty. if (!inventoryRecord.IsTracked) { return(newLineItemQty); } return(GetNewLineItemQtyFromInventory(inventoryRecord, changeQtyReason, lineItem, newLineItemQty)); }