public void MakeClone() { books.Clear(); editions.Clear(); genres.Clear(); companies.Clear(); foreach (Book b in database.bookManager.books) { books.Add(new Book(b.Title, b.Author, b.edition, b.genre, b.PublishYear, b.PublishLocation, b.Publisher, b.Isbn, b.PagesNumber, b.Note)); } foreach (EGC e in database.egcManager.editions) { editions.Add(new EGC(e.Name)); } foreach (EGC g in database.egcManager.genres) { genres.Add(new EGC(g.Name)); } settings.SortBy = database.settings.SortBy; settings.SortUp = database.settings.SortUp; settings.SortUpEditions = database.settings.SortUpEditions; settings.SortUpGenres = database.settings.SortUpGenres; settings.SortBooks = database.settings.SortBooks; settings.SortEditions = database.settings.SortEditions; settings.SortGenres = database.settings.SortGenres; }
private async void GetBooks() { Task <List <BookModel> > task = Task.Run <List <BookModel> >(() => { var t = _bookDataAccess.GetAllData(Properties.Resources.GetAllBooks); return(t); }); BookCollection.Clear(); _log.Message("Getting All books from the database"); var booksCollection = await task; booksCollection.ForEach(t => BookCollection.Add(t)); }
private async void GetBooks() { ErrorMsgVisibility = Visibility.Collapsed; BookCollection.Clear(); Task <List <BookModel> > task = Task.Run <List <BookModel> >(() => { var t = _dataAccess.GetAllData(Properties.Resources.GetAllBooks); return(t); }); _log.Message("Getting All the bok from Database"); var booksCollection = await task; booksCollection.ForEach(t => BookCollection.Add(t)); }
/* * Method for synchronization if the collection of the ViewModels changed with the * cases add, remove and reset. */ private void ViewModelCollectionChanged(object bookCollectionVM, NotifyCollectionChangedEventArgs e) { if (synchDisabled) { return; } // Disable synchronization synchDisabled = true; switch (e.Action) { //add a new book to the model collection case NotifyCollectionChangedAction.Add: foreach (var newBook in e.NewItems.OfType <BookViewModel>().Select(v => v.wrappedBook).OfType <Book>()) { bookCollection.Add(newBook); } break; //remove a book from the model collection case NotifyCollectionChangedAction.Remove: foreach (var oldBook in e.OldItems.OfType <BookViewModel>().Select(v => v.wrappedBook).OfType <Book>()) { bookCollection.Remove(oldBook); } break; /* * reset the model collection by clearing the collection and adding the models of the * saved viewmodels. */ case NotifyCollectionChangedAction.Reset: bookCollection.Clear(); foreach (var book in e.NewItems.OfType <BookViewModel>().Select(v => v.wrappedBook).OfType <Book>()) { bookCollection.Add(book); } break; } //Enable synchronization synchDisabled = false; }
public void GetResponse(bool useProductionEndpoint, ref BookCollection books) { _status = SearchStatus.Working; _errorMessages = null; books.Clear(); var endpoint = useProductionEndpoint ? new Uri(ENDPOINT_PRODUCTION) : new Uri(ENDPOINT_SANDBOX); var data = Encoding.UTF8.GetBytes(ToXml()); var request = (HttpWebRequest)WebRequest.Create(endpoint); request.Method = WebRequestMethods.Http.Post; request.ContentType = "text/xml"; request.ContentLength = data.Length; request.Headers.Add("X-EBAY-SOA-SERVICE-NAME", "FindingService"); request.Headers.Add("X-EBAY-SOA-GLOBAL-ID", GetGlobalId(_filter.Location)); request.Headers.Add("X-EBAY-SOA-MESSAGE-ENCODING", "UTF-8"); request.Headers.Add("X-EBAY-SOA-OPERATION-NAME", "findItemsAdvanced"); request.Headers.Add("X-EBAY-SOA-REQUEST-DATA-FORMAT", DATA_FORMAT); request.Headers.Add("X-EBAY-SOA-RESPONSE-DATA-FORMAT", DATA_FORMAT); request.Headers.Add("X-EBAY-SOA-SECURITY-APPNAME", _appId); try { // write post data using (var writer = request.GetRequestStream()) { writer.Write(data, 0, data.Length); } } catch (WebException ex) { _errorMessages = new List <string> { ex.Message }; _status = SearchStatus.Failed; return; } string responseXml; try { using (var response = (HttpWebResponse)request.GetResponse()) using (var reader = new StreamReader(response.GetResponseStream())) { responseXml = reader.ReadToEnd(); } } catch (WebException ex) { if (ex.Response == null) { _errorMessages = new List <string> { ex.Message }; _status = SearchStatus.Failed; return; } using (var reader = new StreamReader(ex.Response.GetResponseStream())) { responseXml = reader.ReadToEnd(); } } ParseResponse(responseXml, ref books); }