public AddOrEditPerformerView(string selectedPerformerName, int perfIndex)
 {
     InitializeComponent();
     index = perfIndex;
     pckInAir.ItemsSource  = InfoStore.statusOptions;
     selected              = InfoStore.getPerformerByName(selectedPerformerName);
     txtDesc.Text          = selected.Description;
     txtImage.Text         = (selected.Image == "")? "https://i.imgur.com/mXv4hUL.png" : selected.Image;
     txtName.Text          = selected.Name;
     txtSchedule.Text      = selected.OrderNumber.ToString();
     pckInAir.SelectedItem = selected.InAir;
 }
        private void OrderPerformers()
        {
            Performer changed     = InfoStore.getPerformerByName(selected.Name);
            bool      newisHigher = (Convert.ToInt16(changed.OrderNumber) < Convert.ToInt16(txtSchedule.Text.Trim()));

            changed.OrderNumber = txtSchedule.Text.Trim();
            changed.Name        = txtName.Text.Trim();
            changed.Description = txtName.Text.Trim();
            changed.Image       = txtImage.Text.Trim();
            changed.InAir       = pckInAir.SelectedItem.ToString();

            if (index >= InfoStore.getPerformerNames().Count)
            {
                Database.Airshows[aSIndex].Performers.Add(changed);
            }
            else
            {
                Database.Airshows[aSIndex].Performers[index] = changed;
            }

            Database.Airshows[aSIndex].Performers = Database.Airshows[aSIndex].Performers.OrderBy(x => x.OrderNumber).ToList();


            if (!newisHigher)
            {
                for (int i = 1; i <= Database.Airshows[aSIndex].Performers.Count; i++)
                {
                    if (Convert.ToInt16(changed.OrderNumber) == Database.Airshows[aSIndex].Performers.Count && Database.Airshows[aSIndex].Performers[Database.Airshows[aSIndex].Performers.Count - 1] != changed)
                    {
                        Database.Airshows[aSIndex].Performers[Database.Airshows[aSIndex].Performers.Count - 2]             = Database.Airshows[aSIndex].Performers[Database.Airshows[aSIndex].Performers.Count - 1];
                        Database.Airshows[aSIndex].Performers[Database.Airshows[aSIndex].Performers.Count - 2].OrderNumber = Convert.ToString(Database.Airshows[aSIndex].Performers.Count - 1);
                        Database.Airshows[aSIndex].Performers[Database.Airshows[aSIndex].Performers.Count - 1]             = changed;
                    }
                    else if (!(changed.OrderNumber == Database.Airshows[aSIndex].Performers[i - 1].OrderNumber))
                    {
                        Database.Airshows[aSIndex].Performers[i - 1].OrderNumber = Convert.ToString(i);
                    }
                    else if (Database.Airshows[aSIndex].Performers[i - 1] == changed)
                    {
                        Database.Airshows[aSIndex].Performers[i - 1].OrderNumber = changed.OrderNumber;
                    }
                    else
                    {
                        Database.Airshows[aSIndex].Performers[i - 1].OrderNumber = Convert.ToString(++i);
                    }
                }
            }
            else
            {
                for (int i = 1; i <= Database.Airshows[aSIndex].Performers.Count; i++)
                {
                    if (!(changed.OrderNumber == Database.Airshows[aSIndex].Performers[i - 1].OrderNumber))
                    {
                        Database.Airshows[aSIndex].Performers[i - 1].OrderNumber = Convert.ToString(i);
                    }
                    else if (Database.Airshows[aSIndex].Performers[i - 1].Name == changed.Name)
                    {
                        Database.Airshows[aSIndex].Performers[i - 1].OrderNumber = changed.OrderNumber;
                    }
                    else
                    {
                        Database.Airshows[aSIndex].Performers[i - 1].OrderNumber = Convert.ToString(i - 1);
                    }
                }
            }
            Database.Airshows[aSIndex].Performers = Database.Airshows[aSIndex].Performers.OrderBy(x => x.OrderNumber).ToList();
        }