private void новый_матрос_Click(object sender, RoutedEventArgs e)
 {
     if (!viewSource1.View.IsEmpty)
     {
         результаты rRow = viewSource1.View.CurrentItem as результаты;
         клТурист.выбран = false;
         список_участников выборТуриста = new список_участников();
         выборТуриста.Title         = "Выберите участника";
         выборТуриста.Выход.Content = "Отмена";
         выборТуриста.ShowDialog();
         if (выборТуриста.DialogResult == true)
         {
             экипажи eRow = de.экипажи.Single(n => n.экипаж == rRow.экипаж);
             if (eRow.туристы.Any(n => n.турист == клТурист.турист))
             {
                 MessageBox.Show("Уже есть");
             }
             else
             {
                 туристы новТур = de.туристы.Single(n => n.турист == клТурист.турист);
                 eRow.туристы.Add(новТур);
                 label1.Visibility = Visibility;
                 viewSource1.View.Refresh();
             }
         }
     }
     dataGrid1.Focus();
 }
コード例 #2
0
        private void button6_Click(object sender, EventArgs e)
        {
            if (bindingSource1.Count > 0)
            {
                результаты eRow = bindingSource1.Current as результаты;
                клТурист.выбран = false;
                список_участников выборТуриста = new список_участников();
                выборТуриста.Выход.Content     = " Отмена";
                выборТуриста.Title             = " Выберите участника";
                выборТуриста.наимен_слета.Text = выборТуриста.Title;
                выборТуриста.ShowDialog();
                if (выборТуриста.DialogResult == true)
                {
                    туристы tRow = de.туристы.Single(n => n.турист == клТурист.турист);

                    if (eRow.экипажи.туристы.Any(n => n.турист == tRow.турист))
                    {
                        MessageBox.Show("Уже в экипаже...");
                    }
                    else
                    {
                        eRow.экипажи.туристы.Add(tRow);
                    }

                    de.SaveChanges();
                    dataGridView1.Refresh();
                }
            }
        }
        private void вНиз_Click(object sender, RoutedEventArgs e)
        {
            if (!viewSource1.View.IsEmpty)
            {
                результаты oldRow = viewSource1.View.CurrentItem as результаты;

                int oldPor = oldRow.порядок;
                if (viewSource1.View.CurrentPosition < de.результаты.Local.Count - 1)
                {
                    viewSource1.View.MoveCurrentToNext();
                    результаты lastRow = viewSource1.View.CurrentItem as результаты;
                    int        lastPor = lastRow.порядок;
                    oldRow.порядок    = lastPor;
                    lastRow.порядок   = oldPor;
                    label1.Visibility = Visibility;
                    dataGrid1.Items.Refresh();

                    dataGrid1.Items.SortDescriptions.Clear();

                    dataGrid1.Items.SortDescriptions.Add(new SortDescription("порядок", ListSortDirection.Ascending));
                    viewSource1.View.MoveCurrentToNext();
                    label1.Visibility = Visibility;
                }
            }
            dataGrid1.Focus();
        }
コード例 #4
0
        void запуск_очередного()
        {
            if (binList.Any(n => n.забег))
            {
                результаты rRow = binList.Where(n => n.забег).OrderBy(n => n.порядок).First();
                rRow.старт  = DateTime.Now;
                rRow.финиш  = rRow.старт;
                rRow.плывут = true;
                rRow.забег  = false;

                panel2.Visible = true;
                WMPLib.WindowsMediaPlayer wmp = new WMPLib.WindowsMediaPlayer();
                wmp.URL = "СтартМ.wav";
                wmp.controls.play();

                if (!binList.Any(n => n.забег))
                {
                    timer1.Stop();
                    checkBox1.Checked = false;
                    MessageBox.Show("Старт окончен...");
                }
            }
            else
            {
                MessageBox.Show("Отметьте участников..");
            }
        }
コード例 #5
0
        private void button6_Click(object sender, EventArgs e)
        {
            if (bindingSource1.Count > 0)
            {
                результаты eRow = bindingSource1.Current as результаты;
                клТурист.выбран = false;
                выбор_туриста выборТуриста = new выбор_туриста();
                выборТуриста.ShowDialog();
                if (выборТуриста.DialogResult == true)
                {
                    туристы tRow = de.туристы.Single(n => n.турист == клТурист.турист);
                    //матросы newRow = new матросы()
                    //{
                    //    турист = клТурист.турист,
                    //    экипаж = eRow.экипаж
                    //    //туристы =клТурист.deRow,
                    //    // экипажи=eRow
                    //};

                    if (eRow.экипажи.туристы.Any(n => n.турист == tRow.турист))
                    {
                        MessageBox.Show("Уже в экипаже...");
                    }
                    else
                    {
                        eRow.экипажи.туристы.Add(tRow);
                    }
                    //      заполнить_состав(eRow);
                    //                 label1.Visible = true;
                    de.SaveChanges();
                    dataGridView1.Refresh();
                }
            }
        }
