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));
        }