Esempio n. 1
0
 private void ValueDocPriceTxt1_TextChanged(object sender, EventArgs e)
 {
     ValueDocPriceTxt1.Text           = ValueDocPriceTxt1.Text.Replace(',', '.');
     ValueDocPriceTxt1.SelectionStart = ValueDocPriceTxt1.Text.Length;
     if (ValueDocPriceTxt1.Text == "")
     {
         ValueDocPriceTxt1.Text = "0";
     }
     if (chk.CheckPrice(CashTxt.Text) == "" || CashTxt.Text == "")
     {
         bool   error    = false;
         double sumprice = (CashTxt.Text == "" ? 0 : Convert.ToDouble(CashTxt.Text));
         for (int i = 1; i <= Convert.ToInt16(ValueDocItemsTxt.Text); i++)
         {
             if (chk.CheckPrice(ProductsPanel.Controls.Find("ValueDocPriceTxt" + i, true).First().Text) == "" || ProductsPanel.Controls.Find("ValueDocPriceTxt" + i, true).First().Text == "")
             {
                 if (chk.CheckPrice(ProductsPanel.Controls.Find("ValueDocPriceTxt" + i, true).First().Text) == "")
                 {
                     sumprice += Convert.ToDouble(ProductsPanel.Controls.Find("ValueDocPriceTxt" + i, true).First().Text);
                 }
             }
             else
             {
                 error = true;
             }
         }
         if (error == false)
         {
             PriceReceiptTxt.Text = sumprice.ToString();
         }
         else
         {
             PriceReceiptTxt.Text = "";
         }
     }
     else
     {
         PriceReceiptTxt.Text = "";
     }
 }
