Advertisement
Guest User

Untitled

a guest
Mar 20th, 2010
497
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.99 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.IO;
  6. using System.Xml;
  7. using System.Xml.Serialization;
  8.  
  9.  
  10. /// <summary>
  11. /// Summary description for Book
  12. /// </summary>
  13.  
  14. [XmlRoot("BookStore")]
  15. public class BookStore
  16. {
  17.     LinkedList<Book> booksList;
  18.  
  19.     public BookStore(){
  20.         booksList = new LinkedList<Book>();
  21.     }
  22.  
  23.     public void SaveToXML(string path)
  24.     {
  25.         XmlSerializer s = new XmlSerializer(typeof(BookStore));
  26.         TextWriter w = new StreamWriter(path);
  27.         s.Serialize(w, booksList);
  28.         w.Close();
  29.     }
  30.  
  31.     public void LoadFromXML(string path)
  32.     {
  33.         XmlSerializer s = new XmlSerializer(typeof(BookStore));
  34.         TextReader r = new StreamReader(path);
  35.         booksList = ((BookStore)s.Deserialize(r)).BooksList;
  36.         r.Close();
  37.     }
  38.  
  39.     public override string ToString()
  40.     {
  41.         string s = "";
  42.         LinkedListNode<Book> l = booksList.First;
  43.         while (l != null)
  44.         {
  45.             s += l.Value.Name + "; ";
  46.             l = l.Next;
  47.         }
  48.         return s;
  49.     }
  50.  
  51.     public void AddBook(Book book)
  52.     {
  53.         booksList.AddFirst(book);
  54.     }
  55.  
  56.     public void RemoveBook(Book book)
  57.     {
  58.         booksList.Remove(book);
  59.     }
  60.  
  61.     [XmlElement("Book")]
  62.     public LinkedList<Book> BooksList
  63.     {
  64.         get { return booksList; }
  65.         set { booksList = value; }
  66.     }
  67. }
  68.  
  69. public class Book
  70. {
  71.     [XmlAttribute("name")]
  72.     private string name;
  73.     [XmlAttribute("imageurl")]
  74.     private string imageurl;
  75.     [XmlAttribute("subject")]
  76.     private string subject;
  77.     [XmlAttribute("author")]
  78.     private string author;
  79.     [XmlAttribute("level")]
  80.     private int level;
  81.     [XmlAttribute("year")]
  82.     private int year;
  83.     [XmlAttribute("price")]
  84.     private double price;
  85.  
  86.     public Book()
  87.     {
  88.     }
  89.  
  90.     public Book(string name, string imageurl, string subject, string author, int level, int year, double price)
  91.     {
  92.         this.name = name;
  93.         this.imageurl = imageurl;
  94.         this.subject = subject;
  95.         this.author = author;
  96.         this.level = level;
  97.         this.year = year;
  98.         this.price = price;
  99.     }
  100.  
  101.     public string Name
  102.     {
  103.         get { return name; }
  104.         set { name = value; }
  105.     }
  106.  
  107.     public string Imageurl
  108.     {
  109.         get { return imageurl; }
  110.         set { imageurl = value; }
  111.     }
  112.  
  113.     public string Subject
  114.     {
  115.         get { return subject; }
  116.         set { subject = value; }
  117.     }
  118.  
  119.     public string Author
  120.     {
  121.         get { return author; }
  122.         set { author = value; }
  123.     }
  124.  
  125.     public int Level
  126.     {
  127.         get { return level; }
  128.         set { if (value > 0) level = value; }
  129.     }
  130.  
  131.     public int Year
  132.     {
  133.         get { return year; }
  134.         set { if ((value > 1900) && (value <= DateTime.Now.Year)) year = value; }
  135.     }
  136.  
  137.     public double Price
  138.     {
  139.         get { return price; }
  140.         set { if (value >= 0) price = value; }
  141.     }
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement