private void CalcBtn_Click(object sender, EventArgs e) { bool noerrors = true; string overcome = ""; string storageAvail = ""; double sumquant = 0; for (int i = 1; i <= Convert.ToInt16(ProdItemsTxt.Text); i++) { if (dc.ContainsKey(ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().Text)) { ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().BackColor = SystemColors.Window; string outcome; dc.TryGetValue(ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().Text, out outcome); if (ProductsPanel.Controls.Find("DescrProdTxt" + i, true).First().Text != outcome) { ProductsPanel.Controls.Find("DescrProdTxt" + i, true).First().BackColor = Color.Red; noerrors = false; } else { ProductsPanel.Controls.Find("DescrProdTxt" + i, true).First().BackColor = SystemColors.Window; } } else { ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().BackColor = Color.Red; noerrors = false; } if (chk.CheckQuant(ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text) == "") { ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().BackColor = SystemColors.Window; sumquant += Convert.ToDouble(ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text); } else { ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().BackColor = Color.Red; noerrors = false; } if (chk.CheckQuant(ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text) == "") { string outcome; dc2.TryGetValue(ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().Text, out outcome); if (Convert.ToDecimal(ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text) > Convert.ToDecimal(outcome)) { ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().BackColor = Color.DarkRed; overcome += i + ", "; storageAvail += "A/A " + i + " : " + outcome + "\n"; } } } if (IdSupplierTxt.Text == "") { MessageBox.Show("Θα πρέπει να επιλέξετε προμηθευτή."); } else if (DateTimeInvoicePicker.Value > System.DateTime.Today.AddDays(1)) { MessageBox.Show("Η ημερομηνία δεν μπορεί να είναι μεταγενέστερη της σημερινής."); } else if (noerrors == false) { MessageBox.Show("Θα πρέπει να διορθώσετε τα στοιχεία των προϊόντων."); } else if (overcome != "") { DialogResult dialres = MessageBox.Show("Τα προϊόντα με Α/Α: " + overcome + " υπερβαίνουν το σύνολο των διαθέσιμων προϊόντων της αποθήκης.\n Διαθέσιμα Αποθήκης \n" + storageAvail + "\n\n Θέλετε να προσθέσετε προϊόντα στην αποθήκη;", "", MessageBoxButtons.YesNo); if (dialres == DialogResult.Yes) { ReserveAddProduct AddProduct = new ReserveAddProduct(); AddProduct.FormClosed += new FormClosedEventHandler(FormClose); AddProduct.FormClosed += (object sender3, FormClosedEventArgs e3) => { this.SuspendLayout(); GetDataProd(); AddProduct.Dispose(); this.ResumeLayout(false); }; this.Enabled = false; AddProduct.ShowDialog(); } } else { AddBtn.Visible = true; CorrectBtn.Visible = true; CalcBtn.Visible = false; ClearBtn.Visible = false; AddProdBtn1.Enabled = false; RemoveProdBtn1.Enabled = false; SearchCustomerBtn.Enabled = false; QuantDisNoteTxt.Text = sumquant.ToString(); for (int i = 1; i <= Convert.ToInt16(ProdItemsTxt.Text); i++) { ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("IdProdTxt" + i, true).First()).ReadOnly = true; ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("DescrProdTxt" + i, true).First()).ReadOnly = true; ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First()).ReadOnly = true; } InvoiceDocsTxt.ReadOnly = true; VehicleTxt.ReadOnly = true; NotesTxt.ReadOnly = true; CommentsTxt.ReadOnly = true; } }
private void CalcBtn_Click(object sender, EventArgs e) { bool noerrors = true; double sumquant = 0; for (int i = 1; i <= Convert.ToInt16(ProdItemsTxt.Text); i++) { if (dc.ContainsKey(ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().Text)) { ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().BackColor = SystemColors.Window; string outcome; dc.TryGetValue(ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().Text, out outcome); if (ProductsPanel.Controls.Find("DescrProdTxt" + i, true).First().Text != outcome) { ProductsPanel.Controls.Find("DescrProdTxt" + i, true).First().BackColor = Color.Red; noerrors = false; } else { ProductsPanel.Controls.Find("DescrProdTxt" + i, true).First().BackColor = SystemColors.Window; } } else { ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().BackColor = Color.Red; noerrors = false; } if (chk.CheckQuant(ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text) == "") { ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().BackColor = SystemColors.Window; sumquant += Convert.ToDouble(ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text); } else { ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().BackColor = Color.Red; noerrors = false; } } if (IdSupplierTxt.Text == "") { MessageBox.Show("Θα πρέπει να επιλέξετε προμηθευτή."); } else if (IdInvoiceTxt.Text == "" || SeriesInvoiceTxt.Text == "") { MessageBox.Show("Θα πρέπει να συμπληρώσετε αριθμό και σειρά τιμολογίου."); } else if (DateTimeInvoicePicker.Value > System.DateTime.Today.AddDays(1)) { MessageBox.Show("Η ημερομηνία δεν μπορεί να είναι μεταγενέστερη της σημερινής."); } else if (noerrors == false) { MessageBox.Show("Θα πρέπει να διορθώσετε τα στοιχεία των προϊόντων."); } else { AddBtn.Visible = true; CorrectBtn.Visible = true; CalcBtn.Visible = false; ClearBtn.Visible = false; IdInvoiceTxt.ReadOnly = true; SeriesInvoiceTxt.ReadOnly = true; AddProdBtn1.Enabled = false; RemoveProdBtn1.Enabled = false; AddSupplierBtn.Enabled = false; SearchSupplierBtn.Enabled = false; QuantDisNoteTxt.Text = sumquant.ToString(); for (int i = 1; i <= Convert.ToInt16(ProdItemsTxt.Text); i++) { ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("IdProdTxt" + i, true).First()).ReadOnly = true; ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("DescrProdTxt" + i, true).First()).ReadOnly = true; ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First()).ReadOnly = true; } } }
private void CalcBtn_Click(object sender, EventArgs e) { bool noerrors = true; if (DiscInvoiceTxt.Text == "") { DiscInvoiceTxt.Text = "0"; } for (int i = 1; i <= Convert.ToInt16(ProdItemsTxt.Text); i++) { if (chk.CheckQuant(ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().Text) == "") { ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().BackColor = SystemColors.Window; } else { ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().BackColor = Color.Red; noerrors = false; } if (ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First().Text == "") { ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First().Text = "0"; ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First().BackColor = SystemColors.Window; } else if (chk.CheckQuant(ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First().Text) != "") { ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First().BackColor = Color.Red; noerrors = false; } else if (Convert.ToDouble(ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First().Text) <= 100) { ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First().BackColor = SystemColors.Window; } else { ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First().BackColor = Color.Red; noerrors = false; } if (ProductsPanel.Controls.Find("DiscProd2Txt" + i, true).First().Text == "") { ProductsPanel.Controls.Find("DiscProd2Txt" + i, true).First().Text = "0"; ProductsPanel.Controls.Find("DiscProd2Txt" + i, true).First().BackColor = SystemColors.Window; } else if (chk.CheckQuant(ProductsPanel.Controls.Find("DiscProd2Txt" + i, true).First().Text) != "") { ProductsPanel.Controls.Find("DiscProd2Txt" + i, true).First().BackColor = Color.Red; noerrors = false; } else if (Convert.ToDouble(ProductsPanel.Controls.Find("DiscProd2Txt" + i, true).First().Text) <= 100) { ProductsPanel.Controls.Find("DiscProd2Txt" + i, true).First().BackColor = SystemColors.Window; } else { ProductsPanel.Controls.Find("DiscProd2Txt" + i, true).First().BackColor = Color.Red; noerrors = false; } if (ProductsPanel.Controls.Find("DiscProd3Txt" + i, true).First().Text == "") { ProductsPanel.Controls.Find("DiscProd3Txt" + i, true).First().Text = "0"; ProductsPanel.Controls.Find("DiscProd3Txt" + i, true).First().BackColor = SystemColors.Window; } else if (chk.CheckQuant(ProductsPanel.Controls.Find("DiscProd3Txt" + i, true).First().Text) != "") { ProductsPanel.Controls.Find("DiscProd3Txt" + i, true).First().BackColor = Color.Red; noerrors = false; } else if (Convert.ToDouble(ProductsPanel.Controls.Find("DiscProd3Txt" + i, true).First().Text) <= 100) { ProductsPanel.Controls.Find("DiscProd3Txt" + i, true).First().BackColor = SystemColors.Window; } else { ProductsPanel.Controls.Find("DiscProd3Txt" + i, true).First().BackColor = Color.Red; noerrors = false; } } if (IdSupplierTxt.Text == "") { MessageBox.Show("Θα πρέπει να επιλέξετε προμηθευτή."); } else if (IdProdTxt1.Text == "") { MessageBox.Show("Θα πρέπει να επιλέξετε ένα τουλάχιστον Δελτίο Αποστολής."); } else if (IdInvoiceTxt.Text == "" || SeriesInvoiceTxt.Text == "") { MessageBox.Show("Θα πρέπει να συμπληρώσετε αριθμό και σειρά τιμολογίου."); } else if (PayInvoiceCmb.SelectedIndex == -1) { MessageBox.Show("Θα πρέπει να επιλέξετε τρόπο πληρωμής του τιμολογίου."); } else if (DateTimeInvoicePicker.Value > System.DateTime.Today.AddDays(1)) { MessageBox.Show("Η ημερομηνία δεν μπορεί να είναι μεταγενέστερη της σημερινής."); } else if (chk.CheckQuant(DiscInvoiceTxt.Text) != "" || Convert.ToDouble(DiscInvoiceTxt.Text) > 100) { MessageBox.Show("Θα πρέπει να συμπληρώσετε ένα έγκυρο ποσοστό έκπτωσης πελάτη."); } else if (noerrors == false) { MessageBox.Show("Θα πρέπει να διορθώσετε τα στοιχεία των προϊόντων."); } else { DisLs.Clear(); AddBtn.Visible = true; CorrectBtn.Visible = true; CalcBtn.Visible = false; ClearBtn.Visible = false; IdInvoiceTxt.ReadOnly = true; SeriesInvoiceTxt.ReadOnly = true; DiscInvoiceTxt.ReadOnly = true; PriceInvoiceTxt.Enabled = true; PayInvoiceCmb.Enabled = false; DisNoteBtn.Enabled = false; AddSupplierBtn.Enabled = false; SearchSupplierBtn.Enabled = false; double priceInv = 0; using (SqlConnection sqlcon = new SqlConnection(con.ConnectionString)) { try { sqlcon.Open(); try { for (int i = 1; i <= Convert.ToInt16(ProdItemsTxt.Text); i++) { priceInv += Math.Round(Convert.ToDouble(ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text) * Convert.ToDouble(ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().Text) * (1 - Convert.ToDouble((ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First().Text == "" ? "0" : ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First().Text)) / 100) * (1 - Convert.ToDouble(DiscInvoiceTxt.Text) / 100) * 1.24, 2); ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First()).ReadOnly = true; ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First()).ReadOnly = true; ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("DiscProd2Txt" + i, true).First()).ReadOnly = true; ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("DiscProd3Txt" + i, true).First()).ReadOnly = true; SqlDataAdapter SearchAdapt = new SqlDataAdapter("select dbo.ProfitNewPrice(@value,@disc1,@disc2,@disc3,(select ProfitPerc from Products where Id=@id)),dbo.ProfitNewDisc(@value,@disc1,@disc2,@disc3,(select ProfitPerc from Products where Id=@id))", sqlcon); SearchAdapt.SelectCommand.Parameters.AddWithValue(@"value", ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().Text); SearchAdapt.SelectCommand.Parameters.AddWithValue(@"disc1", ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First().Text == "" ? "0" : ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First().Text); SearchAdapt.SelectCommand.Parameters.AddWithValue(@"disc2", ProductsPanel.Controls.Find("DiscProd2Txt" + i, true).First().Text == "" ? "0" : ProductsPanel.Controls.Find("DiscProd2Txt" + i, true).First().Text); SearchAdapt.SelectCommand.Parameters.AddWithValue(@"disc3", ProductsPanel.Controls.Find("DiscProd3Txt" + i, true).First().Text == "" ? "0" : ProductsPanel.Controls.Find("DiscProd3Txt" + i, true).First().Text); SearchAdapt.SelectCommand.Parameters.AddWithValue(@"id", ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().Text); DataTable dt = new DataTable(); SearchAdapt.Fill(dt); if (dt.Rows.Count == 1) { ProductsPanel.Controls.Find("SalesPriceTxt" + i, true).First().Text = dt.Rows[0][0].ToString(); ProductsPanel.Controls.Find("SalesDiscTxt" + i, true).First().Text = dt.Rows[0][1].ToString(); } if (DisLs.Contains(ProductsPanel.Controls.Find("DisNoteProdTxt" + i, true).First().Text) == false) { DisLs.Add(ProductsPanel.Controls.Find("DisNoteProdTxt" + i, true).First().Text); } } } catch (Exception) { MessageBox.Show("Παρουσιάστηκε κάποιο μη αναμενόμενο σφάλμα στην αναζήτηση περιγραφής/κωδικού Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος."); } sqlcon.Close(); } catch (Exception) { MessageBox.Show("Σφάλμα σύνδεσης. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος."); } } if (PayInvoiceCmb.GetItemText(PayInvoiceCmb.SelectedItem) == "Πίστωση") { AfterDebitSupplierTxt.Text = (priceInv + Convert.ToDouble(PrevDebitSupplierTxt.Text)).ToString(); } else { AfterDebitSupplierTxt.Text = Convert.ToDouble(PrevDebitSupplierTxt.Text).ToString(); } PriceInvoiceTxt.Value = Convert.ToDecimal(priceInv); PriceInvoiceTxt.Text = Convert.ToDecimal(priceInv).ToString(); } }
private void CalcBtn_Click(object sender, EventArgs e) { string overcome = ""; string overcome2 = ""; string storageAvail = ""; bool noselection = false; Chkd.Clear(); for (int i = 1; i <= Convert.ToInt16(ProdItemsTxt.Text); i++) { CheckBox Chk = new CheckBox(); Chk = (CheckBox)ProductsPanel.Controls.Find("ChkBx" + i, true).First(); if (Chk.Checked == true) { noselection = true; Chkd.Add(i.ToString()); if (chk.CheckQuant(ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().Text) == "") { string outcome; dc2.TryGetValue(ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().Text, out outcome); if (Convert.ToDecimal(ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text) > Convert.ToDecimal(outcome)) { ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().BackColor = Color.DarkRed; overcome += i + ", "; storageAvail += "A/A " + i + " : " + outcome + "\n"; } string outcome2; QuantChk.TryGetValue(i.ToString(), out outcome2); if (Convert.ToDecimal(ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text) > Convert.ToDecimal(outcome2)) { ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().BackColor = Color.DarkRed; overcome2 += i + ", "; } } } } if (DiscInvoiceTxt.Text == "") { DiscInvoiceTxt.Text = "0"; } if (IdSupplierTxt.Text == "") { MessageBox.Show("Θα πρέπει να επιλέξετε προμηθευτή."); } else if (ls2.Count() == 0) { MessageBox.Show("Θα πρέπει να επιλέξετε ένα τουλάχιστον Δελτίο Αποστολής."); } else if (IdProdTxt1.Text == "") { MessageBox.Show("Θα πρέπει να επιλέξετε ένα τουλάχιστον τιμολόγιο."); } else if (IdInvoiceTxt.Text == "" || SeriesInvoiceTxt.Text == "") { MessageBox.Show("Θα πρέπει να συμπληρώσετε αριθμό και σειρά τιμολογίου."); } else if (PayInvoiceCmb.SelectedIndex == -1) { MessageBox.Show("Θα πρέπει να επιλέξετε τρόπο πληρωμής του τιμολογίου."); } else if (DateTimeInvoicePicker.Value > System.DateTime.Today.AddDays(1)) { MessageBox.Show("Η ημερομηνία δεν μπορεί να είναι μεταγενέστερη της σημερινής."); } else if (overcome != "") { System.Windows.MessageBox.Show("Τα προϊόντα με Α/Α: " + overcome + " υπερβαίνουν το σύνολο των διαθέσιμων προϊόντων της αποθήκης.\n Διαθέσιμα Αποθήκης \n" + storageAvail); } else if (overcome2 != "") { MessageBox.Show("Τα προϊόντα με Α/Α: " + overcome2 + " υπερβαίνουν την αρχική ποσότητα του Τιμολογίου."); } else if (noselection == false) { MessageBox.Show("Θα πρέπει να επιλέξετε ένα τουλάχιστον προϊόν."); } else { DisLs.Clear(); AddBtn.Visible = true; CorrectBtn.Visible = true; CalcBtn.Visible = false; ClearBtn.Visible = false; IdInvoiceTxt.ReadOnly = true; SeriesInvoiceTxt.ReadOnly = true; PriceInvoiceTxt.Enabled = true; PayInvoiceCmb.Enabled = false; InvoiceBtn.Enabled = false; DisNoteBtn.Enabled = false; AddSupplierBtn.Enabled = false; SearchSupplierBtn.Enabled = false; double priceInv = 0; for (int i = 1; i <= Convert.ToInt16(ProdItemsTxt.Text); i++) { if (Chkd.Contains(i.ToString())) { priceInv += Math.Round(Convert.ToDouble(ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text) * Convert.ToDouble(ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().Text) * (1 - Convert.ToDouble((ProductsPanel.Controls.Find("DiscProdTxt" + i, true).First().Text == "" ? "0" : ProductsPanel.Controls.Find("DiscProdTxt" + i, true).First().Text)) / 100) * (1 - Convert.ToDouble(DiscInvoiceTxt.Text) / 100) * 1.24, 2); ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First()).ReadOnly = true; ((System.Windows.Forms.CheckBox)ProductsPanel.Controls.Find("ChkBx" + i, true).First()).Enabled = false; if (DisLs.Contains(ProductsPanel.Controls.Find("DisNoteProdTxt" + i, true).First().Text) == false) { DisLs.Add(ProductsPanel.Controls.Find("DisNoteProdTxt" + i, true).First().Text); } } } if (PayInvoiceCmb.GetItemText(PayInvoiceCmb.SelectedItem) == "Πίστωση") { AfterDebitSupplierTxt.Text = (-priceInv + Convert.ToDouble(PrevDebitSupplierTxt.Text)).ToString(); } else { AfterDebitSupplierTxt.Text = Convert.ToDouble(PrevDebitSupplierTxt.Text).ToString(); } PriceInvoiceTxt.Value = Convert.ToDecimal(priceInv); PriceInvoiceTxt.Text = Convert.ToDecimal(priceInv).ToString(); } }
private void SaveBtn_Click(object sender, EventArgs e) { List <string> NewProductList = new List <string>(new string[] { DescrTxt.Text, LongDescrTxt.Text, ManufacTxt.Text, QuantTxt.Text, UnitTxt.Text, MinStockTxt.Text, ProfitPercTxt.Text, SupplierDescrTxt.Text }); int cnt = 0; for (int i = 0; i < NewProductList.Count; i++) { if (NewProductList[i] != ProductList[i]) { cnt++; } } if (cnt == 0) { MessageBox.Show("Δεν έχετε πραγματοποιήσει κάποια αλλαγή στα στοιχεία του προϊόντος."); } else { string errorMessages = ""; if (DescrTxt.Text == "" || LongDescrTxt.Text == "" || SupplierDescrTxt.Text == "" || ManufacTxt.Text == "" || QuantTxt.Text == "" || UnitTxt.Text == "" || ProfitPercTxt.Text == "") { errorMessages = "- Θα πρέπει να συμπληρώσετε όλα τα απαραίτητα πεδία.\n";; } else { errorMessages += chk.CheckQuant(QuantTxt.Text); errorMessages += chk.CheckPrice(ProfitPercTxt.Text); if (MinStockTxt.Text != "") { errorMessages += chk.CheckMinStock(MinStockTxt.Text); } } if (errorMessages != "") { MessageBox.Show(errorMessages); } else { using (SqlConnection sqlcon = new SqlConnection(con.ConnectionString)) { try { sqlcon.Open(); SqlTransaction InsTrans = sqlcon.BeginTransaction("UpdateTransaction"); SqlCommand UpdCmd1 = sqlcon.CreateCommand(); UpdCmd1.Connection = sqlcon; SqlCommand UpdCmd2 = sqlcon.CreateCommand(); UpdCmd2.Connection = sqlcon; UpdCmd1.Transaction = InsTrans; UpdCmd2.Transaction = InsTrans; try { UpdCmd1.CommandText = "update Products set Description=@descr, LongDescr=@longd, Manufacture = @manufac , Unit = @unit , ProfitPerc = @prof , SupplierDescr=@supdescr where Id=@id"; UpdCmd1.Parameters.AddWithValue("@descr", DescrTxt.Text); UpdCmd1.Parameters.AddWithValue("@longd", LongDescrTxt.Text); UpdCmd1.Parameters.AddWithValue("@supdescr", SupplierDescrTxt.Text); UpdCmd1.Parameters.AddWithValue("@manufac", ManufacTxt.Text); UpdCmd1.Parameters.AddWithValue("@unit", UnitTxt.Text); UpdCmd1.Parameters.AddWithValue("@prof", ProfitPercTxt.Text); UpdCmd1.Parameters.AddWithValue("@id", IdTxt.Text); UpdCmd1.ExecuteNonQuery(); if (NewProductList[5] != "" && ProductList[5] == "") //Min Stock { UpdCmd2.CommandText = "insert into ProductsMinStock (Id, ProductId, MinStock) values((select dbo.nvl(Max(Id) + 1, 0) from ProductsMinStock), @id, @minstock)"; UpdCmd2.Parameters.AddWithValue("@id", IdTxt.Text); UpdCmd2.Parameters.AddWithValue("@minstock", MinStockTxt.Text); UpdCmd2.ExecuteNonQuery(); } else if (NewProductList[5] == "" && ProductList[5] != "") { UpdCmd2.CommandText = "delete ProductsMinStock where ProductId=@id"; UpdCmd2.Parameters.AddWithValue("@id", IdTxt.Text); UpdCmd2.ExecuteNonQuery(); } else if (NewProductList[5] != "" && ProductList[5] != "" && ProductList[5] != NewProductList[5]) { UpdCmd2.CommandText = "update ProductsMinStock set MinStock=@minstock where ProductId=@id"; UpdCmd2.Parameters.AddWithValue("@id", IdTxt.Text); UpdCmd2.Parameters.AddWithValue("@minstock", MinStockTxt.Text); UpdCmd2.ExecuteNonQuery(); } InsTrans.Commit(); MessageBox.Show("Οι αλλαγές πραγματοποιήθηκαν με επιτυχία."); ClearValues(); DescrTxt.Enabled = false; LongDescrTxt.Enabled = false; SupplierDescrTxt.Enabled = false; ManufacTxt.Enabled = false; ProfitPercTxt.Enabled = false; QuantTxt.Enabled = false; UnitTxt.Enabled = false; MinStockTxt.Enabled = false; SearchNameTxt.Enabled = true; SearchIdTxt.Enabled = true; SelectNameCmb.Enabled = true; RetrieveBtn.Enabled = true; SaveBtn.Visible = false; CancelBtn.Visible = false; ProductList.Clear(); } catch (Exception ex) { MessageBox.Show(ex.GetType() + ": " + ex.Message + "\n Commit Exception \n Παρουσιάστηκε κάποιο μη αναμενόμενο σφάλμα στην καταχώρηση του προϊόντος. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος."); try { InsTrans.Rollback(); } catch (Exception ex2) { MessageBox.Show(ex2.GetType() + ": " + ex2.Message + "\n Rollback Exception \n Παρουσιάστηκε κάποιο μη αναμενόμενο σφάλμα στην καταχώρηση του προϊόντος. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος."); } } sqlcon.Close(); } catch (Exception) { MessageBox.Show("Σφάλμα σύνδεσης. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος."); } } } } }
private void CalcBtn_Click(object sender, EventArgs e) { bool noerrors = true; string overcome = ""; if (DiscInvoiceTxt.Text == "") { DiscInvoiceTxt.Text = "0"; } for (int i = 1; i <= Convert.ToInt16(ProdItemsTxt.Text); i++) { if (dc.ContainsKey(ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().Text)) { ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().BackColor = SystemColors.Window; string outcome; dc.TryGetValue(ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().Text, out outcome); if (ProductsPanel.Controls.Find("DescrProdTxt" + i, true).First().Text != outcome) { ProductsPanel.Controls.Find("DescrProdTxt" + i, true).First().BackColor = Color.Red; noerrors = false; } else { ProductsPanel.Controls.Find("DescrProdTxt" + i, true).First().BackColor = SystemColors.Window; } } else { ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().BackColor = Color.Red; noerrors = false; } if (chk.CheckQuant(ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text) == "") { ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().BackColor = SystemColors.Window; } else { ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().BackColor = Color.Red; noerrors = false; } if (chk.CheckQuant(ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().Text) == "") { ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().BackColor = SystemColors.Window; } else { ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().BackColor = Color.Red; noerrors = false; } if (ProductsPanel.Controls.Find("DiscProdTxt" + i, true).First().Text == "") { ProductsPanel.Controls.Find("DiscProdTxt" + i, true).First().BackColor = SystemColors.Window; } else if (chk.CheckQuant(ProductsPanel.Controls.Find("DiscProdTxt" + i, true).First().Text) != "") { ProductsPanel.Controls.Find("DiscProdTxt" + i, true).First().BackColor = Color.Red; noerrors = false; } else if (Convert.ToDouble(ProductsPanel.Controls.Find("DiscProdTxt" + i, true).First().Text) <= 100) { ProductsPanel.Controls.Find("DiscProdTxt" + i, true).First().BackColor = SystemColors.Window; } else { ProductsPanel.Controls.Find("DiscProdTxt" + i, true).First().BackColor = Color.Red; noerrors = false; } if (chk.CheckQuant(ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().Text) == "") { string outcome; dc2.TryGetValue(ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().Text, out outcome); if (Convert.ToDecimal(ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text) > Convert.ToDecimal(outcome)) { ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().BackColor = Color.DarkRed; overcome += i + ", "; } } } if (IdSupplierTxt.Text == "") { MessageBox.Show("Θα πρέπει να επιλέξετε προμηθευτή."); } else if (IdInvoiceTxt.Text == "" || SeriesInvoiceTxt.Text == "") { MessageBox.Show("Θα πρέπει να συμπληρώσετε αριθμό και σειρά τιμολογίου."); } else if (PayInvoiceCmb.SelectedIndex == -1) { MessageBox.Show("Θα πρέπει να επιλέξετε τρόπο πληρωμής του τιμολογίου."); } else if (DateTimeInvoicePicker.Value > System.DateTime.Today.AddDays(1)) { MessageBox.Show("Η ημερομηνία δεν μπορεί να είναι μεταγενέστερη της σημερινής."); } else if (chk.CheckQuant(DiscInvoiceTxt.Text) != "" || Convert.ToDouble(DiscInvoiceTxt.Text) > 100) { MessageBox.Show("Θα πρέπει να συμπληρώσετε ένα έγκυρο ποσοστό έκπτωσης πελάτη."); } else if (noerrors == false) { MessageBox.Show("Θα πρέπει να διορθώσετε τα στοιχεία των προϊόντων."); } else if (overcome != "") { MessageBox.Show("Τα προϊόντα με Α/Α: " + overcome + " υπερβαίνουν το σύνολο των διαθέσιμων προϊόντων της αποθήκης."); } else { AddBtn.Visible = true; CorrectBtn.Visible = true; CalcBtn.Visible = false; ClearBtn.Visible = false; IdInvoiceTxt.ReadOnly = true; SeriesInvoiceTxt.ReadOnly = true; DiscInvoiceTxt.ReadOnly = true; PriceInvoiceTxt.Enabled = true; PayInvoiceCmb.Enabled = false; AddProdBtn1.Enabled = false; RemoveProdBtn1.Enabled = false; AddSupplierBtn.Enabled = false; SearchSupplierBtn.Enabled = false; double priceInv = 0; for (int i = 1; i <= Convert.ToInt16(ProdItemsTxt.Text); i++) { priceInv += Math.Round(Convert.ToDouble(ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text) * Convert.ToDouble(ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().Text) * (1 - Convert.ToDouble((ProductsPanel.Controls.Find("DiscProdTxt" + i, true).First().Text == "" ? "0" : ProductsPanel.Controls.Find("DiscProdTxt" + i, true).First().Text)) / 100) * (1 - Convert.ToDouble(DiscInvoiceTxt.Text) / 100) * 1.24, 2); ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("IdProdTxt" + i, true).First()).ReadOnly = true; ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("DescrProdTxt" + i, true).First()).ReadOnly = true; ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First()).ReadOnly = true; ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First()).ReadOnly = true; ((System.Windows.Forms.TextBox)ProductsPanel.Controls.Find("DiscProdTxt" + i, true).First()).ReadOnly = true; } if (PayInvoiceCmb.GetItemText(PayInvoiceCmb.SelectedItem) == "Πίστωση") { AfterDebitSupplierTxt.Text = (-priceInv + Convert.ToDouble(PrevDebitSupplierTxt.Text)).ToString(); } else { AfterDebitSupplierTxt.Text = Convert.ToDouble(PrevDebitSupplierTxt.Text).ToString(); } PriceInvoiceTxt.Value = Convert.ToDecimal(priceInv); PriceInvoiceTxt.Text = Convert.ToDecimal(priceInv).ToString(); } }
private void AddBtn_Click(object sender, EventArgs e) { string errorMessages = ""; if (DescrTxt.Text == "" || QuantTxt.Text == "" || PriceTxt.Text == "" || DiscTxt.Text == "") { errorMessages = "- Θα πρέπει να συμπληρώσετε όλα τα πεδία με αστερίσκο (*).\n"; ; } else { errorMessages += chk.CheckQuant(QuantTxt.Text); errorMessages += chk.CheckPrice(PriceTxt.Text); errorMessages += chk.CheckPrice(DiscTxt.Text); } if (errorMessages != "") { MessageBox.Show(errorMessages); } else { using (SqlConnection sqlcon = new SqlConnection(con.ConnectionString)) { try { sqlcon.Open(); SqlTransaction InsTrans = sqlcon.BeginTransaction("InsertTransaction"); SqlCommand InsCmd1 = sqlcon.CreateCommand(); InsCmd1.Connection = sqlcon; InsCmd1.Transaction = InsTrans; try { InsCmd1.CommandText = "insert into ProductsReserve (Id, ProductId, Quant, Price, Disc, Date, SalesPrice, SalesDisc) values((select dbo.nvl(Max(Id)+1,0) from dbo.ProductsReserve), @prodid, @quant, @price, @disc, @date, (select dbo.ProfitNewPrice(@price,@disc,0,0,(select ProfitPerc from Products where id=@prodid))),(select dbo.ProfitNewDisc(@price,@disc,0,0,(select ProfitPerc from Products where id=@prodid))))"; InsCmd1.Parameters.AddWithValue("@prodid", IdTxt.Text); InsCmd1.Parameters.AddWithValue("@quant", QuantTxt.Text); InsCmd1.Parameters.AddWithValue("@price", PriceTxt.Text); InsCmd1.Parameters.AddWithValue("@disc", DiscTxt.Text); InsCmd1.Parameters.AddWithValue("@date", System.DateTime.Today.ToShortDateString()); InsCmd1.ExecuteNonQuery(); InsTrans.Commit(); MessageBox.Show("Το προϊόν προστέθηκε στην αποθήκη με επιτυχία."); GetDataProd(); ClearValues(); } catch (Exception ex) { MessageBox.Show(ex.GetType() + ": " + ex.Message + "\n Commit Exception \n Παρουσιάστηκε κάποιο μη αναμενόμενο σφάλμα στην καταχώρηση του προϊόντος. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος."); try { InsTrans.Rollback(); } catch (Exception ex2) { MessageBox.Show(ex2.GetType() + ": " + ex2.Message + "\n Rollback Exception \n Παρουσιάστηκε κάποιο μη αναμενόμενο σφάλμα στην καταχώρηση του προϊόντος. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος."); } } sqlcon.Close(); } catch (Exception) { MessageBox.Show("Σφάλμα σύνδεσης. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος."); } } } }
private void AddBtn_Click(object sender, EventArgs e) { string errorMessages = ""; if (DescrTxt.Text == "" || LongDescrTxt.Text == "" || SupplierDescrTxt.Text == "" || QuantTxt.Text == "" || PriceTxt.Text == "" || DiscTxt.Text == "" || UnitTxt.Text == "" || ProfitPercTxt.Text == "") { errorMessages = "- Θα πρέπει να συμπληρώσετε όλα τα πεδία με αστερίσκο (*).\n";; } else { errorMessages += chk.CheckQuant(QuantTxt.Text); errorMessages += chk.CheckPrice(PriceTxt.Text); errorMessages += chk.CheckPrice(DiscTxt.Text); errorMessages += chk.CheckPrice(ProfitPercTxt.Text); if (MinStockTxt.Text != "") { errorMessages += chk.CheckMinStock(MinStockTxt.Text); } } if (errorMessages != "") { MessageBox.Show(errorMessages); } else { using (SqlConnection sqlcon = new SqlConnection(con.ConnectionString)) { try { sqlcon.Open(); SqlDataAdapter SearchAdapt = new SqlDataAdapter("select * from Products where Description=@descr", sqlcon); SearchAdapt.SelectCommand.Parameters.AddWithValue(@"descr", DescrTxt.Text); SearchAdapt.SelectCommand.Parameters.AddWithValue(@"manufac", ManufacTxt.Text); DataTable dt = new DataTable(); SearchAdapt.Fill(dt); if (dt.Rows.Count > 0) { MessageBox.Show("Υπάρχει ήδη καταχωρημένο προϊόν με τα στοιχεία που έχετε εισάγει."); } else { SqlTransaction InsTrans = sqlcon.BeginTransaction("InsertTransaction"); SqlCommand InsCmd1 = sqlcon.CreateCommand(); InsCmd1.Connection = sqlcon; SqlCommand InsCmd2 = sqlcon.CreateCommand(); InsCmd2.Connection = sqlcon; SqlCommand InsCmd3 = sqlcon.CreateCommand(); InsCmd3.Connection = sqlcon; InsCmd1.Transaction = InsTrans; InsCmd2.Transaction = InsTrans; InsCmd3.Transaction = InsTrans; try { InsCmd1.CommandText = "insert into Products(Id, Description, LongDescr, SupplierDescr, Manufacture, Unit, ProfitPerc) values((select dbo.nvl(Max(Id)+1,10000) from dbo.Products), @descr, @longd, @supdescr, @manuf, @unit, @prof)"; InsCmd1.Parameters.AddWithValue("@descr", DescrTxt.Text); InsCmd1.Parameters.AddWithValue("@longd", LongDescrTxt.Text); InsCmd1.Parameters.AddWithValue("@supdescr", SupplierDescrTxt.Text); InsCmd1.Parameters.AddWithValue("@manuf", ManufacTxt.Text); InsCmd1.Parameters.AddWithValue("@unit", UnitTxt.Text); InsCmd1.Parameters.AddWithValue("@prof", ProfitPercTxt.Text); InsCmd1.ExecuteNonQuery(); if (MinStockTxt.Text != "") { InsCmd2.CommandText = "insert into ProductsMinStock (Id, ProductId, MinStock) values((select dbo.nvl(Max(Id) + 1, 0) from ProductsMinStock), (select dbo.nvl(Max(Id),1000) from dbo.Products), @minstock)"; InsCmd2.Parameters.AddWithValue("@minstock", MinStockTxt.Text); InsCmd2.ExecuteNonQuery(); } InsCmd3.CommandText = "insert into ProductsReserve (Id, ProductId, Quant, Price, Disc, Date, SalesPrice, SalesDisc) values((select dbo.nvl(Max(Id)+1,0) from dbo.ProductsReserve), (select dbo.nvl(Max(Id),1000) from dbo.Products), @quant, @price, @disc, @date, (select dbo.ProfitNewPrice(@price,@disc,0,0,@prof)),(select dbo.ProfitNewDisc(@price,@disc,0,0,@prof)))"; InsCmd3.Parameters.AddWithValue("@quant", QuantTxt.Text); InsCmd3.Parameters.AddWithValue("@price", PriceTxt.Text); InsCmd3.Parameters.AddWithValue("@disc", DiscTxt.Text); InsCmd3.Parameters.AddWithValue("@prof", ProfitPercTxt.Text); InsCmd3.Parameters.AddWithValue("@date", System.DateTime.Today.ToShortDateString()); InsCmd3.ExecuteNonQuery(); InsTrans.Commit(); MessageBox.Show("Το προϊόν προστέθηκε με επιτυχία."); GetDataProd(); has_added = true; ClearValues(); } catch (Exception ex) { MessageBox.Show(ex.GetType() + ": " + ex.Message + "\n Commit Exception \n Παρουσιάστηκε κάποιο μη αναμενόμενο σφάλμα στην καταχώρηση του προϊόντος. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος."); try { InsTrans.Rollback(); } catch (Exception ex2) { MessageBox.Show(ex2.GetType() + ": " + ex2.Message + "\n Rollback Exception \n Παρουσιάστηκε κάποιο μη αναμενόμενο σφάλμα στην καταχώρηση του προϊόντος. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος."); } } } sqlcon.Close(); } catch (Exception) { MessageBox.Show("Σφάλμα σύνδεσης. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος."); } } } }