private bool NewWarehouseLocationBinCode(string id) { WarehouseLocationBinCode item = new WarehouseLocationBinCode(); //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... _newWarehouseLocationBinCodeAutoId = _newWarehouseLocationBinCodeAutoId - 1; item.AutoID = _newWarehouseLocationBinCodeAutoId; item.WarehouseLocationBinCodeID = id; item.CompanyID = ClientSessionSingleton.Instance.CompanyID; item.IsValid = 1; item.NotValidMessage = "New Record Key Field/s Are Required."; WarehouseLocationBinCodeList.Add(item); _serviceAgent.AddToWarehouseLocationBinCodeRepository(item); SelectedWarehouseLocationBinCode = WarehouseLocationBinCodeList.LastOrDefault(); AllowEdit = true; Dirty = false; return(true); }