/// <summary> /// Carrega a lista de livros na grid original e ordena para outra denominada grid ordenada /// </summary> private void LoadAndOrderBooks() { if (System.Windows.Forms.Application.UserAppDataRegistry.GetValue("XmlPath") != null) { var path = System.Windows.Forms.Application.UserAppDataRegistry.GetValue("XmlPath").ToString(); tbXmlPath.Text = path; var dataSet = new DataSet(); try { dataSet.ReadXml(path); dgvBooks.DataSource = dataSet.Tables[0]; } catch { MessageBox.Show("Ocorreu um erro ao carregar lista.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); } try { var books = dataSet.Tables[0].AsEnumerable().Select(r => new Book { Title = r.Field <string>("Title"), AuthorName = r.Field <string>("AuthorName"), EditionYear = Convert.ToInt32(r.Field <string>("EditionYear")) }); var list = _booksOrderer.Order(books); dgvOrderedBooks.DataSource = new BindingSource(list, null); } catch (OrdenationException ex) { MessageBox.Show(ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch { MessageBox.Show("Ocorreu um erro ao ordenar lista.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public IEnumerable <Book> Order(IEnumerable <Book> books) { return(_booksOrderer.Order(books)); }