here is the code
if (this.FromBin.EndsWith("Q"))
{
Erp.Contracts.InvTransferSvcContract svcInvTransfer = null;
svcInvTransfer = Ice.Assemblies.ServiceRenderer.GetService<Erp.Contracts.InvTransferSvcContract>(Db);
var dsInvTransfer = new Erp.Tablesets.InvTransferTableset();
svcInvTransfer.GetInvTransferRecords(this.Part, dsInvTransfer);
var ttInvTrans = (from r in dsInvTransfer.InvTrans select r).FirstOrDefault();
if (ttInvTrans != null)
{
ttInvTrans.TranReference = "QC Bin Move for job " + this.JobNum;
ttInvTrans.TransferQty = this.TransferQuantity;
ttInvTrans.TrackingQty = this.TransferQuantity;
ttInvTrans.RowMod = "U";
svcInvTransfer.ChangeUOM(ref dsInvTransfer);
ttInvTrans.FromWarehouseCode = this.Warehouse;
svcInvTransfer.ChangeFromWhse(this.Warehouse, ref dsInvTransfer);
ttInvTrans.FromBinNum = this.FromBin;
svcInvTransfer.ChangeFromBin(this.FromBin, ref dsInvTransfer);
ttInvTrans.ToWarehouseCode = this.Warehouse;
svcInvTransfer.ChangeToWhse(this.Warehouse, ref dsInvTransfer);
string strToBinNum = this.FromBin.Remove(this.FromBin.Length - 1, 1);
ttInvTrans.ToBinNum = strToBinNum;
svcInvTransfer.ChangeToBin(strToBinNum, ref dsInvTransfer);
bool RequiresUserInput = false;
svcInvTransfer.PreCommitTransfer(ref dsInvTransfer, out RequiresUserInput);
ttInvTrans.RowMod = "U";
string LegalNumberMessage, partTranPKs;
svcInvTransfer.CommitTransfer(ref dsInvTransfer, out LegalNumberMessage, out partTranPKs);
svcInvTransfer.Dispose();
dsInvTransfer = null;
}
}
}