/// <summary> /// Constructeur de la classe OrderDB /// </summary> /// <param name="ordernumber">numero de commande</param> /// <param name="creditcard">numero de carte de credit</param> /// <param name="shipping">adresse d'envoi</param> /// <param name="invoicing">adresse de facturation</param> /// <param name="books">livres commande</param> public OrderDB(string ordernumber, string creditcard, string shipping, string invoicing, BookDB[] books) { this.ordernumber = ordernumber; this.creditcard = creditcard; this.shipping = shipping; this.invoicing = invoicing; this.books = books; }
/// <summary> /// Stocke la commande dans la base de donnees /// </summary> public void OrderStorage(string usernumber) { string invoicing = this.invoicing.Name + " " + this.invoicing.Adress + " " + this.invoicing.Zipcode + " " + this.invoicing.City; string shipping = this.shipping.Name + " " + this.shipping.Adress + " " + this.shipping.Zipcode + " " + this.shipping.City; BookDB[] booksDB = new BookDB[books.Length]; for(int i = 0; i < books.Length ; ++i) { booksDB[i] = new BookDB(books[i].GUID,books[i].Title,books[i].ReleaseDate,null,null,books[i].Publisher.Name, books[i].Price.ToString(),books[i].Type.Name,books[i].Description); } database.AddOrder(usernumber, ordernumber, creditcard, shipping, invoicing, booksDB); }
/// <summary> /// Permet de retourner la liste des bouquins /// </summary> /// <returns>la liste des bouquins</returns> public List<BookDB> getBooks() { BookDB book; List<BookDB> BookCollection = new List<BookDB>(); DataTable t = Base.Select("SELECT * FROM BOOKS"); DataView v = new DataView(t); for (int i = 0; i < v.Count; i++) { DataRow row = v[i].Row; book = new BookDB(row["GUID"].ToString(), row["TITLE"].ToString(), row["PUBLICATION_DATE"].ToString(), row["ISBN_10"].ToString(), row["ISBN_13"].ToString(), row["PUBLISHER_GUID"].ToString(), row["PRICE"].ToString(), row["TYPE_GUID"].ToString(), row["DESCRIPTION"].ToString()); // Recherche de l'auteur DataTable aut = Base.Select("SELECT * FROM BOOK_AUTHOR WHERE BOOK_GUID IN ('" + row["GUID"].ToString() + "')"); DataView vAut = new DataView(aut); DataRow rowAut = vAut[0].Row; book.GuidAuthor = rowAut["AUTHOR_GUID"].ToString(); BookCollection.Add(book); } return BookCollection; }
/// <summary> /// Retourne les commandes d'un utilisateur donnee /// </summary> /// <param name="usernumber">numero d'utilisateur</param> /// <returns>La liste des commandes faites par cet utilisateur</returns> public List<OrderDB> GetOrdersByUser(string usernumber) { OrderDB ty; List<OrderDB> TypesCollection = new List<OrderDB>(); DataTable t = Base.Select("SELECT * FROM ORDERS where username="******"ordernum"].ToString(); //on recreer le tableau de livre DataTable s = Base.Select("SELECT * FROM ORDER_BOOKS where ordernum=" + ordernum); DataView w = new DataView(t); BookDB[] books = new BookDB[w.Count]; for (int j = 0; i < w.Count; ++j) { DataRow rowB = w[i].Row; string booknum = rowB["booknum"].ToString(); DataTable r = Base.Select("SELECT * FROM BOOKS where GUID=" + booknum); DataView x = new DataView(r); DataRow row = x[0].Row; books[j] = new BookDB(row["GUID"].ToString(), row["TITLE"].ToString(), row["PUBLICATION_DATE"].ToString(), row["ISBN_10"].ToString(), row["ISBN_13"].ToString(), row["PUBLISHER_GUID"].ToString(), row["PRICE"].ToString(), row["TYPE_GUID"].ToString(), row["DESCRIPTION"].ToString()); } ty = new OrderDB(rowA["ordernum"].ToString(), rowA["creditcard"].ToString(), rowA["shipping"].ToString(), rowA["invoicing"].ToString(), books); TypesCollection.Add(ty); } return TypesCollection; }
/// <summary> /// Ajoute une commande a la base de donnee /// </summary> /// <param name="usernumber">numero d'utilisateur</param> /// <param name="ordernumber">numero de commande</param> /// <param name="creditcard">numero carte de credit utilise</param> /// <param name="shipping">adresse de livraison </param> /// <param name="invoicing">adresse de facturation</param> /// <param name="books">tableau de livre command</param> public void AddOrder(string usernumber, string ordernumber, string creditcard, string shipping, string invoicing, BookDB[] books) { DataTable dt; //modification de la classe ORDERS_BOOK dt = Base.Select("Select * from ORDER_BOOK"); DataRow nRow = dt.NewRow(); nRow["ordernum"] = ordernumber; foreach (BookDB i in books) { nRow["booknum"] = i.GUID; dt.Rows.Add(nRow); } //Modification de la table ORDERS dt = Base.Select("Select * from ORDER"); DataRow mRow = dt.NewRow(); mRow["username"] = usernumber; mRow["ordernum"] = ordernumber; mRow["shipping"] = shipping; mRow["invoicing"] = invoicing; mRow["creditcard"] = creditcard; dt.Rows.Add(mRow); Base.Update("Select * from ORDER", dt); }