private void SaveHubDetails() { if (isStorageTypeChanged) { isStorageTypeChanged = false; BLL.ItemPrefferedLocation ipl = new ItemPrefferedLocation(); ipl.LoadByItemID(itemId); while (!ipl.EOF) { ipl.MarkAsDeleted(); ipl.MoveNext(); } ipl.Save(); } Item itm = new Item(); if (cmbStorageType.SelectedValue != null) { if (cmbStorageType.SelectedValue.ToString() == StorageType.BulkStore) { // store the stacked storage settings itm.LoadByPrimaryKey(itemId); itm.IsStackStored = chkIsStackStored.Checked; itm.Save(); if (lstPreferredPalletLocation.ItemCount > 0) { //Items itm = new Items(); // save near expiry trigger point ItemPrefferedLocation ipr = new ItemPrefferedLocation(); DataView dv = (DataView)lstPreferredPalletLocation.DataSource; foreach (DataRowView drv in dv) { ipr.SaveNewItemPreferredRack(itemId, Convert.ToInt32(drv["ID"]),false); } } // store pickface settings pf.Rewind(); PickFace pfc = new PickFace(); while (!pf.EOF) { pf.AcceptChanges(); if (!pf.IsColumnNull("PalletLocationID")) { pfc.SavePickFaceLocation(itemId, pf.PalletLocationID, pf.LogicalStore); } else { pfc.LoadPickFaceFor(itemId, pf.LogicalStore); if (pfc.RowCount> 0 && (pfc.IsColumnNull("Balance") || pfc.Balance == 0)) { pfc.ClearPickFaceFor(itemId, pfc.LogicalStore); } else { //TODO: show the error message for the user } } pf.MoveNext(); } } else { // Save the fixed locations var ipr = new ItemPrefferedLocation(); DataView dv = (DataView)lstPreferredPalletLocation.DataSource; if (dv != null) { foreach (DataRowView drv in dv) { ipr.SaveNewItemPreferredRack(itemId, Convert.ToInt32(drv["ID"]), true); } } } itm.LoadByPrimaryKey(itemId); itm.StorageTypeID = int.Parse(cmbStorageType.SelectedValue.ToString()); itm.NearExpiryTrigger = Convert.ToDouble(numNearExpiryTrigger.Value); itm.Save(); } }