public async Task UpdateReadingStatus(CreatingViewModel model, ClaimsPrincipal claims) { var currentUser = await GetCurrentUserAsync(claims); var userId = currentUser?.Id; Book bookfromDB = await GetBookById(model.Book.Isbn); ReadingStatus status = (await GetBookReadingStatus(model.Book.Isbn, claims)); if (bookfromDB is null) { await _context.AddAsync(model.Book); } else { status.PagesRead = model.Status.PagesRead; status.Status = model.Status.Status; } await _context.SaveChangesAsync(); }
private void Button_change_Click(object sender, RoutedEventArgs e) { using (AppContext db = new AppContext()) { try { Validator v = new Validator(); Book book = db.Books.Where(u => u.ISBN == Convert.ToInt32(this.BookISBN.Text)).FirstOrDefault(); ReadingStatus rs = db.ReadingStatuses.Where(u => u.BookISBN == Convert.ToInt32(this.BookISBN.Text)).FirstOrDefault(); if (this.PagesRead.Text != "Pages Read" && this.PagesRead.Text != string.Empty && v.PagesIsValid(this.PagesRead)) { rs.PagesWritten += int.Parse(this.PagesRead.Text); } if (this.FinishedBook.IsChecked ?? false) { rs.BookStatus = "read"; } if (this.RatingText.Text != "Rating" && this.RatingText.Text != string.Empty && v.RatingIsValid(this.RatingText)) { rs.Rating = Convert.ToDouble(this.RatingText.Text); } db.SaveChanges(); } catch (SqlException ex) { Logger.Error($"Database connection is not avaliable {ex.Message}"); } } Window1 window = new Window1(); window.Show(); this.Close(); }
static string StatusStr(ReadingStatus status) { if (status == ReadingStatus.Unknown) { return("Unknown"); } else if (status == ReadingStatus.Cancelled) { return("Cancelled"); } else if (status == ReadingStatus.Stoppped) { return("Stopped"); } else if (status == ReadingStatus.Skipped) { return("Skipped"); } else { return("invalid"); } }
public async Task AddReadingStatus(ReadingStatus status) { await _context.ReadingStatuses.AddAsync(status); await _context.SaveChangesAsync(); }
public void Addbook(ReadingStatus status, string name, ObservableCollection <string> tags, Catagory catagory) { AllBooks.Add(new Book(status, name, tags, catagory)); TheSerialiingClass.serialize <Books>(MainWindow.cnfgcs.Path_Save, this); }