public ActionResult GetBalance(int? siNumber, int? commodityId, string siNumberText)
        {
            if (siNumber.HasValue && commodityId.HasValue)
            {
                BLL.UserProfile user = _userProfileService.GetUser(User.Identity.Name);
                List<SIBalance> si = (from v in _dispatchAllocationService.GetUncommitedSIBalance(
                                              UserProfile.DefaultHub.HubID,
                                              commodityId.Value,user.PreferedWeightMeasurment)
                                      select v).ToList();

                SIBalance sis = new SIBalance();
                    if(siNumber.Value == 0 )
                        sis = si.FirstOrDefault(v1 => v1.SINumber == siNumberText);
                    else
                        sis = si.FirstOrDefault(v1 => v1.SINumberID == siNumber.Value);

                decimal balance = sis.Dispatchable;// +ReaminingExpectedReceipts;
                return Json(balance, JsonRequestBehavior.AllowGet);
            }
            return Json(new EmptyResult());
        }