コード例 #6
0
        private void button2_Click(object sender, EventArgs e)
        {
            список_школ выборШколы = new список_школ();

            выборШколы.Выход.Content     = "Отмена";
            выборШколы.Title             = " Выберите школу";
            выборШколы.наимен_слета.Text = выборШколы.Title;
            выборШколы.ShowDialog();
            if (выборШколы.DialogResult == true)
            {
                школы выбр_школа = de.школы.Single(n => n.школа == клШкола.школа);
                суда  выбр_судно = de.суда.Single(n => n.судно == клСудно.судно);

                int maxNum = GetMaxNum();
                int maxPor = GetMaxPor();


                экипажи newЭкипаж = new экипажи()
                {
                    экипаж    = Guid.NewGuid(),
                    прим      = "",
                    номер     = maxNum + 1,
                    дистанция = клДистанция.дистанция,
                    место     = 0,
                    итог      = 0,
                    школа     = клШкола.школа,
                    школы     = выбр_школа,
                    судно     = клСудно.судно,
                    суда      = выбр_судно
                };
                de.экипажи.Local.Add(newЭкипаж);

                результаты newRow = new результаты
                {
                    итог      = 0,
                    время_сек = 0,
                    время_мин = 0,
                    попытка   = 1,
                    результат = Guid.NewGuid(),
                    секунд    = 0,
                    штраф     = 0,
                    экипаж    = newЭкипаж.экипаж,
                    экипажи   = newЭкипаж,
                    зачетный  = false,
                    порядок   = maxPor + 1,
                    старт     = DateTime.Today,
                    финиш     = DateTime.Today,
                    прим      = ""
                };


                int stroka = bindingSource1.Add(newRow);
                bindingSource1.Position = stroka;


                dataGridView1.Refresh();
            }
            //}
            dataGridView1.Focus();
        }
        private void Timer1_Tick(object sender, EventArgs e)
        {
            if (!viewSource1.View.IsEmpty)
            {
                // результаты tRow = viewSource1.View.CurrentItem as результаты;

                foreach (var dRow in dataGrid1.Items)
                {
                    результаты sRow = dRow as результаты;
                    if (sRow.плывут)
                    {
                        sRow.финиш = DateTime.Now;
                        TimeSpan rtr = (sRow.финиш - sRow.старт);
                        sRow.время_мин   = rtr.Minutes;
                        sRow.время_сек   = rtr.Seconds;
                        sRow.миллисекунд = rtr.Milliseconds;
                        Console.WriteLine(sRow.время_сек);
                    }
                }


                //foreach (результаты sRow in результатыList.Where(n => n.плывут))
                //{

                //    sRow.финиш = DateTime.Now;
                //    TimeSpan rtr = (sRow.финиш - sRow.старт);
                //    sRow.время_мин = rtr.Minutes;
                //    sRow.время_сек = rtr.Seconds;
                //    sRow.миллисекунд = rtr.Milliseconds;
                //    Console.WriteLine(sRow.время_сек);
                //}
                //    viewSource1.View.Refresh();
                //  viewSource1.View.MoveCurrentTo(tRow);
            }
        }
コード例 #8
0
        private void button8_Click(object sender, EventArgs e)
        {
            if (bindingSource1.Count > 0)
            {
                результаты oldRow = bindingSource1.Current as результаты;
                //  int oldIndex = bindingSource1.Position;

                int oldPor = oldRow.порядок;
                if (bindingSource1.Position > 0)
                {
                    bindingSource1.MovePrevious();

                    результаты lastRow = bindingSource1.Current as результаты;
                    //int lastPor = lastRow.порядок;
                    //oldRow.порядок = lastPor;
                    //lastRow.порядок = oldPor;
                    (oldRow.порядок, lastRow.порядок) = (lastRow.порядок, oldRow.порядок);
                    //       дистанции_деталейЛист.Sort((a, b) => a.порядок.CompareTo(b.порядок));
                    bindingSource1.Sort = "порядок";
                    dataGridView1.Refresh();

                    label1.Visible = true;
                }
            }
            dataGridView1.Focus();
        }