Esempio n. 2
0
        private void AddBtn_Click(object sender, EventArgs e)
        {
            bool noerrors = true;

            for (int i = 1; i <= Convert.ToInt16(ProdItemsTxt.Text); i++)
            {
                if (chk.CheckPrice(ProductsPanel.Controls.Find("SalesPriceTxt" + i, true).First().Text) != "")
                {
                    ProductsPanel.Controls.Find("SalesPriceTxt" + i, true).First().BackColor = Color.Red;
                    noerrors = false;
                }
                else
                {
                    ProductsPanel.Controls.Find("SalesPriceTxt" + i, true).First().BackColor = SystemColors.Window;
                    noerrors = true;
                }

                if (chk.CheckPrice(ProductsPanel.Controls.Find("SalesDiscTxt" + i, true).First().Text) != "")
                {
                    ProductsPanel.Controls.Find("SalesDiscTxt" + i, true).First().BackColor = Color.Red;
                    noerrors = false;
                }
                else
                {
                    ProductsPanel.Controls.Find("SalesDiscTxt" + i, true).First().BackColor = SystemColors.Window;
                    noerrors = true;
                }
            }
            if (noerrors == false)
            {
                MessageBox.Show("Θα πρέπει να διορθώσετε τα στοιχεία πώλησης.");
            }
            else
            {
                using (SqlConnection sqlcon = new SqlConnection(con.ConnectionString))
                {
                    try
                    {
                        sqlcon.Open();
                        SqlDataAdapter SearchAdapt = new SqlDataAdapter("select * from SupplierInvoice where SupplierId=@supid and InvoiceId=@invid and InvoiceSeries=@invser", sqlcon);
                        SearchAdapt.SelectCommand.Parameters.AddWithValue(@"supid", IdSupplierTxt.Text);
                        SearchAdapt.SelectCommand.Parameters.AddWithValue(@"invid", IdInvoiceTxt.Text);
                        SearchAdapt.SelectCommand.Parameters.AddWithValue(@"invser", SeriesInvoiceTxt.Text);
                        DataTable dt = new DataTable();
                        SearchAdapt.Fill(dt);
                        if (dt.Rows.Count > 0)
                        {
                            MessageBox.Show("Υπάρχει ήδη καταχωρημένο τιμολόγιο με τον αριθμό, τη σειρά και τον προμηθευτή που έχετε εισάγει.");
                        }
                        else
                        {
                            DataTable dt2 = new DataTable();
                            if (PayInvoiceCmb.GetItemText(PayInvoiceCmb.SelectedItem) == "Πίστωση")
                            {
                                string         query        = "select Debit from Suppliers where Id=@id";
                                SqlDataAdapter SearchAdapt2 = new SqlDataAdapter(query, sqlcon);
                                SearchAdapt2.SelectCommand.Parameters.AddWithValue(@"id", IdSupplierTxt.Text);
                                SearchAdapt2.Fill(dt2);
                            }
                            SqlTransaction InsTrans = sqlcon.BeginTransaction("InsertTransaction");
                            SqlCommand     InsCmd1  = sqlcon.CreateCommand();
                            InsCmd1.Connection = sqlcon;
                            SqlCommand InsCmd2 = sqlcon.CreateCommand();
                            InsCmd2.Connection  = sqlcon;
                            InsCmd1.Transaction = InsTrans;
                            InsCmd2.Transaction = InsTrans;
                            try
                            {
                                string DisNotes = "";
                                foreach (var item in DisLs)
                                {
                                    if (DisNotes == "")
                                    {
                                        DisNotes += item;
                                    }
                                    else
                                    {
                                        DisNotes += ", " + item;
                                    }
                                }
                                foreach (var item in ls)
                                {
                                    SqlCommand InsCmd5 = sqlcon.CreateCommand();
                                    InsCmd5.Connection  = sqlcon;
                                    InsCmd5.Transaction = InsTrans;
                                    InsCmd5.CommandText = "update SupplierDisNote set Invoice='1' where Id=@id";
                                    InsCmd5.Parameters.AddWithValue("@id", item);
                                    InsCmd5.ExecuteNonQuery();
                                }
                                InsCmd1.CommandText = "insert into SupplierInvoice (Id, SupplierId, InvoiceId, InvoiceSeries, InvoiceDate, InvoicePayment, InvoiceDisc, InvoicePrice,InvoiceDisNotes) values((select dbo.nvl(Max(Id)+1,0) from dbo.SupplierInvoice), @supid, @invid, @ser, @date, @pay, @disc, @price,@note)";
                                InsCmd1.Parameters.AddWithValue("@supid", IdSupplierTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@invid", IdInvoiceTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@ser", SeriesInvoiceTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@date", DateTimeInvoicePicker.Value);
                                InsCmd1.Parameters.AddWithValue("@pay", PayInvoiceCmb.GetItemText(PayInvoiceCmb.SelectedItem));
                                InsCmd1.Parameters.AddWithValue("@disc", DiscInvoiceTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@price", PriceInvoiceTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@note", DisNotes);
                                InsCmd1.ExecuteNonQuery();

                                if (dt2.Rows.Count == 1)
                                {
                                    decimal oldDebit = Convert.ToDecimal(dt2.Rows[0][0].ToString());
                                    decimal newDebit = oldDebit + Convert.ToDecimal(PriceInvoiceTxt.Text);
                                    InsCmd2.CommandText = "update Suppliers set Debit= @debit where Id=@id";
                                    InsCmd2.Parameters.AddWithValue("@debit", newDebit);
                                    InsCmd2.Parameters.AddWithValue("@id", IdSupplierTxt.Text);
                                    InsCmd2.ExecuteNonQuery();
                                }

                                for (int i = 1; i <= Convert.ToInt16(ProdItemsTxt.Text); i++)
                                {
                                    decimal    DiscProd = 100 - Math.Round((1 - Convert.ToDecimal(ProductsPanel.Controls.Find("DiscProd1Txt" + i, true).First().Text) / 100) * (1 - Convert.ToDecimal(ProductsPanel.Controls.Find("DiscProd2Txt" + i, true).First().Text) / 100) * (1 - Convert.ToDecimal(ProductsPanel.Controls.Find("DiscProd3Txt" + i, true).First().Text) / 100) * 100, 2);
                                    SqlCommand InsCmd3  = sqlcon.CreateCommand();
                                    InsCmd3.Connection = sqlcon;
                                    SqlCommand InsCmd4 = sqlcon.CreateCommand();
                                    InsCmd4.Connection  = sqlcon;
                                    InsCmd3.Transaction = InsTrans;
                                    InsCmd4.Transaction = InsTrans;
                                    InsCmd3.CommandText = "insert into SupplierInvoiceProducts (Id,SupplierInvoiceId,ProductId,ProductQuant,ProductPrice,ProductDisc) values ((select dbo.nvl(Max(Id)+1,0) from SupplierInvoiceProducts),(select dbo.nvl(Max(Id),0) from dbo.SupplierInvoice),@prodid,@prodquant,@prodprice,@proddisc)";
                                    InsCmd3.Parameters.AddWithValue("@prodid", ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().Text);
                                    InsCmd3.Parameters.AddWithValue("@prodquant", ProductsPanel.Controls.Find("QuantProdTxt" + i, true).First().Text);
                                    InsCmd3.Parameters.AddWithValue("@prodprice", ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().Text);
                                    InsCmd3.Parameters.AddWithValue("@proddisc", DiscProd);
                                    InsCmd3.ExecuteNonQuery();
                                    InsCmd4.CommandText = "update ProductsReserve set Price=@prodprice, Disc=@proddisc, SupplierDisc=@supdisc,SalesPrice=@sprice, SalesDisc=@sdisc where DocId=@id and ProductId=@prodid and SupplierId=@supid";
                                    InsCmd4.Parameters.AddWithValue("@prodid", ProductsPanel.Controls.Find("IdProdTxt" + i, true).First().Text);
                                    InsCmd4.Parameters.AddWithValue("@prodprice", ProductsPanel.Controls.Find("ValueProdTxt" + i, true).First().Text);
                                    InsCmd4.Parameters.AddWithValue("@proddisc", DiscProd);
                                    InsCmd4.Parameters.AddWithValue("@sprice", ProductsPanel.Controls.Find("SalesPriceTxt" + i, true).First().Text);
                                    InsCmd4.Parameters.AddWithValue("@sdisc", ProductsPanel.Controls.Find("SalesDiscTxt" + i, true).First().Text);
                                    InsCmd4.Parameters.AddWithValue("@supdisc", DiscInvoiceTxt.Text);
                                    InsCmd4.Parameters.AddWithValue("@id", ProductsPanel.Controls.Find("DisNoteProdTxt" + i, true).First().Text);
                                    InsCmd4.Parameters.AddWithValue("@supid", IdSupplierTxt.Text);
                                    InsCmd4.ExecuteNonQuery();
                                }

                                InsTrans.Commit();
                                MessageBox.Show("Το τιμολόγιο του προμηθευτή καταχωρήθηκε με επιτυχία.");
                                this.SuspendLayout();
                                ClearProds();
                                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("Σφάλμα σύνδεσης. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος.");
                    }
                    this.ResumeLayout(false);
                }
            }
        }
Esempio n. 3
0
        private void AddBtn_Click(object sender, EventArgs e)
        {
            bool blanks    = false;
            bool falsedate = false;

            for (int i = 1; i <= Convert.ToInt16(ValueDocItemsTxt.Text); i++)
            {
                if (ProductsPanel.Controls.Find("ValueDocIdTxt" + i, true).First().Text != "" && ProductsPanel.Controls.Find("ValueDocIssuerTxt" + i, true).First().Text != "")
                {
                    if (ProductsPanel.Controls.Find("ValueDocPriceTxt" + i, true).First().Text != "" && ProductsPanel.Controls.Find("ValueDocPriceTxt" + i, true).First().Text != "0")
                    {
                        if (ProductsPanel.Controls.Find("ValueDocIdTxt" + i, true).First().Text == "")
                        {
                            blanks = true;
                        }
                        else if (ProductsPanel.Controls.Find("ValueDocIssuerTxt" + i, true).First().Text == "")
                        {
                            blanks = true;
                        }
                        else if (((DateTimePicker)ProductsPanel.Controls.Find("ValueDocDatePkr" + i, true).First()).Value < DateTimeReceiptPicker.Value)
                        {
                            falsedate = true;
                        }
                    }
                }
            }
            if (IdCustomerTxt.Text == "")
            {
                MessageBox.Show("Θα πρέπει να επιλέξετε Πελάτη.");
            }
            else if (IdReceiptTxt.Text == "")
            {
                MessageBox.Show("Θα πρέπει να συμπληρώσετε αριθμό απόδειξης.");
            }
            else if (DateTimeReceiptPicker.Value > System.DateTime.Today.AddDays(1))
            {
                MessageBox.Show("Η ημερομηνία δεν μπορεί να είναι μεταγενέστερη της σημερινής.");
            }
            else if (chk.CheckPrice(PriceReceiptTxt.Text) != "")
            {
                MessageBox.Show("Το ποσό της απόδειξης δεν είναι έγκυρο. Θα πρέπει να συμπληρώσετε ορθά τα ποσά των αξιογράφων ή/και των μετρητών.");
            }
            else if (Convert.ToDouble(PriceReceiptTxt.Text) == 0)
            {
                MessageBox.Show("Θα πρέπει να συμπληρώσετε τα ποσά των αξιογράφων ή/και των μετρητών.");
            }
            else if (blanks == true)
            {
                MessageBox.Show("Θα πρέπει να συμπληρώσετε αριθμό αξιογράφου και εκδότη.");
            }
            else if (falsedate == true)
            {
                MessageBox.Show("Η ημερομηνία λήξης αξιογράφου δεν μπορεί να είναι προγενέστερη της ημερομηνίας της απόδειξης.");
            }
            else
            {
                using (SqlConnection sqlcon = new SqlConnection(con.ConnectionString))
                {
                    try
                    {
                        sqlcon.Open();
                        DataTable dt2 = new DataTable();
                        {
                            string         query        = "select Credit from Customers where Id=@id";
                            SqlDataAdapter SearchAdapt2 = new SqlDataAdapter(query, sqlcon);
                            SearchAdapt2.SelectCommand.Parameters.AddWithValue(@"id", IdCustomerTxt.Text);
                            SearchAdapt2.Fill(dt2);
                        }
                        SqlTransaction InsTrans = sqlcon.BeginTransaction("InsertTransaction");
                        SqlCommand     InsCmd1  = sqlcon.CreateCommand();
                        InsCmd1.Connection = sqlcon;
                        SqlCommand InsCmd2 = sqlcon.CreateCommand();
                        InsCmd2.Connection  = sqlcon;
                        InsCmd1.Transaction = InsTrans;
                        InsCmd2.Transaction = InsTrans;
                        try
                        {
                            InsCmd1.CommandText = "insert into CustomerReceipt (Id, CustomerId, ReceiptId, ReceiptSeries, ReceiptDate, ReceiptPrice, ReceiptCash, ReceiptNotes) values((select dbo.nvl(Max(Id)+1,0) from dbo.CustomerReceipt), @supid, @reid, @ser, @date, @price, @cash, @not)";
                            InsCmd1.Parameters.AddWithValue("@supid", IdCustomerTxt.Text);
                            InsCmd1.Parameters.AddWithValue("@reid", IdReceiptTxt.Text);
                            InsCmd1.Parameters.AddWithValue("@ser", SeriesReceiptTxt.Text);
                            InsCmd1.Parameters.AddWithValue("@date", DateTimeReceiptPicker.Value);
                            InsCmd1.Parameters.AddWithValue("@price", PriceReceiptTxt.Text);
                            InsCmd1.Parameters.AddWithValue("@cash", (CashTxt.Text == "" ? "0" : CashTxt.Text));
                            InsCmd1.Parameters.AddWithValue("@not", NotesTxt.Text);
                            InsCmd1.ExecuteNonQuery();

                            if (dt2.Rows.Count == 1)
                            {
                                decimal oldCredit = Convert.ToDecimal(dt2.Rows[0][0].ToString());
                                decimal newCredit = oldCredit - Convert.ToDecimal(PriceReceiptTxt.Text);
                                InsCmd2.CommandText = "update Customers set Credit= @credit where Id=@id";
                                InsCmd2.Parameters.AddWithValue("@credit", newCredit);
                                InsCmd2.Parameters.AddWithValue("@id", IdCustomerTxt.Text);
                                InsCmd2.ExecuteNonQuery();
                            }

                            for (int i = 1; i <= Convert.ToInt16(ValueDocItemsTxt.Text); i++)
                            {
                                if (ProductsPanel.Controls.Find("ValueDocPriceTxt" + i, true).First().Text != "")
                                {
                                    SqlCommand InsCmd3 = sqlcon.CreateCommand();
                                    InsCmd3.Connection  = sqlcon;
                                    InsCmd3.Transaction = InsTrans;
                                    InsCmd3.CommandText = "insert into ReceiptValueDocs (Id,ReceiptId,ReceiptKind,ValueDocId,ValueDocDate,ValueDocPrice,ValueDocIssuer) values ((select dbo.nvl(Max(Id)+1,0) from ReceiptValueDocs),(select dbo.nvl(Max(Id),0) from dbo.CustomerReceipt),1,@id,@date,@price,@issuer)";
                                    InsCmd3.Parameters.AddWithValue("@id", ProductsPanel.Controls.Find("ValueDocIdTxt" + i, true).First().Text);
                                    InsCmd3.Parameters.AddWithValue("@date", ((DateTimePicker)ProductsPanel.Controls.Find("ValueDocDatePkr" + i, true).First()).Value);
                                    InsCmd3.Parameters.AddWithValue("@price", ProductsPanel.Controls.Find("ValueDocPriceTxt" + i, true).First().Text);
                                    InsCmd3.Parameters.AddWithValue("@issuer", ProductsPanel.Controls.Find("ValueDocIssuerTxt" + i, true).First().Text);
                                    InsCmd3.ExecuteNonQuery();
                                }
                            }
                            InsTrans.Commit();
                            MessageBox.Show("Η απόδειξη του πελάτη καταχωρήθηκε με επιτυχία.");
                            Do_Print();
                            ClearValues();
                            GetData();
                        }
                        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("Σφάλμα σύνδεσης. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος.");
                    }
                }
            }
        }
Esempio n. 4
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("Σφάλμα σύνδεσης. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος.");
                        }
                    }
                }
            }
        }
