Ejemplo n.º 1
0
        private void Search(object param)
        {
            if (!String.IsNullOrEmpty(SearchText))
            {
                IEnumerable <Book> search = null;
                switch (SearchType)
                {
                case 0:
                    search = from b in BookList.Cast <Book>()
                             where b.Title.ToLower().Contains(SearchText.ToLower())
                             select b;
                    break;

                case 1:
                    search = from b in BookList.Cast <Book>()
                             where b.Author.ToLower().Contains(SearchText.ToLower())
                             select b;
                    break;

                case 2:
                    search = from b in BookList.Cast <Book>()
                             where b.Publisher.ToLower().Contains(SearchText.ToLower())
                             select b;
                    break;
                }
                BookList = search.ToObservableCollection <Book>();
            }
            else
            {
                BookList = _bookLibrary.ToObservableCollection <Book>();
            }
        }
Ejemplo n.º 2
0
        private void Save(Object param)
        {
            IEnumerable <Book> newData = BookList.Cast <Book>();
            XDocument          newDoc  = new XDocument(
                new XDeclaration("1.0", "utf-8", "true"));
            XElement bookLibrary = new XElement("BookLibrary");

            if (newData.Last().Title == null || newData.Last().Author == null || newData.Last().Publisher == null || newData.Last().PublishDate == null || newData.Last().Language == null || newData.Last().Pages == null)
            {
                MessageBox.Show("信息填写不完整!", "提示");
                return;
            }
            if (!RegexTxt.IsChinEngNum(newData.Last().Title))
            {
                MessageBox.Show("书名格式:中文,英文,数字!", "提示");
                return;
            }
            if (!RegexTxt.IsChiEng(newData.Last().Author))
            {
                MessageBox.Show("作者格式:中文,英文!", "提示");
                return;
            }
            if (!RegexTxt.IsChiEng(newData.Last().Publisher))
            {
                MessageBox.Show("出版机构格式:中文,英文!", "提示");
                return;
            }
            if (!RegexTxt.IsDate(newData.Last().PublishDate))
            {
                MessageBox.Show("日期格式为xxxx/xx/xx", "提示");
                return;
            }
            if (!RegexTxt.IsChiEng(newData.Last().Language))
            {
                MessageBox.Show("语言格式:中文,英文!", "提示");
                return;
            }
            if (!RegexTxt.IsPositiveInt(newData.Last().Pages))
            {
                MessageBox.Show("页数格式为非零正整数!", "提示");
                return;
            }
            foreach (var b in newData)
            {
                XElement book = new XElement("Book",
                                             new XAttribute("ID", b.ID),
                                             new XElement("Title", b.Title),
                                             new XElement("Author", b.Author),
                                             new XElement("Publisher", b.Publisher),
                                             new XElement("PublishDate", b.PublishDate),
                                             new XElement("Language", b.Language),
                                             new XElement("Pages", b.Pages)
                                             );
                bookLibrary.Add(book);
            }

            newDoc.Add(bookLibrary);
            newDoc.Save(strFilePath);
            MessageBox.Show("保存成功!", "提示");
        }
Ejemplo n.º 3
0
        private void Add(object param)
        {
            Book newBook = new Book()
            {
                ID = (Convert.ToInt32((from b in BookList.Cast <Book>() select b.ID).Max <string>()) + 1).ToString()
            };

            BookList.Add(newBook);
            _bookLibrary = BookList.ToIEnumerable <Book>();
            SelectedBook = newBook;
        }