コード例 #9
0
        private void button5_Click(object sender, EventArgs e)
        {
            if (bindingSource1.Count > 0)
            {
                int maxPor = de.результаты.Local.Max(n => n.порядок);

                результаты tRow       = bindingSource1.Current as результаты;
                Guid       кодЭкипажа = tRow.экипаж;
                int        maxPop     = de.результаты.Local.Where(n => n.экипаж == tRow.экипаж).Max(n => n.попытка);

                экипажи    dRow   = de.экипажи.Local.Single(n => n.экипаж == кодЭкипажа);
                результаты нижняя = de.результаты.Local.Single(n => n.экипаж == tRow.экипаж && n.попытка == maxPop);
                int        индекс = binList.IndexOf(нижняя);

                результаты newRow = new результаты
                {
                    итог      = 0,
                    время_сек = 0,
                    время_мин = 0,
                    попытка   = maxPop + 1,
                    результат = Guid.NewGuid(),
                    секунд    = 0,
                    штраф     = 0,
                    экипаж    = tRow.экипаж,
                    экипажи   = dRow,
                    зачетный  = false,
                    порядок   = maxPor + 1,
                    старт     = DateTime.Today,
                    финиш     = DateTime.Today
                };
                //  bindingSource1.Add(newRow);
                binList.Insert(индекс + 1, newRow);
                label1.Visible = true;
            }
        }
コード例 #10
0
 private void DataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
 {
     if (e.ColumnIndex > -1 && e.RowIndex > -1)
     {
         if (dataGridView1.Columns[e.ColumnIndex] == стартColumn && e.Button == MouseButtons.Left)
         {
             dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
             результаты rRow = bindingSource1.Current as результаты;
             if (rRow.плывут)
             {
                 rRow.плывут = false;
                 пересчет();
                 dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.LawnGreen;
                 dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Blue;
             }
             else
             {
                 rRow.старт  = DateTime.Now;
                 rRow.финиш  = rRow.старт;
                 rRow.плывут = true;
                 //rRow.время_мин = 0;
                 //rRow.время_сек = 0;
                 dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.LightCyan;
                 dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Red;
                 dataGridView1.Refresh();
             }
             // Console.WriteLine(rRow.время_сек.ToString());
         }
     }
 }
        private void Удалить_Click(object sender, RoutedEventArgs e)
        {
            if (!viewSource1.View.IsEmpty)
            {
                результаты delRow = viewSource1.View.CurrentItem as результаты;
                if (delRow != null)
                {
                    Guid кодЭкипажа = delRow.экипаж;
                    var  ar         = результатыList.Where(n => n.экипаж == delRow.экипаж).ToArray();
                    foreach (результаты tRow in ar)
                    {
                        de.результаты.Remove(tRow);
                        результатыList.Remove(tRow);
                    }
                    viewSource1.View.Refresh();
                    экипажи dRow = экипажиList.Single(n => n.экипаж == кодЭкипажа);
                    de.экипажи.Remove(dRow);
                    экипажиList.Remove(dRow);

                    label1.Visibility = Visibility;
                    viewSource1.View.Refresh();
                }
            }
            dataGrid1.Focus();
        }
コード例 #12
0
        private void финишToolStripMenuItem_Click(object sender, EventArgs e)
        {
            результаты rRow = bindingSource1.Current as результаты;

            rRow.плывут = false;
            пересчет();
            //     MessageBox.Show((rRow.финиш - rRow.старт).Value.ToString());
            // dataGridView1.CurrentCell.Style.SelectionForeColor = Color.Green;
            //    dataGridView1.CurrentCell.Style.ForeColor = Color.;
        }
        private void View_CurrentChanging(object sender, CurrentChangingEventArgs e)
        {
            результаты oldRow = viewSource1.View.CurrentItem as результаты;

            if (de.Entry(oldRow).State != EntityState.Unchanged)
            {
                label1.Visibility = Visibility.Visible;
                //         пересчет();
            }
        }
コード例 #14
0
        private void стартToolStripMenuItem_Click(object sender, EventArgs e)
        {
            результаты rRow = bindingSource1.Current as результаты;

            rRow.старт  = DateTime.Now;
            rRow.финиш  = rRow.старт;
            rRow.плывут = true;

            // dataGridView1.CurrentCell.Style.SelectionForeColor = Color.Red;

            dataGridView1.Refresh();
        }
 private void очистить_Click(object sender, RoutedEventArgs e)
 {
     if (!viewSource1.View.IsEmpty)
     {
         результаты rRow = viewSource1.View.CurrentItem as результаты;
         экипажи    eRow = de.экипажи.Single(n => n.экипаж == rRow.экипаж);
         eRow.туристы.Clear();
         label1.Visibility = Visibility;
         viewSource1.View.Refresh();
     }
     dataGrid1.Focus();
 }
