Esempio n. 1
0
        private void AddBtn_Click(object sender, EventArgs e)
        {
            string errorMessages = "";

            if (NameTxt.Text == "" || OccupationTxt.Text == "" || AfmTxt.Text == "" || AddressTxt.Text == "" || RegionTxt.Text == "" || TkTxt.Text == "" || PhoneTxt.Text == "" || Tax_officeTxt.Text == "")
            {
                errorMessages = "- Θα πρέπει να συμπληρώσετε όλα τα πεδία με αστερίσκο (*).\n";;
            }
            else
            {
                errorMessages += chk.CheckAfm(AfmTxt.Text);
                errorMessages += chk.CheckTk(TkTxt.Text);
                errorMessages += chk.CheckPhone(PhoneTxt.Text);
                if (Phone2Txt.Visible == true)
                {
                    errorMessages += chk.CheckPhone(Phone2Txt.Text);
                }
                if (DebitTxt.Text != "")
                {
                    errorMessages += chk.CheckDebit(DebitTxt.Text);
                }
                if (MaxDebitTxt.Text != "")
                {
                    errorMessages += chk.CheckMaxDebit(MaxDebitTxt.Text);
                }
                if (EmailTxt.Text != "")
                {
                    errorMessages += chk.CheckEmail(EmailTxt.Text);
                }
            }
            if (errorMessages != "")
            {
                MessageBox.Show(errorMessages);
            }
            else
            {
                using (SqlConnection sqlcon = new SqlConnection(con.ConnectionString))
                {
                    try
                    {
                        sqlcon.Open();
                        SqlDataAdapter SearchAdapt = new SqlDataAdapter("select * from Suppliers where Afm=@parameter", sqlcon);
                        SearchAdapt.SelectCommand.Parameters.AddWithValue(@"parameter", AfmTxt.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;
                            InsCmd1.Transaction = InsTrans;
                            try
                            {
                                InsCmd1.CommandText = "insert into Suppliers(Id, Name, Occupation, Address, Tk, Afm, Tax_office,Phone,Email, Debit,Region,Manager,Phone2) values((select dbo.nvl(Max(Id)+1,1000) from dbo.Suppliers), @name, @occup, @addr, @tk, @afm, @to,@phone,@mail, @debit, @reg, @man, @phone2)";
                                InsCmd1.Parameters.AddWithValue("@name", NameTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@occup", OccupationTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@addr", AddressTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@tk", TkTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@afm", AfmTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@to", Tax_officeTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@phone", PhoneTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@mail", EmailTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@debit", ((DebitTxt.Text == "") ? "0" : DebitTxt.Text));
                                InsCmd1.Parameters.AddWithValue("@reg", RegionTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@man", ManagerTxt.Text);
                                InsCmd1.Parameters.AddWithValue("@phone2", Phone2Txt.Text);
                                InsCmd1.ExecuteNonQuery();
                                if (MaxDebitTxt.Text != "")
                                {
                                    InsCmd1.CommandText = "insert into SuppliersMaxDebit (Id,SupplierId,MaxDebit) values ((select dbo.nvl(Max(Id)+1,0) from SuppliersMaxDebit),(select dbo.nvl(Max(Id),1000) from dbo.Suppliers),@maxdebit)";
                                    InsCmd1.Parameters.AddWithValue("@maxdebit", MaxDebitTxt.Text);
                                    InsCmd1.ExecuteNonQuery();
                                }
                                InsTrans.Commit();
                                MessageBox.Show("Ο Προμηθευτής προστέθηκε με επιτυχία.");
                                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. 2
0
        private void SaveBtn_Click(object sender, EventArgs e)
        {
            List <string> NewSupplierList = new List <string>(new string[] {
                NameTxt.Text,
                OccupationTxt.Text,
                AfmTxt.Text,
                Tax_officeTxt.Text,
                AddressTxt.Text,
                TkTxt.Text,
                PhoneTxt.Text,
                EmailTxt.Text,
                DebitTxt.Text,
                MaxDebitTxt.Text,
                RegionTxt.Text,
                ManagerTxt.Text,
                Phone2Txt.Text
            });
            int cnt = 0;

            for (int i = 0; i < NewSupplierList.Count; i++)
            {
                if (NewSupplierList[i] != SupplierList[i])
                {
                    cnt++;
                }
            }
            if (cnt == 0)
            {
                MessageBox.Show("Δεν έχετε πραγματοποιήσει κάποια αλλαγή στα στοιχεία του προμηθευτή.");
            }
            else
            {
                string errorMessages = "";
                if (NameTxt.Text == "" || OccupationTxt.Text == "" || AfmTxt.Text == "" || AddressTxt.Text == "" || RegionTxt.Text == "" || TkTxt.Text == "" || PhoneTxt.Text == "" || Tax_officeTxt.Text == "")
                {
                    errorMessages = "- Θα πρέπει να συμπληρώσετε όλα τα απαραίτητα πεδία.\n";;
                }
                else
                {
                    errorMessages += chk.CheckAfm(AfmTxt.Text);
                    errorMessages += chk.CheckTk(TkTxt.Text);
                    errorMessages += chk.CheckPhone(PhoneTxt.Text);
                    if (Phone2Txt.Text != "")
                    {
                        errorMessages += chk.CheckPhone(Phone2Txt.Text);
                    }
                    if (DebitTxt.Text != "")
                    {
                        errorMessages += chk.CheckDebit(DebitTxt.Text);
                    }
                    if (MaxDebitTxt.Text != "")
                    {
                        errorMessages += chk.CheckMaxDebit(MaxDebitTxt.Text);
                    }
                    if (EmailTxt.Text != "")
                    {
                        errorMessages += chk.CheckEmail(EmailTxt.Text);
                    }
                }
                if (errorMessages != "")
                {
                    MessageBox.Show(errorMessages);
                }
                else
                {
                    using (SqlConnection sqlcon = new SqlConnection(con.ConnectionString))
                    {
                        try
                        {
                            sqlcon.Open();
                            SqlDataAdapter SearchAdapt = new SqlDataAdapter("select * from Suppliers where Afm=@afm and Id!=@id", sqlcon);
                            SearchAdapt.SelectCommand.Parameters.AddWithValue(@"afm", AfmTxt.Text);
                            SearchAdapt.SelectCommand.Parameters.AddWithValue(@"id", IdTxt.Text);
                            DataTable dt = new DataTable();
                            SearchAdapt.Fill(dt);
                            if (dt.Rows.Count > 0)
                            {
                                MessageBox.Show("Υπάρχει ήδη καταχωρημένος προμηθευτής με το Α.Φ.Μ. που έχετε εισάγει.");
                            }
                            else
                            {
                                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 Suppliers set Name=@name, Occupation=@occup, Address = @addr, Tk = @tk, Afm = @afm, Tax_office = @to,  Debit= @debit, Phone = @phone, Email= @email, Region=@reg, Manager=@man, Phone2=@phone2 where Id=@id";
                                    UpdCmd1.Parameters.AddWithValue("@name", NameTxt.Text);
                                    UpdCmd1.Parameters.AddWithValue("@occup", OccupationTxt.Text);
                                    UpdCmd1.Parameters.AddWithValue("@addr", AddressTxt.Text);
                                    UpdCmd1.Parameters.AddWithValue("@tk", TkTxt.Text);
                                    UpdCmd1.Parameters.AddWithValue("@afm", AfmTxt.Text);
                                    UpdCmd1.Parameters.AddWithValue("@to", Tax_officeTxt.Text);
                                    UpdCmd1.Parameters.AddWithValue("@phone", PhoneTxt.Text);
                                    UpdCmd1.Parameters.AddWithValue("@email", EmailTxt.Text);
                                    UpdCmd1.Parameters.AddWithValue("@debit", ((DebitTxt.Text == "") ? "0" : DebitTxt.Text));
                                    UpdCmd1.Parameters.AddWithValue("@reg", AfmTxt.Text);
                                    UpdCmd1.Parameters.AddWithValue("@man", Tax_officeTxt.Text);
                                    UpdCmd1.Parameters.AddWithValue("@phone2", PhoneTxt.Text);
                                    UpdCmd1.Parameters.AddWithValue("@id", IdTxt.Text);
                                    UpdCmd1.ExecuteNonQuery();

                                    if (NewSupplierList[7] != "" && SupplierList[7] == "") //max debit
                                    {
                                        UpdCmd2.CommandText = "insert into SuppliersMaxDebit (Id, SupplierId, MaxDebit) values((select dbo.nvl(Max(Id) + 1, 0) from SuppliersMaxDebit), @id, @maxdebit)";
                                        UpdCmd2.Parameters.AddWithValue("@id", IdTxt.Text);
                                        UpdCmd2.Parameters.AddWithValue("@maxdebit", MaxDebitTxt.Text);
                                        UpdCmd2.ExecuteNonQuery();
                                    }
                                    else if (NewSupplierList[7] == "" && SupplierList[7] != "")
                                    {
                                        UpdCmd2.CommandText = "delete SuppliersMaxDebit where SupplierId=@id";
                                        UpdCmd2.Parameters.AddWithValue("@id", IdTxt.Text);
                                        UpdCmd2.ExecuteNonQuery();
                                    }
                                    else if (NewSupplierList[7] != "" && SupplierList[7] != "" && SupplierList[7] != NewSupplierList[7])
                                    {
                                        UpdCmd2.CommandText = "update SuppliersMaxDebit set MaxDebit=@maxdebit where SupplierId=@id";
                                        UpdCmd2.Parameters.AddWithValue("@id", IdTxt.Text);
                                        UpdCmd2.Parameters.AddWithValue("@maxdebit", MaxDebitTxt.Text);
                                        UpdCmd2.ExecuteNonQuery();
                                    }


                                    InsTrans.Commit();
                                    MessageBox.Show("Οι αλλαγές πραγματοποιήθηκαν με επιτυχία.");
                                    ClearValues();
                                    NameTxt.Enabled       = false;
                                    OccupationTxt.Enabled = false;
                                    AfmTxt.Enabled        = false;
                                    AddressTxt.Enabled    = false;
                                    TkTxt.Enabled         = false;
                                    Tax_officeTxt.Enabled = false;
                                    PhoneTxt.Enabled      = false;
                                    RegionTxt.Enabled     = false;
                                    ManagerTxt.Enabled    = false;
                                    Phone2Txt.Enabled     = false;
                                    EmailTxt.Enabled      = false;
                                    DebitTxt.Enabled      = false;
                                    MaxDebitTxt.Enabled   = false;
                                    SearchNameTxt.Enabled = true;
                                    SearchAfmTxt.Enabled  = true;
                                    SelectNameCmb.Enabled = true;
                                    RetrieveBtn.Enabled   = true;
                                    SaveBtn.Visible       = false;
                                    CancelBtn.Visible     = false;
                                    SupplierList.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("Σφάλμα σύνδεσης. Παρακαλώ επικοινωνήστε με το διαχειριστή του συστήματος.");
                        }
                    }
                }
            }
        }