Beispiel #1
0
        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;
                }
            }
        }
Beispiel #3
0
        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();
            }
        }
Beispiel #4
0
        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();
            }
        }
Beispiel #5
0
        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("Σφάλμα σύνδεσης. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος.");
                    }
                }


            }
        }
Beispiel #8
0
        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("Σφάλμα σύνδεσης. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος.");
                    }
                }
            }
        }