コード例 #16
0
 private void button7_Click(object sender, EventArgs e)
 {
     if (bindingSource1.Count > 0)
     {
         результаты eRow = bindingSource1.Current as результаты;
         if (eRow.экипажи.туристы.Any())
         {
             eRow.экипажи.туристы.Clear();
             label1.Visible = true;
         }
     }
     dataGridView1.Refresh();
     dataGridView1.Focus();
 }
コード例 #17
0
        private void button14_Click(object sender, EventArgs e)
        {
            if (bindingSource1.Count > 0)
            {
                результаты tRow = bindingSource1.Current as результаты;
                if (tRow.попытка > 1)
                {
                    bindingSource1.RemoveCurrent();

                    label1.Visible = true;
                    //  пересчет();
                }
                dataGridView1.Focus();
            }
        }
コード例 #18
0
 private void button1_Click_1(object sender, EventArgs e)
 {
     if (bindingSource1.Count > 0)
     {
         результаты tRow       = bindingSource1.Current as результаты;
         Guid       кодЭкипажа = tRow.экипаж;
         var        ar         = de.результаты.Local.Where(n => n.экипаж == tRow.экипаж).ToArray();
         foreach (результаты delRow in ar)
         {
             de.результаты.Local.Remove(delRow);
         }
         экипажи dRow = de.экипажи.Local.Single(n => n.экипаж == кодЭкипажа);
         de.экипажи.Local.Remove(dRow);
         label1.Visible = true;
     }
 }
        private void Удалить_поп_Click(object sender, RoutedEventArgs e)
        {
            if (!viewSource1.View.IsEmpty)
            {
                результаты tRow = viewSource1.View.CurrentItem as результаты;
                if (tRow.попытка > 1)
                {
                    de.результаты.Remove(tRow);
                    результатыList.Remove(tRow);

                    label1.Visibility = Visibility.Visible;
                    viewSource1.View.Refresh();
                    //  пересчет();
                }
            }
            dataGrid1.Focus();
        }
コード例 #20
0
        private void штрафы1время_Load(object sender, EventArgs e)
        {
            оРезультаты   = (результаты)this.Tag;
            кодРезультата = оРезультаты.результат;

            try
            {
                de.этапы.Where(n => n.дистанция == кодДистанции).OrderBy(n => n.порядок).Load();
                de.штрафы.Where(n => n.результат == кодРезультата).OrderBy(n => n.этапы.порядок).Load();
                //    bindingSource1.DataSource = de.штрафы.Local.ToBindingList();
                foreach (этапы eRow in de.этапы.Local)
                {
                    temp newTemp = new temp()
                    {
                        наимен = eRow.наимен,
                        прим   = "",
                        секунд = 0,
                        этап   = eRow.этап
                    };
                    tempList.Add(newTemp);
                }
                Dictionary <Guid, temp> tempDic = tempList.ToDictionary(n => n.этап);
                foreach (штрафы sRow in de.штрафы.Local)
                {
                    if (tempDic.ContainsKey(sRow.этап))
                    {
                        tempDic[sRow.этап].секунд = sRow.секунд;
                        tempDic[sRow.этап].прим   = sRow.прим;
                    }
                }
                пересчет();
                bindingSource1.DataSource = tempList;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ошибка загрузки " + ex.Message);
            }
            timer1.Start();
            timer1.Tick += Timer1_Tick;
            bindingSource1.ListChanged += BindingSource1_ListChanged;
            FormClosed += Штрафы1время_FormClosed;
        }
