Beispiel #1
0
        /// <summary>
        /// The mock get or create.
        /// </summary>
        /// <param name="url">
        /// The url.
        /// </param>
        /// <returns>
        /// The <see cref="FavoritesLocation"/>.
        /// </returns>
        public FavoritesLocation GetOrCreate(Url url)
        {
            var inDb = this._idLookup.SingleOrDefault(pair => pair.Value.Url == url);

            if (inDb.Value != null)
            {
                return(inDb.Value);
            }

            var loc = new FavoritesLocation(url);

            this._viewModel.Add(FavoritesViewModel.FromFavoritesLocation(loc, new MockFaviconCache()));
            this._idLookup.Add(this.id, loc);
            this.OnFavoritesAddOrUpdate?.Invoke(this, new FavoritesUpdateEventArgs(loc));
            loc.Id = this.id++;
            return(loc);
        }
Beispiel #2
0
        /// <summary>
        /// The update by id.
        /// </summary>
        /// <param name="index">
        /// The index.
        /// </param>
        /// <param name="update">
        /// The get update.
        /// </param>
        public void UpdateById(int index, FavoritesLocation update)
        {
            var url = this._idLookup[index]?.Url;

            if (url == null)
            {
                return;
            }

            var viewmodel = this._viewModel.ToList().Single(view => view.Url == url.ToString());

            viewmodel.Name = update.Name;
            viewmodel.Url  = update.Url.ToString();

            var loc = this._idLookup.Single(view => view.Value.Url == url);

            loc.Value.Name = update.Name;
            loc.Value.Url  = update.Url;
        }