// TODO: Need separate methods to get and update public static string Update(DropDownList comboWorkingHours, string workingHours, bool addToVocabulary) { workingHours = workingHours.Trim(); var workingHoursNonEmpty = !string.IsNullOrWhiteSpace(workingHours); if (comboWorkingHours.SelectedIndex <= 0 || workingHoursNonEmpty) { // TODO: Shouldn't we try to add term after updating main item? if (addToVocabulary && workingHoursNonEmpty) { // try add new term to working hours vocabulary var vocCtrl = new VocabularyController(); var voc = vocCtrl.GetVocabularies().SingleOrDefault(v => v.Name == UniversityConfig.Instance.Vocabularies.WorkingHours); if (voc != null) { var termCtrl = new TermController(); termCtrl.AddTerm(new Term(workingHours, "", voc.VocabularyId)); vocCtrl.ClearVocabularyCache(); } } return(workingHours); } // else: get working hours from a combo return(comboWorkingHours.SelectedItem.Text); }