//Загрузка формы private void FormWarehouseman_Load(object sender, EventArgs e) { cbCategorySearch.SelectedIndex = 0; ClassFillTable.FillTable(tableBooks); ClassFillBookInfo.FillBookInfo(tableBooks, pictureBoxCover, lblParamGenre, lblParamAuthor, lblParamNameBook, lblParamYearPublishing, lblParamCoverType, lblParamPublishing, lblParamPageCount, lblParamAgeLimit, lblParamISBN, richTextBoxDescription); }
//Оформление поступления private void buttonArrival_Click(object sender, EventArgs e) { if (tableArrival.RowCount > 0) { using (var connection = ClassConnection.SqlConnection()) { connection.Open(); var commAddToArrival = new SqlCommand(@"INSERT INTO [Arrival] (idWorker, dateOfArrival, sum) VALUES (@idWorker, @dateOfArrival, @sum)", connection); commAddToArrival.Parameters.AddWithValue("@idWorker", ClassActiveUser.WorkerId); commAddToArrival.Parameters.AddWithValue("@dateOfArrival", DateTime.Now); commAddToArrival.Parameters.AddWithValue("@sum", Convert.ToDecimal(lblParamSum.Text)); commAddToArrival.ExecuteNonQuery(); var commSelMaxId = new SqlCommand(@"SELECT MAX(idArrival) FROM [Arrival]", connection); SqlDataReader readerSelMaxId = commSelMaxId.ExecuteReader(); readerSelMaxId.Read(); int maxId = Convert.ToInt32(readerSelMaxId[0]); readerSelMaxId.Close(); foreach (DataGridViewRow row in tableArrival.Rows) { var commAddToSellBook = new SqlCommand(@"INSERT INTO [ArrivalBook] (idBook, idArrival, quantity, price1pc) VALUES (@idBook, @idArrival, @quantity, @price1pc)", connection); commAddToSellBook.Parameters.AddWithValue(@"idBook", Convert.ToInt32(row.Cells[0].Value)); commAddToSellBook.Parameters.AddWithValue(@"idArrival", maxId); commAddToSellBook.Parameters.AddWithValue(@"quantity", Convert.ToInt32(row.Cells[2].Value)); commAddToSellBook.Parameters.AddWithValue(@"price1pc", Convert.ToDecimal(row.Cells[3].Value) / Convert.ToInt32(row.Cells[2].Value)); commAddToSellBook.ExecuteNonQuery(); var commUpdWarehouse = new SqlCommand(@"UPDATE [Warehouse] SET quantity = (quantity + " + Convert.ToInt32(row.Cells[2].Value) + "), price = @Price WHERE Warehouse.idBook = " + Convert.ToInt32(row.Cells[0].Value) + "", connection); commUpdWarehouse.Parameters.AddWithValue("@Price", Convert.ToDecimal(row.Cells[3].Value) / Convert.ToDecimal(row.Cells[2].Value)); commUpdWarehouse.ExecuteNonQuery(); } } ClassFillTable.FillTable(tableBooks); tableArrival.Rows.Clear(); lblParamSum.Text = "0"; MessageBox.Show("Поступление оформлено!"); } else { MessageBox.Show("Список поступления пуст!"); } }
//Очистка поля поиска private void pictureBoxErase_Click(object sender, EventArgs e) { ClassSearch.Erase(cbCategorySearch, cbSearch); ClassFillTable.FillTable(tableBooks); }
//Продажа private void buttonSell_Click(object sender, EventArgs e) { if (tableSell.RowCount > 0) { using (var connection = ClassConnection.SqlConnection()) { connection.Open(); var commandAddToSell = new SqlCommand(@"INSERT INTO [Sell] (idWorker, dateOfSale, sum) VALUES (@idWorker, @dateOfSale, @sum)", connection); commandAddToSell.Parameters.AddWithValue("@idWorker", ClassActiveUser.WorkerId); commandAddToSell.Parameters.AddWithValue("@dateOfSale", DateTime.Now); commandAddToSell.Parameters.AddWithValue("@sum", Convert.ToDecimal(lblParamSum.Text)); commandAddToSell.ExecuteNonQuery(); var commandSelectMaxId = new SqlCommand(@"SELECT MAX(idSell) FROM [Sell]", connection); SqlDataReader readerSelectMaxId = commandSelectMaxId.ExecuteReader(); readerSelectMaxId.Read(); int maxId = Convert.ToInt32(readerSelectMaxId[0]); readerSelectMaxId.Close(); foreach (DataGridViewRow row in tableSell.Rows) { var commandAddToSellBook = new SqlCommand(@"INSERT INTO [SellBook] (idBook, idSell, quantity, price1pc) VALUES (@idBook, @idSell, @quantity, @price1pc)", connection); commandAddToSellBook.Parameters.AddWithValue(@"idBook", Convert.ToInt32(row.Cells[0].Value)); commandAddToSellBook.Parameters.AddWithValue(@"idSell", maxId); commandAddToSellBook.Parameters.AddWithValue(@"quantity", Convert.ToInt32(row.Cells[2].Value)); commandAddToSellBook.Parameters.AddWithValue(@"price1pc", Convert.ToInt32(row.Cells[3].Value) / Convert.ToInt32(row.Cells[2].Value)); commandAddToSellBook.ExecuteNonQuery(); var commandUpdateWarehouse = new SqlCommand(@"UPDATE [Warehouse] SET quantity = (quantity - " + Convert.ToInt32(row.Cells[2].Value) + ") WHERE Warehouse.idBook = " + Convert.ToInt32(row.Cells[0].Value) + "", connection); commandUpdateWarehouse.ExecuteNonQuery(); } } MessageBox.Show("Продажа произведена успешно!"); //Печать чека Word.Application wordapp = new Word.Application(); wordapp.Visible = true; Object template = Environment.CurrentDirectory + "\\TovarCheck.dotx"; Object newTemplate = false; Object documentType = Word.WdNewDocumentType.wdNewBlankDocument; Object visible = true; Word._Document worddoc; //Создаем документ 1 worddoc = wordapp.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible); Object bookmarkNameObj = "Date"; Word.Range bookmarkRange = null; bookmarkRange = worddoc.Bookmarks.get_Item(ref bookmarkNameObj).Range; bookmarkRange.Text = Convert.ToDateTime(DateTime.Now).ToString(); bookmarkNameObj = "Number"; bookmarkRange = null; bookmarkRange = worddoc.Bookmarks.get_Item(ref bookmarkNameObj).Range; using (var connection = ClassConnection.SqlConnection()) { connection.Open(); var comSelNumber = new SqlCommand(@"SELECT MAX(idSell) FROM [Sell]", connection); SqlDataReader readerNumber = comSelNumber.ExecuteReader(); readerNumber.Read(); string sellNumber = readerNumber[0].ToString(); readerNumber.Close(); bookmarkRange.Text = sellNumber; } bookmarkNameObj = "FIO"; bookmarkRange = null; bookmarkRange = worddoc.Bookmarks.get_Item(ref bookmarkNameObj).Range; using (var connection = ClassConnection.SqlConnection()) { connection.Open(); var comSelWorker = new SqlCommand(@"SELECT fullName FROM [Worker] WHERE idWorker = " + ClassActiveUser.WorkerId + "", connection); SqlDataReader readerWorker = comSelWorker.ExecuteReader(); readerWorker.Read(); string workerFullName = readerWorker[0].ToString(); readerWorker.Close(); bookmarkRange.Text = workerFullName; } bookmarkNameObj = "Total"; bookmarkRange = null; bookmarkRange = worddoc.Bookmarks.get_Item(ref bookmarkNameObj).Range; bookmarkRange.Text = lblParamSum.Text; bookmarkNameObj = "Table"; bookmarkRange = null; bookmarkRange = worddoc.Bookmarks.get_Item(ref bookmarkNameObj).Range; Object behiavor = Word.WdDefaultTableBehavior.wdWord9TableBehavior; Object autoFitBehiavor = Word.WdAutoFitBehavior.wdAutoFitFixed; int rows = tableSell.RowCount + 1; int columns = 4; worddoc.Tables.Add(bookmarkRange, rows, columns, ref behiavor, ref autoFitBehiavor); worddoc.Tables[1].Cell(1, 1).Range.Text = "№"; worddoc.Tables[1].Cell(1, 2).Range.Text = "Наименование товара"; worddoc.Tables[1].Cell(1, 3).Range.Text = "Количество"; worddoc.Tables[1].Cell(1, 4).Range.Text = "Цена"; for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { if (tableSell.Rows.Count > i) { worddoc.Tables[1].Cell(i + 2, j + 1).Range.Text = tableSell.Rows[i].Cells[j].Value.ToString(); } } } ClassFillTable.FillTable(tableBooks); tableSell.Rows.Clear(); lblParamSum.Text = "0"; } else { MessageBox.Show("Нечего продавать!"); } }
//Событие возникает при private void FormAddArrival_Activated(object sender, EventArgs e) { ClassFillTable.FillTable(tableBooks); }