예제 #1
0
        private void _btnSelect_Click(object sender, RoutedEventArgs e)
        {
            List <Firework> fireworkList = new List <Firework>();

            foreach (var firework in _dvFireworks.SelectedItems)
            {
                fireworkList.Add((Firework)firework);
            }

            if (fireworkList.Count == 0)
            {
                DialogBoxHelper.ShowWarningMessage("Veuillez sélectionner au moins un feu d'artifice");
                return;
            }

            foreach (Firework fr in fireworkList)
            {
                Firework alreadyThere = _line.Fireworks.FirstOrDefault(f => f.Reference == fr.Reference);

                if (alreadyThere != null)
                {
                    DialogBoxHelper.ShowWarningMessage(string.Format("Le feu d'artifice avec la référence {0} est déjà associé à cette ligne", alreadyThere.Reference));
                    return;
                }
            }

            foreach (Firework fr in fireworkList)
            {
                Firework fireworkClone = fr.GetClone();
                _fireworkManager.AddFireworkToLine(fireworkClone, _line);
            }

            this.Close();
        }
예제 #2
0
        /// <summary>
        /// Returns true/false whether line has been deleted or not
        /// </summary>
        /// <param name="line"></param>
        /// <returns></returns>
        public bool DeleteLine(Line line)
        {
            if (line == null)
            {
                DialogBoxHelper.ShowWarningMessage("Veuillez sélectionner une ligne à supprimer.");
            }
            else
            {
                string message = string.Format("Validez-vous la suppression de la ligne {0} ?.{1}Attention, les lignes seront réordonnées.", line.Number, Environment.NewLine);

                if (line.Fireworks.Count > 0)
                {
                    message = string.Format("La ligne {0} est associée à des artifices. Les associations seront supprimées et les lignes seront réordonnées.{1}Voulez-vous continuer ?", line.Number, Environment.NewLine);
                }

                if (DialogBoxHelper.ShowQuestionMessage(message) == MessageBoxResult.Yes)
                {
                    //Delete line!!
                    _fireworkManager.DeleteLine(line);
                    return(true);
                }
            }

            return(false);
        }
예제 #3
0
        //private void FireworkManager_PropertyChanged(object sender, PropertyChangedEventArgs e)
        //{
        //TODO : A revoir

        /*if (e.PropertyName == "IsDirty")
         * {
         *
         *  //Firework has changed so control panel must be reset
         *  RefreshControlPanelUI(RefreshControlPanelEventType.FireworkModifiedEvent);
         * }*/
        //  }

        /// <summary>
        /// Occurs when fireworks is finished
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FireworkManager_FireworkFinished(object sender, EventArgs e)
        {
            //Refresh control panel possibility
            RefreshControlPanelUI();

            string message = "Le feu d'artifice est terminé !\r\n\r\n" + _fireworkManager.GetFireworkStatistics();

            DialogBoxHelper.ShowInformationMessage(message);
        }
예제 #4
0
 public void LaunchFailedLine(string lineNumber)
 {
     try
     {
         _fireworkManager.LaunchFailedLine(lineNumber);
     }
     catch (CannotLaunchLineException ex)
     {
         DialogBoxHelper.ShowErrorMessage(ex.Message);
     }
 }
예제 #5
0
 /// <summary>
 /// Save firework definition in k4 format
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void MiSave_Click(object sender, EventArgs e)
 {
     try
     {
         _viewModel.SaveFirework();
     }
     catch
     {
         DialogBoxHelper.ShowErrorMessage("Une erreur est apparue lors de la sauvegarde du fichier k4");
     }
 }
예제 #6
0
 /// <summary>
 /// Saves firework with current name
 /// </summary>
 public void SaveFirework()
 {
     if (FireworkManager.IsNew)
     {
         SaveAsFirework();
     }
     else
     {
         _fireworkManager.SaveFirework();
         DialogBoxHelper.ShowInformationMessage("Enregistrement effectué avec succès");
     }
 }
        //TODO : ajouter un row context menu avec options ajout, delete, modify) à la gridview (voir exemple telerik)

        private void BtnAlterLine_Click(object sender, RoutedEventArgs e)
        {
            if (_fireworkGridView.SelectedItem is Line line)
            {
                _viewModel.OpenLineWindow(line);
                //Rebind needed to refresh datagrid to refresh line number on the ui
                _fireworkGridView.Rebind();
            }
            else
            {
                DialogBoxHelper.ShowWarningMessage("Veuillez sélectionner une ligne");
            }
        }
예제 #8
0
        private void TestConductivite(object ra)
        {
            if (_selectedTestReceptor.IsCondTestRunning)
            {
                DialogBoxHelper.ShowWarningMessage("Un test est déjà en cours d'éxécution !");
                return;
            }

            if (ra is ReceptorAddress receptorAddress)
            {
                _selectedTestReceptor.TestConductivite(receptorAddress);
            }
        }
예제 #9
0
        /// <summary>
        /// Save modification
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void _btnSave_Click(object sender, RoutedEventArgs e)
        {
            bool isFormValid = !Validation.GetHasError(_mkeIgnition);

            if (isFormValid)
            {
                _viewModel.Save();

                this.Close();
            }
            else
            {
                DialogBoxHelper.ShowErrorMessage("Il existe des erreurs dans le formulaire. Merci de corriger.");
            }
        }
예제 #10
0
        public void KeyPress(Key key)
        {
            try
            {
                switch (key)
                {
                case Key.NumPad1:
                    _fireworkManager.LaunchRescueLine("1");
                    break;

                case Key.NumPad2:
                    _fireworkManager.LaunchRescueLine("2");
                    break;

                case Key.NumPad3:
                    _fireworkManager.LaunchRescueLine("3");
                    break;

                case Key.NumPad4:
                    _fireworkManager.LaunchRescueLine("4");
                    break;

                case Key.NumPad5:
                    _fireworkManager.LaunchRescueLine("5");
                    break;

                case Key.NumPad6:
                    _fireworkManager.LaunchRescueLine("6");
                    break;

                case Key.NumPad7:
                    _fireworkManager.LaunchRescueLine("7");
                    break;

                case Key.NumPad8:
                    _fireworkManager.LaunchRescueLine("8");
                    break;

                case Key.NumPad9:
                    _fireworkManager.LaunchRescueLine("9");
                    break;
                }
            }
            catch (CannotLaunchLineException ex)
            {
                DialogBoxHelper.ShowErrorMessage(ex.Message);
            }
        }