public pgEditPerformers() { InitializeComponent(); btnBack = (Button)myStackLayout.Children[2]; foreach (string name in InfoStore.getPerformerNames()) { pckPerformers.Items.Add(name); } pckPerformers.Items.Add("Add New Performer"); if (Device.RuntimePlatform == Device.Android) { backButton.IsVisible = false; } }
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(); }