public BookTrackPage(Page previousPage, BookTrackList book) { InitializeComponent(); _previousPage = previousPage; btnBackward.Background = PagesPropertiesProvider.BackwardImage; btnBackward.Click += btnBackward_Click; btnActionBook.Click += btnActionBook_Click; BooksGrid.AutoGeneratingColumn += BooksGrid_AutoGeneratingColumn; if ((bool)book.BookAvailability) { btnActionBook.Content = "Take book"; } else { if (!book.CanBePuted) { btnActionBook.Visibility = Visibility.Hidden; } btnActionBook.Content = "Put book"; } DataContext = pageViewModel = new BookTrackVM(book); }
public BookTrackVM(BookTrackList book) { Book = book; }
public BookTrackList GetBookTrack(int accountId, int?bookId, string tracksCount) { var result = new BookTrackList(); using (var dbContext = new BookLibraryContext()) { var book = dbContext.GetBook.FromSqlRaw("EXECUTE GetBook {0}", bookId).ToList().FirstOrDefault(); result.BookId = book?.ID; result.BookName = book?.Name; result.BookAvailability = book?.Availability; var inAccountId = new SqlParameter { ParameterName = "AccountId", Value = accountId, DbType = System.Data.DbType.Int32, Direction = System.Data.ParameterDirection.Input }; var inBookId = new SqlParameter { ParameterName = "BookId", Value = bookId, DbType = System.Data.DbType.Int32, Direction = System.Data.ParameterDirection.Input }; var outResult = new SqlParameter { ParameterName = "Result", DbType = System.Data.DbType.Boolean, Direction = System.Data.ParameterDirection.Output }; var sql = "exec CanPutBook @AccountId, @BookId, @Result OUT"; _ = dbContext.Database.ExecuteSqlRaw(sql, inAccountId, inBookId, outResult); if (!Boolean.TryParse(outResult.Value.ToString(), out bool canBePuted)) { return(result); } result.CanBePuted = canBePuted; inBookId = new SqlParameter { ParameterName = "BookID", Value = bookId, DbType = System.Data.DbType.Int32, Direction = System.Data.ParameterDirection.Input }; var inTracksCount = new SqlParameter { ParameterName = "TracksCount", Value = tracksCount.ToString(), DbType = System.Data.DbType.String, Direction = System.Data.ParameterDirection.Input }; result.TracksList = dbContext.GetBookTrack.FromSqlRaw("EXECUTE GetBookTrack @BookID, @TracksCount", inBookId, inTracksCount).AsNoTracking().ToList(); } return(result); }