Esempio n. 1
0
        private void ExecuteAddYardCommand()
        {
            if (!float.TryParse(InitialLandmark, out var initialLandmark))
            {
                MessageBox.Show("Baliza inicial: Valor não foi digitado corretamente\n[Valor esperado: FLOAT]", "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            if (!float.TryParse(FinalLandmark, out var finalLandmark))
            {
                MessageBox.Show("Baliza final: Valor não foi digitado corretamente\n[Valor esperado: FLOAT]", "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            if (SelectedStacks.Count == 0)
            {
                MessageBox.Show("Você precisa selecionar ao menos 1 pilha", "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            var yard = new Yard(SelectedStacks);

            yard.SetInitialLandmark(initialLandmark);
            yard.SetFinalLandmark(finalLandmark);
            yard.SetName(Name);

            if (!yard.IsValid() || mainWindowVM.Yards.Any(y => y.GetName() == Name))
            {
                MessageBox.Show("Já existe um pátio com esse nome", "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                mainWindowVM.Yards.Add(yard);
                closeAction.Invoke();
            }
        }