public void Init(string uri)
 {
     lock (_lock)
     {
         if (_source == null)
         {
             var reader = new XlsFileReader(uri);
             _source = reader.ReadFile();
         }
     }
 }
        /// <summary>
        /// Loads cached places from local storage
        /// </summary>
        public void Init(string uri)
        {
            lock (_cache)
            {
                if (_cached)
                {
                    return;
                }

                _uri = uri;
                var reader = new XlsFileReader(uri);
                var file   = reader.ReadFile();

                var sheet = new CartoPlaceSheetData(file.Sheets[0]);
                foreach (var row in sheet.Rows)
                {
                    var info = new CartoPlaceInfo(row);
                    _cache.Add(info);
                }

                _cached = true;
                _dirty  = false;
            }
        }