/// <summary> /// 新增一个号码. /// </summary> /// <param name="prefix"></param> /// <returns></returns> public string GetNewWorkNumber(string prefix) { if (!workNumberManagerDictionary.ContainsKey(prefix)) { throw new ArgumentException("无法识别的号码前缀!"); } // 取得号码生成器. IWorkNumberManager workNumberManager = workNumberManagerDictionary[prefix]; // 生成新的号码. string newCode = workNumberManager.GetNextWorkNumber(); // 如果队列不存在,那么创建之. if (!workNumberQueueDictionary.ContainsKey(prefix)) { workNumberQueueDictionary.Add(prefix, new Queue <string>()); } // 取得队列. Queue <string> workNumberQueue = workNumberQueueDictionary[prefix]; // 新号码, 加入队列. workNumberQueue.Enqueue(newCode); // 将新号码返回. return(newCode); }
/// <summary> /// 分配器加入列表. /// </summary> /// <param name="prefix"></param> /// <param name="workNumberManager"></param> public void AddNewIWorkNumberManager(IWorkNumberManager workNumberManager) { workNumberManagerDictionary.Add(workNumberManager.WorkNumberPrefix, workNumberManager); }
/// <summary> /// 分配器加入列表. /// </summary> /// <param name="workNumberManager"></param> public void AddNewIWorkNumberManager(IWorkNumberManager workNumberManager) { queueManager.AddNewIWorkNumberManager(workNumberManager); }