コード例 #21
0
        private void DataGridView1_CellValidated(object sender, DataGridViewCellEventArgs e)
        {
            DataGridViewTextBoxColumn[] aCol = new DataGridViewTextBoxColumn[1] {
                секColumn
            };
            результаты tRow = bindingSource1.Current as результаты;

            if (aCol.Contains(dataGridView1.Columns[e.ColumnIndex]))
            {
                var results = new List <ValidationResult>();
                var context = new ValidationContext(tRow);
                if (!Validator.TryValidateObject(tRow, context, results, true))
                {
                    foreach (var error in results)
                    {
                        // Console.WriteLine(error.ErrorMessage);
                        MessageBox.Show(error.ErrorMessage);
                        tRow.время_сек = 0;
                    }
                }  // Куда это запихать?
            }
        }
        private void новая_поп_Click(object sender, RoutedEventArgs e)
        {
            if (!viewSource1.View.IsEmpty)
            {
                int maxPor = результатыList.Max(n => n.порядок);

                результаты tRow       = viewSource1.View.CurrentItem as результаты;
                Guid       кодЭкипажа = tRow.экипаж;
                int        maxPop     = результатыList.Max(n => n.попытка);

                экипажи    dRow   = экипажиList.Single(n => n.экипаж == кодЭкипажа);
                результаты нижняя = результатыList.Single(n => n.экипаж == tRow.экипаж && n.попытка == maxPop);
                int        индекс = результатыList.IndexOf(нижняя);

                результаты newRow = new результаты
                {
                    итог      = 0,
                    время_сек = 0,
                    время_мин = 0,
                    попытка   = maxPop + 1,
                    результат = Guid.NewGuid(),
                    секунд    = 0,
                    штраф     = 0,
                    экипаж    = tRow.экипаж,
                    экипажи   = dRow,
                    зачетный  = false,
                    порядок   = maxPor + 1,
                    старт     = DateTime.Today,
                    финиш     = DateTime.Today
                };

                результатыList.Insert(индекс + 1, newRow);
                de.результаты.Add(newRow);
                label1.Visibility = Visibility.Visible;
                viewSource1.View.MoveCurrentTo(newRow);
                viewSource1.View.Refresh();
            }
            dataGrid1.Focus();
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            результаты rRow = viewSource1.View.CurrentItem as результаты;
            Button     bt   = (Button)sender;

            //   bt.Content = "Финиш";

            if (rRow.плывут)
            {
                rRow.плывут = false;
                //  пересчет();
                bt.Content = "Старт";
            }
            else
            {
                rRow.старт  = DateTime.Now;
                rRow.финиш  = rRow.старт;
                rRow.плывут = true;
                bt.Content  = "Финиш" + rRow.миллисекунд.ToString();
            }
            //viewSource1.View.Refresh();
        }
コード例 #24
0
        private void button9_Click(object sender, EventArgs e)
        {
            if (bindingSource1.Count > 0)
            {
                результаты oldRow = bindingSource1.Current as результаты;

                int oldPor = oldRow.порядок;
                if (bindingSource1.Position < bindingSource1.Count - 1)
                {
                    bindingSource1.MoveNext();
                    результаты lastRow = bindingSource1.Current as результаты;
                    int        lastPor = lastRow.порядок;
                    oldRow.порядок      = lastPor;
                    lastRow.порядок     = oldPor;
                    bindingSource1.Sort = "порядок";

                    //   результаты_деталейЛист.Sort((a, b) => a.порядок.CompareTo(b.порядок));
                    dataGridView1.Refresh();
                    label1.Visible = true;
                }
            }
            dataGridView1.Focus();
        }
        //     System.Windows.Forms.Timer timer2 = new System.Windows.Forms.Timer();

        // System.Threading.Timer timer1;
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                //    deДистанция = клДистанция.deRow;
                //кодДистанции = deДистанция.дистанция;
                //   viewSource1 = new CollectionViewSource();
                de.экипажи.Where(n => n.дистанция == клДистанция.дистанция)
                .OrderBy(n => n.номер).Load();
                de.результаты.Where(n => n.экипажи.дистанция == клДистанция.дистанция)
                .OrderBy(n => n.порядок).ThenBy(n => n.экипажи.номер).ThenBy(n => n.попытка).Load();

                //   binList = de.результаты.Local.ToBindingList();

                foreach (экипажи eRow in de.экипажи.Local)
                {
                    if (de.результаты.Local.Where(n => n.экипаж == eRow.экипаж).Count() == 0)
                    {
                        int maxPor = 0;
                        if (de.результаты.Local.Any())
                        {
                            maxPor = de.результаты.Local.Max(n => n.порядок);
                        }
                        результаты newRow = new результаты
                        {
                            итог      = 0,
                            время_сек = 0,
                            время_мин = 0,
                            попытка   = 1,
                            результат = Guid.NewGuid(),
                            секунд    = 0,
                            штраф     = 0,
                            экипаж    = eRow.экипаж,
                            экипажи   = eRow,
                            зачетный  = false,
                            порядок   = maxPor + 1,
                            старт     = DateTime.Today,
                            финиш     = DateTime.Today,
                            прим      = ""
                        };


                        de.результаты.Local.Add(newRow);
                    }
                }


                //       timer1 = new System.Threading.Timer()

                viewSource1.Source    = de.результаты.Local.ToBindingList();
                dataGrid1.ItemsSource = viewSource1.View;
                наимен_слета.Text     = "Результаты " + клДистанция.наимен + "   " + клСлет.наимен;

                пересчет();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ошибка загрузки " + ex.Message);
            }



            //   TimeSpan ts = new TimeSpan(0,0,0,0,100);
            //        System.Threading.TimerCallback timerCallback = new System.Threading.TimerCallback(Timer1_Tick());
            timer1.Interval = 1000;
            timer1.Start();

            timer1.Tick += Timer1_Tick;

            //    timer2.Interval = 100;
            ////    timer2.Start();
            //    timer2.Tick += Timer2_Tick;

            this.Closed += Список_школ_Closed;
            viewSource1.View.CollectionChanged += View_CollectionChanged;
            //   dataGrid1.CellEditEnding += DataGrid1_CellEditEnding;
            //    de.результаты.Local.CollectionChanged += Local_CollectionChanged;
            //      viewSource1.View.CurrentChanging += View_CurrentChanging;

            dataGrid1.CellEditEnding      += DataGrid1_CellEditEnding;
            dataGrid1.MouseLeftButtonDown += DataGrid1_MouseLeftButtonDown;
            //  this.стартColumn.

            //  результаты.Moving += Результаты_Moving;
        }
        private void новая_Click(object sender, RoutedEventArgs e)
        {
            клШкола.выбран = false;
            список_школ выборШколы = new список_школ();

            выборШколы.ShowDialog();
            if (выборШколы.DialogResult == true)
            {
                список_судов выборСудов = new список_судов();
                выборСудов.ShowDialog();
                if (выборСудов.DialogResult == true)
                {
                    int maxPor = 0;
                    if (de.экипажи.Local.Any())
                    {
                        maxPor = de.экипажи.Local.Max(n => n.номер);
                    }
                    школы   выбр_школа = de.школы.Single(n => n.школа == клШкола.школа);
                    суда    выбр_судно = de.суда.Single(n => n.судно == клСудно.судно);
                    экипажи newRow     = new экипажи
                    {
                        номер     = maxPor + 1,
                        экипаж    = Guid.NewGuid(),
                        прим      = "",
                        школа     = клШкола.школа,
                        итог      = 0,
                        место     = 0,
                        дистанция = клДистанция.дистанция,
                        школы     = выбр_школа,
                        судно     = клСудно.судно,
                        суда      = выбр_судно
                    };

                    int maxPor3 = 0;
                    if (de.результаты.Local.Any())
                    {
                        maxPor3 = de.результаты.Local.Max(n => n.номер);
                    }

                    de.экипажи.Local.Add(newRow);
                    результаты newRez = new результаты()
                    {
                        зачетный  = false,
                        итог      = 0,
                        время_сек = 0,
                        время_мин = 0,
                        попытка   = 1,
                        порядок   = maxPor3,
                        результат = Guid.NewGuid(),
                        секунд    = 0,
                        старт     = DateTime.Today,
                        финиш     = DateTime.Today,
                        штраф     = 0,
                        экипаж    = newRow.экипаж,
                        прим      = ""
                    };
                    de.результаты.Local.Add(newRez);
                    label1.Visibility = Visibility.Visible;
                }
            }
        }