Esempio n. 5
0
        private void BankDepositBtn_Click(object sender, EventArgs e)
        {
            if (Convert.ToDateTime(BankDepositPck.Value.ToShortDateString()) > Convert.ToDateTime(DateTime.Today.ToShortDateString()))
            {
                System.Windows.MessageBox.Show("Η ημερομηνία δεν μπορεί να είναι μεταγενέστερη της σημερινής.");
            }
            else if (chk.CheckPrice(BankDepositPriceTxt.Text) != "")
            {
                System.Windows.MessageBox.Show("Θα πρέπει να συμπληρώσετε ένα έγκυρο ποσοστό εμβάσματος.");
            }
            else if (IdTxt.Text == "")
            {
                System.Windows.MessageBox.Show("Θα πρέπει να επιλέξετε προμηθευτή.");
            }
            else
            {
                using (SqlConnection sqlcon = new SqlConnection(con.ConnectionString))
                {
                    try
                    {
                        sqlcon.Open();
                        DataTable      dt          = new DataTable();
                        string         query       = "select Debit from Suppliers where Id=@id";
                        SqlDataAdapter SearchAdapt = new SqlDataAdapter(query, sqlcon);
                        SearchAdapt.SelectCommand.Parameters.AddWithValue(@"id", IdTxt.Text);
                        SearchAdapt.Fill(dt);
                        SqlTransaction InsTrans = sqlcon.BeginTransaction("InsertTransaction");
                        SqlCommand     InsCmd1  = sqlcon.CreateCommand();
                        InsCmd1.Connection = sqlcon;
                        SqlCommand InsCmd2 = sqlcon.CreateCommand();
                        InsCmd2.Connection  = sqlcon;
                        InsCmd1.Transaction = InsTrans;
                        InsCmd2.Transaction = InsTrans;
                        try
                        {
                            InsCmd1.CommandText = "insert into SupplierBankDeposits (Id, SupplierId,Doc, Date, Price) values((select dbo.nvl(Max(Id)+1,0) from dbo.SupplierBankDeposits), @supid, @doc, @date, @price)";
                            InsCmd1.Parameters.AddWithValue("@supid", IdTxt.Text);
                            InsCmd1.Parameters.AddWithValue("@doc", BankDepositDocTxt.Text);
                            InsCmd1.Parameters.AddWithValue("@date", BankDepositPck.Value);
                            InsCmd1.Parameters.AddWithValue("@price", BankDepositPriceTxt.Text);
                            InsCmd1.ExecuteNonQuery();

                            if (dt.Rows.Count == 1)
                            {
                                decimal oldDebit = Convert.ToDecimal(dt.Rows[0][0].ToString());
                                decimal newDebit = oldDebit - Convert.ToDecimal(BankDepositPriceTxt.Text);
                                InsCmd2.CommandText = "update Suppliers set Debit= @debit where Id=@id";
                                InsCmd2.Parameters.AddWithValue("@debit", newDebit);
                                InsCmd2.Parameters.AddWithValue("@id", IdTxt.Text);
                                InsCmd2.ExecuteNonQuery();
                            }
                            InsTrans.Commit();
                            System.Windows.MessageBox.Show("Το έμβασμα του προμηθευτή καταχωρήθηκε με επιτυχία.");
                            BankDepositPck.Value     = System.DateTime.Today;
                            BankDepositDocTxt.Text   = "";
                            BankDepositPriceTxt.Text = "";
                            RetrieveBtn_Click(null, null);
                        }
                        catch (Exception ex)
                        {
                            System.Windows.MessageBox.Show(ex.GetType() + ": " + ex.Message + "\n Commit Exception \n Παρουσιάστηκε κάποιο μη αναμενόμενο σφάλμα στην καταχώρηση. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος.");
                            try
                            {
                                InsTrans.Rollback();
                            }
                            catch (Exception ex2)
                            {
                                System.Windows.MessageBox.Show(ex2.GetType() + ": " + ex2.Message + "\n Rollback Exception \n Παρουσιάστηκε κάποιο μη αναμενόμενο σφάλμα στην καταχώρηση. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος.");
                            }
                        }
                        sqlcon.Close();
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Σφάλμα σύνδεσης. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος.");
                    }
                }
            }
        }
Esempio n. 6
0
        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("Σφάλμα σύνδεσης. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος.");
                    }
                }


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