/// <summary>
 /// Add the passed in item to the history list if it isn't already in there.
 /// </summary>
 /// <param name="entry"></param>
 public void AddToHistory(BaseEntry entry)
 {
     if (!IsInHistory(entry))//item does not exist in history, so add it
     {
         IsolatedStorage.History.Add(entry);
     }
 }
 public void AddToFavorites(BaseEntry entry)
 {
     if (!IsInFavorites(entry))
     {
         IsolatedStorage.Favorites.Add(entry);
     }
 }
 public void RemoveFromFavorites(BaseEntry entry)
 {
     if (entry != null && IsInFavorites(entry))
     {
         IsolatedStorage.Favorites.Remove(entry);
     }
 }
        /// <summary>
        /// Checks to see if the passed in Item already exists in the History.
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public bool IsInHistory(BaseEntry item)
        {
            var tempList = GetGroupedHistoryItems();

            bool inHistory = false;
            foreach (Group<BaseEntry> group in tempList)
            {
                foreach (BaseEntry baseEntry in group)
                {
                    if (baseEntry.Name.Equals(item.Name))
                    {
                        inHistory = true;
                        break; //we're done here, exit the loop
                    }
                }
            }
            return inHistory;
        }
示例#5
0
        /// <summary>
        /// Checks to see if the passed in entry is already in this playlist.
        /// </summary>
        /// <param name="entry"></param>
        /// <returns></returns>
        private bool IsInPlaylist(BaseEntry entry)
        {
            bool result = false;

            if (entry != null)
            {
                foreach (BaseEntry playlistEntry in Items)
                {
                    if (playlistEntry.Name.Equals(entry.Name))
                    {
                        result = true;
                        break;
                    }
                }
            }

            return result;
        }
        /// <summary>
        /// Checks to see if the passed in Entry already exists in the Favorites.
        /// </summary>
        /// <param name="entry"></param>
        /// <returns></returns>
        public bool IsInFavorites(BaseEntry entry)
        {
            var tempList = GetGroupedFavoriteItems();

            bool inFavorites = false;
            foreach (Group<BaseEntry> group in tempList)
            {
                foreach (BaseEntry baseEntry in group)
                {
                    if (baseEntry.Name.Equals(entry.Name))
                    {
                        inFavorites = true;
                        break; //we're done here, exit the loop
                    }
                }
            }

            return inFavorites;
        }
        public void SaveEntryToPlaylists(BaseEntry entry, List<Playlist> selectedPlaylists)
        {
            if (entry != null && selectedPlaylists != null && selectedPlaylists.Count > 0)
            {
                List<Playlist> existingPlaylists = IsolatedStorage.Playlists;

                //assume the playlist exists in the list

                for (int i = 0; i < selectedPlaylists.Count; i++)
                {
                    Playlist p = selectedPlaylists[i];

                    Playlist existingPlaylist = (from playlist in existingPlaylists
                                                 where playlist.Name.Equals(p.Name)
                                                 select playlist).First();

                    if (!existingPlaylist.Items.Contains(entry))
                    {
                        existingPlaylist.Items.Add(entry);
                    }
                }
                 SaveAllPlaylists(existingPlaylists);
            }
        }
 private void NavigateToFavoriteEntry(BaseEntry entry)
 {
     NavigateToEntry(entry);
 }
        /// <summary>
        /// Gets the EntryType.Types enum value of the passed in BaseEntry object.  No exception handling
        /// done here because if this fails something has gone horribly wrong.
        /// </summary>
        /// <param name="entry"></param>
        /// <returns>EntryType.Types</returns>
        private EntryType.Types GetEntryType(BaseEntry entry)
        {
            EntryType.Types type = EntryType.Types.Unassigned;

            if (entry != null)
            {
                type = (EntryType.Types)Enum.Parse(typeof(EntryType.Types), entry.GetType().Name);
            }
            return type;
        }
示例#10
0
        private BaseEntry GetFullTextData(BaseEntry entry)
        {
            BaseEntry tempEntry = default(BaseEntry);
            List<string> queryValues = new List<string>();
            EntryDataService eds = new EntryDataService();

            switch (GetEntryType(entry))
            {
                case EntryType.Types.Class:
                    {
                        queryValues.Add("class");
                        break;
                    }
                case EntryType.Types.Domain:
                    {
                        queryValues.Add("domain");
                        break;
                    }
                case EntryType.Types.Equipment:
                    {
                        queryValues.Add("equipment");
                        break;
                    }
                case EntryType.Types.Feat:
                    {
                        queryValues.Add("feat");
                        break;
                    }
                case EntryType.Types.Item:
                    {
                        queryValues.Add("item");
                        break;
                    }
                case EntryType.Types.Monster:
                    {
                        queryValues.Add("monster");
                        break;
                    }
                case EntryType.Types.Power:
                    {
                        queryValues.Add("power");
                        break;
                    }
                case EntryType.Types.Skill:
                    {
                        queryValues.Add("skill");
                        break;
                    }
                case EntryType.Types.Spell:
                    {
                        queryValues.Add("spell");
                        break;
                    }
            }

            //ridiculousness due to sqlite lib not doing parameterized queries correctly imho
            queryValues.Add(entry.Name.Replace("'", "''"));
            tempEntry = eds.GetSingleValue<BaseEntity, BaseEntry>(DatabaseQueries.QUERY_FULLTEXT, queryValues.ToArray());

            entry.Full_Text = tempEntry.Full_Text;
            return entry;
        }
 private void NavigateToHistoryEntry(BaseEntry entry)
 {
     NavigateToEntry(entry);
 }