コード例 #27
0
        //private void DataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        //{

        //    //if (dataGridView1.Columns[e.ColumnIndex] == примColumn)
        //    //{
        //    //    if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == null)
        //    //    {
        //    //        dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "";
        //    //    }
        //    //}
        //    DataGridViewTextBoxColumn[] aCol = new DataGridViewTextBoxColumn[3] {секColumn, минColumn, штрафColumn };


        //    if (aCol.Contains(dataGridView1.Columns[e.ColumnIndex]) )
        //    {
        //        if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == null)
        //        {
        //            dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = 0;
        //        }
        //    }

        //}

        private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
            {
                if (dataGridView1.Columns[e.ColumnIndex] == стартColumn)
                {
                    dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
                    результаты rRow = bindingSource1.Current as результаты;

                    if (rRow.плывут)
                    {
                        WMPLib.WindowsMediaPlayer wmp = new WMPLib.WindowsMediaPlayer();
                        wmp.URL = "ФинишЖ.wav";

                        wmp.controls.play();
                        rRow.плывут = false;
                        пересчет();
                        dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.LawnGreen;
                        dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Blue;
                    }
                    else
                    {
                        if (rRow.забег)
                        {
                            WMPLib.WindowsMediaPlayer wmp = new WMPLib.WindowsMediaPlayer();
                            wmp.URL = "СтартЖ.wav";

                            wmp.controls.play();

                            rRow.старт     = DateTime.Now;
                            rRow.финиш     = rRow.старт;
                            rRow.плывут    = true;
                            rRow.секунд    = 0;
                            rRow.время_мин = 0;
                            rRow.время_сек = 0;
                            dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.LightCyan;
                            dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Red;
                            dataGridView1.Refresh();
                            rRow.забег = false;
                        }
                        else
                        {
                            MessageBox.Show("Не готов");
                        }
                    }
                }
                if (dataGridView1.Columns[e.ColumnIndex] == забегColumn)
                {
                    dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
                    результаты rRow = bindingSource1.Current as результаты;

                    if (!rRow.плывут)
                    {
                        if (!rRow.забег)
                        {
                            if (rRow.итог > 0)
                            {
                                if (MessageBox.Show("Очистить результаты ?", "Внимание", MessageBoxButtons.YesNo) == DialogResult.Yes)
                                {
                                    WMPLib.WindowsMediaPlayer wmp = new WMPLib.WindowsMediaPlayer();
                                    wmp.URL = "ВниманиеЖ.wav";

                                    wmp.controls.play();

                                    rRow.время_мин = 0;
                                    rRow.время_сек = 0;
                                    rRow.секунд    = 0;
                                    rRow.штраф     = 0;
                                    rRow.забег     = true;

                                    штрафы[] aRow = rRow.штрафы.ToArray();

                                    foreach (штрафы delRow in aRow)
                                    {
                                        de.штрафы.Local.Remove(delRow);
                                    }
                                    //  обновитьШтрафы();
                                    пересчет();
                                }
                                else
                                {
                                    rRow.забег = false;
                                }
                                dataGridView1.Refresh();
                            }
                            else
                            {
                                WMPLib.WindowsMediaPlayer wmp = new WMPLib.WindowsMediaPlayer();
                                wmp.URL = "ВниманиеЖ.wav";
                                wmp.controls.play();
                                rRow.забег = true;
                            }
                        }
                        else
                        {
                            rRow.забег = false;
                        }
                    }
                }
                //}
            }
        }
