private bool NewWarehouseCode(string id)
        {
            WarehouseCode item = new WarehouseCode();

            //all new records will be give a negative int autoid...
            //when they are updated then sql will generate one for them overiding this set value...
            //it will allow us to give uniqueness to the tempory new records...
            //Before they are updated to the entity and given an autoid...
            //we use a negative number and keep subtracting by 1 for each new item added...
            //This will allow it to alwasy be unique and never interfere with SQL's positive autoid...
            _newWarehouseCodeAutoId = _newWarehouseCodeAutoId - 1;
            item.AutoID             = _newWarehouseCodeAutoId;
            item.WarehouseCodeID    = id;
            item.CompanyID          = ClientSessionSingleton.Instance.CompanyID;
            item.IsValid            = 1;
            item.NotValidMessage    = "New Record Key Field/s Are Required.";
            WarehouseCodeList.Add(item);
            _serviceAgent.AddToWarehouseCodeRepository(item);
            SelectedWarehouseCode = WarehouseCodeList.LastOrDefault();

            AllowEdit = true;
            Dirty     = false;
            return(true);
        }