private void RefreshExpeditionDropDown() { _userSelectsExpedition = false; if (null == _expeditions) { _expeditions = ExpeditionServices.GetAll(); } Expeditions.DataSource = _expeditions.ToList(); Expeditions.DisplayMember = "Name"; var currentExpedition = _expeditions.Where(a => a.Current).FirstOrDefault(); int itemIndex = -1; for (int index = 0; index < Expeditions.Items.Count; index++) { var exp = (Expedition)Expeditions.Items[index]; if (exp.Id == currentExpedition.Id) { itemIndex = index; _currentExpedition = exp; break; } } Expeditions.SelectedIndex = itemIndex; PopulateSystemGrid(); _userSelectsExpedition = true; }
private void AddExpedition_Click(object sender, EventArgs e) { var addExpeditionForm = new AddExpedition(ExpeditionFormType.Add, _settings); if (addExpeditionForm.ShowDialog() == DialogResult.OK) { if (null == addExpeditionForm.Expedition) { return; } var expedition = addExpeditionForm.Expedition; var match = (from p in _expeditions where p.Name == expedition.Name select p).FirstOrDefault(); if (match != null) { return; } List <Expedition> temp = new List <Expedition>(); foreach (var exp in _expeditions) { exp.Current = false; temp.Add(exp); } ExpeditionServices.ClearExpeditionCurrentFlags(); var expSaved = ExpeditionServices.InsertExpedition(expedition); temp.Add(expSaved); _expeditions = temp; LogRichText(string.Format("Added expedition {0} ({1})...", expSaved.Name, expSaved.Id), Color.Red); RefreshExpeditionDropDown(); } }