Exemplo n.º 1
0
        public void BookSelectByClick(object param)
        {
            var searchQuery = param as string;

            if (searchQuery == null)
            {
                ErrorMessage = "Ошибка: запрос невеверный";
                return;
            }

            BookSelectResults.Clear();

            BookSelectResults = new ObservableCollection <Book>(
                BookListCollection.Where(
                    x => x.Title.Contains(searchQuery)
                    ));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Загрузка всех книг в коллекцию
        /// </summary>
        public void ProcessXml() //(object param)
        {
            string fileName = ConfigurationManager.AppSettings["FilePath"];

            //string fileName = param as string;

            // Очистка Error Message в случае если читать другой XML файл
            ErrorMessage = string.Empty;

            lock (lockObject)
            {
                XDocument xmlDoc = null;
                try
                {
                    // Чтение XML через Linq
                    xmlDoc = XmlParser.GetXmlDataFromFileName(fileName);
                }
                catch (FileNotFoundException ex)
                {
                    ErrorMessage = ex.Message;
                }

                if (xmlDoc != null)
                {
                    // Заполнение данных из XML используя Linq
                    var element = xmlDoc.Element("booklibrary");
                    if (element != null)
                    {
                        var books = (from material in element.Elements("book")
                                     select new
                        {
                            Title = (string)material.Attribute("title"),
                            Author = (string)material.Attribute("author"),
                            Description = (string)material.Attribute("description"),
                            Year = (int)material.Attribute("year"),
                            Cover = (string)material.Attribute("cover"),
                            Url = (string)material.Attribute("url"),
                            Shelf = (string)material.Attribute("shelf")
                        });


                        //this.BookListCollection.IsUpdatePaused = true;

                        // Добавить все книги в коллекцию
                        foreach (var book in books)
                        {
                            BookListCollection.Add(
                                new Book
                            {
                                Title       = book.Title,
                                Author      = book.Author,
                                Description = book.Description,
                                Year        = book.Year,
                                Cover       = book.Cover,
                                Url         = book.Url,
                                Shelf       = book.Shelf
                            }
                                );
                        }
                    }

                    //this.BookListCollection.IsUpdatePaused = false;
                }
            }
        }