コード例 #28
0
        private void окно1судно_Load(object sender, EventArgs e)
        {
            this.Text   = $"Результаты на   {клДистанция.deRow.наимен}  {клСлет.наимен} {клСудно.наимен}";
            label2.Text = this.Text;
            try
            {
                de.экипажи.Where(n => n.дистанция == клДистанция.дистанция)
                .Where(n => n.судно == клСудно.судно)
                .OrderBy(n => n.номер).Load();

                de.результаты.Where(n => n.экипажи.дистанция == клДистанция.дистанция)
                .Where(n => n.экипажи.судно == клСудно.судно)
                .OrderBy(n => n.порядок).ThenBy(n => n.экипажи.номер).ThenBy(n => n.попытка).Load();

                //    de.этапы.Where(n => n.дистанция == клДистанция.дистанция).OrderBy(n => n.порядок).Load();
                //    de.штрафы.Where(n => n.результаты.экипажи.дистанция == клДистанция.дистанция).Load();
                //   DicШтрафы = de.штрафы.Local.ToDictionary(n => ( n.результат, n.этап));

                de.суда.OrderBy(n => n.порядок).Load();

                //создать_таблицу();

                //dataGridView2.AutoGenerateColumns = true;
                //bindingSource2.DataSource = dt;
                //initGrid2();

                binList = de.результаты.Local.ToBindingList();


                foreach (экипажи eRow in de.экипажи.Local)
                {
                    if (de.результаты.Local.Where(n => n.экипаж == eRow.экипаж).Count() == 0)
                    {
                        int maxPor = 0;
                        if (de.результаты.Local.Any())
                        {
                            maxPor = de.результаты.Local.Max(n => n.порядок);
                        }
                        результаты newRow = new результаты
                        {
                            итог      = 0,
                            время_сек = 0,
                            время_мин = 0,
                            попытка   = 1,
                            результат = Guid.NewGuid(),
                            секунд    = 0,
                            штраф     = 0,
                            экипаж    = eRow.экипаж,
                            экипажи   = eRow,
                            зачетный  = false,
                            порядок   = maxPor + 1,
                            старт     = DateTime.Today,
                            финиш     = DateTime.Today,
                            прим      = "",
                            плывут    = false
                        };


                        binList.Add(newRow);
                    }
                }

                пересчет();

                bindingSource1.DataSource = binList;
                bindingSource1.Sort       = " номер, попытка";
                клСетка.задать_ширину(dataGridView1);
                //     обновитьШтрафы();
                // задать_ширину();
                //   задать2ширину();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ошибка загрузки " + ex.Message);
            }

            timer2.Start();
            timer2.Tick += Timer2_Tick;
            FormClosing += Список_видов_FormClosing;
            bindingSource1.ListChanged += BindingSource1_ListChanged;
            //this.Text = deДистанция.наимен;
            //label2.Text = this.Text;
            //   bindingSource1.PositionChanged += BindingSource1_PositionChanged;
            //      dataGridView2.CellValueChanged += DataGridView2_CellValueChanged;
            //            dataGridView1.CellValueChanged += DataGridView1_CellValueChanged;
            dataGridView1.DataError    += DataGridView1_DataError;
            dataGridView1.CellPainting += DataGridView1_CellPainting;
            // dataGridView1.CellMouseClick += DataGridView1_CellMouseClick;
            dataGridView1.EditingControlShowing += dataGridView1_EditingControlShowing;
            dataGridView1.CellContentClick      += DataGridView1_CellContentClick;
            //    dataGridView1.CellValueChanged += DataGridView1_CellValueChanged;
            dataGridView1.CellValidated  += DataGridView1_CellValidated;
            dataGridView1.CellValidating += DataGridView1_CellValidating;
        }
