コード例 #1
0
 /// <summary>
 /// Zapis wyniku do bazy danych.
 /// </summary>
 private void SaveResult()
 {
     try
     {
         MateuszThomas_Results result = new MateuszThomas_Results();
         result.Name   = login;
         result.Points = points;
         result.Shots  = Int32.Parse(labelNumberShot.Text);
         context.MateuszThomas_Results.Add(result);
         context.SaveChanges();
     }
     catch
     {
         MessageBox.Show("Wynik nie został zapisany w bazie danych ponieważ nie ma połączenia z internetem. Wynik zapisany lokalnie na komputerze.");
         SaveResultLocal();
     }
 }
コード例 #2
0
ファイル: Result.cs プロジェクト: mattho1/MonsterShooter
 /// <summary>
 /// Wczytanie wyników z pliku do bazy danych.
 /// </summary>
 private void ReadResult()
 {
     if (isConnectedWithDatabase)
     {
         try
         {
             if (!textBoxFileWithResult.Text.Contains(".csv"))
             {
                 textBoxFileWithResult.Text += ".csv";
             }
             try
             {
                 StreamReader fileWithResult = new StreamReader(textBoxFileWithResult.Text);
                 String       line           = fileWithResult.ReadLine();
                 while ((line = fileWithResult.ReadLine()) != null)
                 {
                     Char     delimiter           = ';';
                     String[] substrings          = line.Split(delimiter);
                     MateuszThomas_Results result = new MateuszThomas_Results();
                     result.Name   = substrings[0];
                     result.Points = Int32.Parse(substrings[1]);
                     result.Shots  = Int32.Parse(substrings[2]);
                     context.MateuszThomas_Results.Add(result);
                     context.SaveChanges();
                 }
                 fileWithResult.Close();
                 textBoxFileWithResult.Text = "";
             }
             catch
             {
                 MessageBox.Show("Niepoprawny format wybranego pliku lub brak pliku. Plik z danymi musi być w formacie .csv.");
             }
         }
         catch
         {
             MessageBox.Show("Nie można odczytać pliku.");
         }
     }
     else
     {
         MessageBox.Show("Brak połączenia z baza danych. Sprawdź połaczenie z internetem.");
     }
 }
コード例 #3
0
ファイル: Result.cs プロジェクト: mattho1/MonsterShooter
 /// <summary>
 /// Usunięcie wyników z bazy danych.
 /// </summary>
 private void RemoveResults()
 {
     if (isConnectedWithDatabase)
     {
         List <MateuszThomas_Results> results = (from result in context.MateuszThomas_Results select result).ToList();
         for (int i = results.Count - 1; i >= 0; i--)
         {
             MateuszThomas_Results result = results[i];
             context.MateuszThomas_Results.Remove(result);
             context.SaveChanges();
         }
         labelBestResult.Text     = "brak";
         labelNameBestPlayer.Text = "brak";
     }
     else
     {
         MessageBox.Show("Brak połączenia z baza danych. Sprawdź połaczenie z internetem.");
     }
 }
コード例 #4
0
ファイル: Result.cs プロジェクト: mattho1/MonsterShooter
        /// <summary>
        /// Pobranie wyników z bazy danych i załadowanie do datagrid.
        /// </summary>
        private void LoadResultFromDatabase()
        {
            BlockForm             blockForm    = new BlockForm(LockForm);
            DisplayLabelStatement displayLabel = new DisplayLabelStatement(DisplayStatement);

            this.BeginInvoke(blockForm, false);
            this.BeginInvoke(displayLabel, true);
            try
            {
                MateuszThomas_Results testObject = context.MateuszThomas_Results.FirstOrDefault();
                if (testObject != null)
                {
                    int maxPoint = (from max in context.MateuszThomas_Results select max).Max(c => c.Points);
                    List <MateuszThomas_Results> bestPlayers = (from players in context.MateuszThomas_Results where players.Points == maxPoint select players).ToList();
                    int minNumberShot = bestPlayers.Min(c => c.Shots);
                    MateuszThomas_Results bestPlayer = bestPlayers.Where(c => c.Shots == minNumberShot).First();
                    if (bestPlayer != null)
                    {
                        ChangeTextLabel changeBestResult = new ChangeTextLabel(UpdateLabelPoints);
                        ChangeTextLabel changeBestPlayer = new ChangeTextLabel(UpdateLabelBestPlayer);
                        labelPoints.BeginInvoke(changeBestResult, bestPlayer.Points.ToString());
                        labelNameBestPlayer.BeginInvoke(changeBestPlayer, bestPlayer.Name);
                    }
                }
                var results = (from result in context.MateuszThomas_Results select result).ToList();
                UpdateDatagridviewFromList updateDatagridview = new UpdateDatagridviewFromList(UpdateDatagridviewFormOnlinedatabase);
                dataGridViewResults.BeginInvoke(updateDatagridview, results.OrderByDescending(r => r.Points).ToList());
                isConnectedWithDatabase = true;
            }
            catch
            {
                isConnectedWithDatabase = false;
                MessageBox.Show("Brak połączenia z baza dnaych. Sprawdź połaczenie z internetem. Dane zostaną wczytane z lokalnego pliku.");
                LoadDataFromLocalFile();
            }
            this.BeginInvoke(displayLabel, false);
            this.BeginInvoke(blockForm, true);
        }