public TransferBook() { TransferBookModel context = new TransferBookModel(); context.TransferList = new ObservableCollection <TransferingBook>(); this.DataContext = context; InitializeComponent(); }
private void AddToTransferCommand_Executed(object sender, ExecutedRoutedEventArgs e) { TransferBookModel context = this.DataContext as TransferBookModel; string number = context.BookNumber.PadLeft(6, '0'); int.TryParse(context.BookNumber, out int bookNumber); if (context.TransferList.Any(n => n.Number == number)) { //error string msg = Application.Current.FindResource("TransferBook.CodeBehind.WarningAdd.Exist.Message").ToString(); string caption = Application.Current.FindResource("TransferBook.CodeBehind.WarningAdd.Exist.Caption").ToString(); CustomMessageBox.ShowOK(msg, caption, CustomMessageBoxButton.OK, MessageBoxImage.Warning); } else { SqlMethods.SqlConnect(out SQLiteConnection con); SQLiteCommand selectCommand = con.CreateCommand(); selectCommand.CommandText = $"SELECT BookId,Number,Title FROM Books WHERE Number=@Number"; selectCommand.Parameters.AddWithValue("Number", bookNumber); SQLiteDataReader r = selectCommand.ExecuteReader(); selectCommand.Parameters.Clear(); if (r.Read()) { TransferingBook book = new TransferingBook(); int.TryParse(Convert.ToString(r["BookId"]), out int result); book.BookId = result; book.Number = Convert.ToString(r["Number"]); book.Title = Convert.ToString(r["Title"]); context.TransferList.Add(book); } else { // No book is found string msg = Application.Current.FindResource("TransferBook.CodeBehind.ErrorAdd.NotFound.Message").ToString(); string caption = Application.Current.FindResource("TransferBook.CodeBehind.ErrorAdd.NotFound.Caption").ToString(); CustomMessageBox.ShowOK(msg, caption, CustomMessageBoxButton.OK, MessageBoxImage.Error); } r.Close(); con.Close(); } context.BookNumber = string.Empty; }
private void ExportTransferListCommand_Executed(object sender, ExecutedRoutedEventArgs e) { TransferBookModel context = this.DataContext as TransferBookModel; string pdfPath; SaveFileDialog dialog = new SaveFileDialog(); dialog.FileName = "Transfer List"; dialog.Filter = "PDF (*.pdf)|*.pdf"; dialog.InitialDirectory = AppContext.BaseDirectory; if (dialog.ShowDialog(this) == true) { string pdfTitle = Application.Current.FindResource("TransferBook.Title").ToString(); string pdfNumberCol = Application.Current.FindResource("TransferBook.ListTransfer.Number").ToString(); string pdfTitleCol = Application.Current.FindResource("TransferBook.ListTransfer.BookTitle").ToString(); pdfPath = dialog.FileName; using (PdfWriter writer = new PdfWriter(pdfPath)) { using (PdfDocument pdf = new PdfDocument(writer)) { Document document = new Document(pdf); Paragraph paragraph = new Paragraph(pdfTitle) .SetFontSize(20.0f) .SetBold() .SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER); float[] columnWidths = { 1, 3, 10 }; Table table = new Table(columnWidths); table.SetWidth(iText.Layout.Properties.UnitValue.CreatePercentValue(100)); Cell[] cells = new Cell[3]; for (int i = 0; i < cells.Length; i++) { cells[i] = new Cell(); } Paragraph para = new Paragraph().Add("ID").SetBold(); cells[0].Add(para) .SetTextAlignment(iText.Layout.Properties.TextAlignment.RIGHT); para = new Paragraph().Add(pdfNumberCol).SetBold(); cells[1].Add(para).SetTextAlignment(iText.Layout.Properties.TextAlignment.RIGHT); para = new Paragraph().Add(pdfTitleCol).SetBold(); cells[2].Add(para).SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER); foreach (var cell in cells) { table.AddHeaderCell(cell); } for (int i = 0; i < context.TransferList.Count; i++) { for (int j = 0; j < cells.Length; j++) { cells[j] = new Cell(); } cells[0].Add(new Paragraph((i + 1).ToString()).SetFixedLeading(15)).SetTextAlignment(iText.Layout.Properties.TextAlignment.RIGHT); cells[1].Add(new Paragraph(context.TransferList[i].Number).SetFixedLeading(15)).SetTextAlignment(iText.Layout.Properties.TextAlignment.RIGHT); cells[2].Add(new Paragraph(context.TransferList[i].Title).SetFixedLeading(15)).SetTextAlignment(iText.Layout.Properties.TextAlignment.LEFT); foreach (var cell in cells) { table.AddCell(cell); } } document.Add(paragraph); document.Add(table); } } Process proc = new Process(); proc.StartInfo.FileName = pdfPath; proc.StartInfo.UseShellExecute = true; proc.Start(); } }
private void ExportTransferListCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e) { TransferBookModel context = this.DataContext as TransferBookModel; e.CanExecute = context.TransferList.Count != 0; }
private void AddToTransferCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e) { TransferBookModel context = this.DataContext as TransferBookModel; e.CanExecute = !string.IsNullOrWhiteSpace(context.BookNumber); }