public void PutPackage(IPackage package, User user) { ILocker locker = GetAvailableLocker(package.Size); locker.Open(); locker.PutPackage(package, user); locker.Close(); string code = GenerateCode(CodeLen); while (!FilledLockers.ContainsKey(code)) { code = GenerateCode(CodeLen); } FilledLockers[code] = locker; Notification notification = new Notification(code, package, user, locker); SendNotification(notification); }