コード例 #1
0
        private void send_mail(gracz g)
        {
            var fromAddress = new MailAddress("*****@*****.**", "CustomQueue");
            var toAddress   = new MailAddress("*****@*****.**", "root");



            const string fromPassword = "";
            const string subject      = "Nowy Gracz!!!";
            string       body         = "Zarejestrował się nowy gracz: " + g.IDGracza + ", " + g.Nick;

            var smtp = new SmtpClient
            {
                Host                  = "smtp.gmail.com",
                Port                  = 587,
                EnableSsl             = true,
                DeliveryMethod        = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials           = new NetworkCredential(fromAddress.Address, fromPassword)
            };

            using (var message = new MailMessage(fromAddress, toAddress)
            {
                Subject = subject,
                Body = body
            })

            {
                message.Attachments.Add(new Attachment("file.txt"));
                smtp.Send(message);
            }
        }
コード例 #2
0
        private void RowDoubleClick(object sender, MouseButtonEventArgs e)
        {
            DataGridRow rowContainer = (DataGridRow)sender;
            gracz       gra          = (gracz)rowContainer.Item;


            dataGrid.ItemsSource = Bazy.Widoki.ReadActivity(gra.IDGracza, Bazy.Widoki.conn);

            object b = gra.SteamID;
            object c = gra.NazwaKontaWGrze;
            object d = gra.DataDolaczenia;

            if (b != System.DBNull.Value)
            {
                steam.Text = (String)b;
            }
            else
            {
                steam.Text = "";
            }
            if (c != System.DBNull.Value)
            {
                nazwa.Text = (String)c;
            }
            else
            {
                nazwa.Text = "";
            }

            if (d != System.DBNull.Value && d != null)
            {
                label.Content = ((DateTime)d).ToLongTimeString();
            }
            else
            {
                label.Content = "";
            }

            id.Text   = Convert.ToString(gra.IDGracza);
            nick.Text = gra.Nick;
        }
コード例 #3
0
        private void Usun(object sender, RoutedEventArgs e)
        {
            gracz g = get_gracz();

            if (g == null)
            {
                return;
            }

            var mDB = new BazyDB();

            if (!(bool)checkBox.IsChecked)
            {
                try
                {
                    gracz to_delete = (from x in mDB.gracz where x.IDGracza == g.IDGracza select x).Single();
                    mDB.gracz.Remove(to_delete);
                }
                catch (InvalidOperationException ex)
                {
                    MessageBox.Show("Nie ma obiektu o takim ID");
                    return;
                }



                try
                {
                    mDB.SaveChanges();
                }
                catch (DbUpdateException ex)
                {
                    String trace = null;

                    MySqlException exc = (MySqlException)ex.InnerException.InnerException;
                    switch (exc.Number)
                    {
                    case 20002:
                        trace = "Nie można usunąć administratora";
                        break;

                    case 1644:
                        trace = exc.Message;
                        break;

                    default:
                        trace = "Niezidentyfikowany błąd";
                        break;
                    }


                    MessageBox.Show(trace);
                }
            }
            else
            {
                //procedura
                MySqlParameter param = new MySqlParameter("@date", (object)g.IDGracza);
                try
                {
                    if (mDB.Database.ExecuteSqlCommand("usun(@date)", param) == 0)
                    {
                        MessageBox.Show("Nie ma obiektu o takim ID");
                    }
                }
                catch (MySqlException ex)
                {
                    String trace = null;
                    switch (ex.Number)
                    {
                    case 20002:
                        trace = "Nie można usunąć administratora";
                        break;

                    case 1644:
                        trace = ex.Message;
                        break;

                    default:
                        trace = "Niezidentyfikowany błąd";
                        break;
                    }


                    MessageBox.Show(trace);
                }
            }

            Up();
        }