コード例 #29
0
        private void button13_Click(object sender, EventArgs e)
        {
            выборVучастников выборТуриста = new выборVучастников();

            выборТуриста.ShowDialog();
            if (выборТуриста.DialogResult == true)
            {
                суда выбр_судно = de.суда.Single(n => n.судно == клСудно.судно);

                int строка = 0;
                foreach (туристы tur in клТурист.turList)
                {
                    клШкола.школа = tur.школа;
                    школы выбр_школа = de.школы.Single(n => n.школа == клШкола.школа);
                    int   maxPor     = GetMaxPor();

                    экипажи newRow = new экипажи()
                    {
                        экипаж    = Guid.NewGuid(),
                        прим      = "",
                        номер     = maxPor + 1,
                        дистанция = клДистанция.дистанция,
                        место     = 0,
                        итог      = 0,
                        школа     = клШкола.школа,
                        школы     = выбр_школа,
                        судно     = клСудно.судно,
                        суда      = выбр_судно
                    };

                    туристы tRow = de.туристы.Single(n => n.турист == tur.турист);


                    newRow.туристы.Add(tRow);

                    de.экипажи.Add(newRow);

                    int махПор = 0;
                    if (de.результаты.Local.Any())
                    {
                        махПор = de.результаты.Local.Max(n => n.порядок);
                    }
                    результаты новРез = new результаты
                    {
                        время_мин = 0,
                        время_сек = 0,
                        зачетный  = false,
                        итог      = 0,
                        попытка   = 1,
                        порядок   = махПор + 1,
                        результат = Guid.NewGuid(),
                        секунд    = 0,
                        штраф     = 0,
                        экипаж    = newRow.экипаж,
                        экипажи   = newRow,
                        старт     = DateTime.Today,
                        финиш     = DateTime.Today,
                        прим      = ""
                    };

                    строка = bindingSource1.Add(новРез);
                    bindingSource1.Position = строка;
                    dataGridView1.Refresh();
                    //Console.WriteLine(tRow.фамилия);
                }
                bindingSource1.Position = строка;
                dataGridView1.Refresh();
                label1.Visible = true;
            }

            dataGridView1.Focus();
        }
コード例 #30
0
        private void button10_Click(object sender, EventArgs e)
        {
            список_участников выборТуриста = new список_участников();

            выборТуриста.Выход.Content     = " Отмена";
            выборТуриста.Title             = " Выберите участника";
            выборТуриста.наимен_слета.Text = выборТуриста.Title;
            выборТуриста.ShowDialog();
            if (выборТуриста.DialogResult == true)
            {
                Guid  код_школы  = клТурист.deRow.школа;
                школы выбр_школа = de.школы.Single(n => n.школа == код_школы);
                суда  выбр_судно = de.суда.Single(n => n.судно == клСудно.судно);
                int   maxNum     = 0;
                if (de.экипажи.Local.Any())
                {
                    maxNum = de.экипажи.Local.Max(n => n.номер);
                }
                экипажи newRow = new экипажи()
                {
                    экипаж    = Guid.NewGuid(),
                    прим      = "",
                    номер     = maxNum + 1,
                    дистанция = клДистанция.дистанция,
                    место     = 0,
                    итог      = 0,
                    школа     = код_школы,
                    школы     = выбр_школа,
                    судно     = клСудно.судно,
                    суда      = выбр_судно
                };

                туристы tRow = de.туристы.Single(n => n.турист == клТурист.турист);

                newRow.туристы.Add(tRow);


                int maxPor = GetMaxPor();


                результаты newRos = new результаты
                {
                    итог      = 0,
                    время_сек = 0,
                    время_мин = 0,
                    попытка   = 1,
                    результат = Guid.NewGuid(),
                    секунд    = 0,
                    штраф     = 0,
                    экипаж    = newRow.экипаж,
                    экипажи   = newRow,
                    зачетный  = false,
                    порядок   = maxPor + 1,
                    старт     = DateTime.Today,
                    финиш     = DateTime.Today,
                    прим      = ""
                };

                int строка = bindingSource1.Add(newRos);
                bindingSource1.Position = строка;
                dataGridView1.Refresh();
                label1.Visible = true;
                //    de.SaveChanges();
            }

            dataGridView1.Focus();
        }