public bool AddNewQueueLane(Lane newLane) { //get highest lane number var laneCount = GetLaneCount(); //set the new lane number newLane.LaneNumber = laneCount + 1; //reflect changes in database bool isSuccess = dataAccessLogic.AddLane(newLane); if (isSuccess) { //reflect changes in application //set new inactive lane laneQueues.Add(newLane.LaneNumber, null); return(true); } else { //quite possibly a conflicting lane number hard coded into database return(false); } }