コード例 #4
0
        private void Zmien(object sender, RoutedEventArgs e)
        {
            gracz g = get_gracz();

            if (g == null)
            {
                return;
            }


            var mDB = new BazyDB();

            if (!(bool)checkBox.IsChecked)
            {
                (from p in mDB.gracz where p.IDGracza == g.IDGracza select p).ToList().ForEach(x => { x.Nick = g.Nick; x.SteamID = g.SteamID; x.NazwaKontaWGrze = g.NazwaKontaWGrze; });

                try
                {
                    mDB.SaveChanges();
                }
                catch (DbUpdateException ex)
                {
                    String trace = null;
                    switch (((MySqlException)(ex.InnerException.InnerException)).Number)
                    {
                    case 1062:
                        trace = "Pole ID lub Nick nie jest unikalne";
                        break;

                    case 1048:
                        trace = "Pola ID i Nick nie mogą być puste";
                        break;

                    case 1406:
                        trace = "Pole Nick, SteamID lub NazwaKontaWGrze przekracza maksymalna długość";
                        break;

                    default:
                        trace = "Niezidentyfikowany błąd";
                        break;
                    }


                    MessageBox.Show(trace);
                }
            }
            else
            {
                try
                {
                    MySqlParameter id    = new MySqlParameter("@id", g.IDGracza);
                    MySqlParameter nick  = new MySqlParameter("@nick", g.Nick);
                    MySqlParameter steam = new MySqlParameter("@steamid", g.SteamID);
                    MySqlParameter nazwa = new MySqlParameter("@nazwakontawgrze", g.NazwaKontaWGrze);
                    mDB.Database.ExecuteSqlCommand("zmien(@id,@nick,@steamid,@nazwakontawgrze)", id, nick, steam, nazwa);
                }
                catch (MySqlException ex)
                {
                    String trace = null;
                    switch (ex.Number)
                    {
                    case 1062:
                        trace = "Pole ID lub Nick nie jest unikalne";
                        break;

                    case 1048:
                        trace = "Pola ID i Nick nie mogą być puste";
                        break;

                    case 1406:
                        trace = "Pole Nick, SteamID lub NazwaKontaWGrze przekracza maksymalna długość";
                        break;

                    case 20001:
                        trace = "Nie można zmienić nicku gracza na admin lub root";
                        break;

                    default:
                        trace = "Niezidentyfikowany błąd";
                        break;
                    }


                    MessageBox.Show(trace);
                }
            }
            Up();
        }
コード例 #5
0
        private void Dodaj(object sender, RoutedEventArgs e)
        {
            gracz g = get_gracz();

            if (g == null)
            {
                return;
            }

            var mDB = new BazyDB();

            if (!(bool)checkBox.IsChecked)
            {
                mDB.gracz.Add(g);
                try
                {
                    if (mDB.SaveChanges() == 1)
                    {
                        send_mail(g);
                    }
                }
                catch (DbUpdateException ex)
                {
                    String trace = null;
                    switch (((MySqlException)(ex.InnerException.InnerException)).Number)
                    {
                    case 1062:
                        trace = "Pole ID lub Nick nie jest unikalne";
                        break;

                    case 1048:
                        trace = "Pola ID i Nick nie mogą być puste";
                        break;

                    case 1406:
                        trace = "Pole Nick, SteamID lub NazwaKontaWGrze przekracza maksymalna długość";
                        break;

                    default:
                        trace = "Niezidentyfikowany błąd";
                        break;
                    }


                    MessageBox.Show(trace);
                }
            }

            else

            {
                try
                {
                    MySqlParameter id    = new MySqlParameter("@id", g.IDGracza);
                    MySqlParameter nick  = new MySqlParameter("@nick", g.Nick);
                    MySqlParameter steam = new MySqlParameter("@steamid", g.SteamID);
                    MySqlParameter nazwa = new MySqlParameter("@nazwakontawgrze", g.NazwaKontaWGrze);

                    if (mDB.Database.ExecuteSqlCommand("dodaj(@id,@nick,@steamid,@nazwakontawgrze)", id, nick, steam, nazwa) == 1)
                    {
                        send_mail(g);
                    }
                }
                catch (MySqlException ex)
                {
                    String trace = null;
                    int    a     = 0;
                    switch (ex.Number)
                    {
                    case 1062:
                        trace = "Pole ID lub Nick nie jest unikalne";
                        break;

                    case 1048:
                        trace = "Pola ID i Nick nie mogą być puste";
                        break;

                    case 1406:
                        trace = "Pole Nick, SteamID lub NazwaKontaWGrze przekracza maksymalna długość";
                        break;

                    case 20000:
                        trace = "Nie można dodać gracza o nicku admin lub root";
                        break;

                    case 20001:
                        trace = "Nie można zmienić nicku gracza na admin lub root";
                        break;

                    case 20002:
                        trace = "Nie można usunąć administratora";
                        break;

                    case 1644:
                        trace = ex.Message;
                        break;

                    default:
                        trace = "Niezidentyfikowany błąd";
                        break;
                    }


                    MessageBox.Show(trace);
                }
            }



            Up();
        }