public void GetValuesFromText_WhenSingleValueIncludesDelimiters_ReturnsListOfOne() { var list = FieldInstance.GetMultipleValuesFromText(" ; ;Ford ; ;;").ToList(); Assert.AreEqual(1, list.Count); Assert.IsTrue(list.Contains("Ford")); }
/// ------------------------------------------------------------------------------------ /// <summary> /// We get this message from the person informant when a person's UI ID has changed. /// When that happens, we just need to update the Text in the participant control. No /// change is needed (or desirable) in the underlying metadata. /// </summary> /// ------------------------------------------------------------------------------------ private void HandlePersonsUiIdChanged(object sender, ElementIdChangedArgs e) { var allParticipants = FieldInstance.GetMultipleValuesFromText(_participants.Text); var newNames = allParticipants.Select(name => (name == e.OldId ? e.NewId : name)); _participants.Text = FieldInstance.GetTextFromMultipleValues(newNames); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Replace comma with correct delimiter in MultiValueDropDownBox. Translate full names /// of persons into strings acceptable to show in UI (use "code" instead of Full Name /// when available). /// </summary> /// ------------------------------------------------------------------------------------ private void HandleBinderTranslateBoundValueBeingRetrieved(object sender, TranslateBoundValueBeingRetrievedArgs args) { if (!(args.BoundControl is MultiValueDropDownBox)) { return; } if (args.ValueFromFile.Contains(",")) { args.TranslatedValue = args.ValueFromFile.Replace(",", FieldInstance.kDefaultMultiValueDelimiter.ToString(CultureInfo.InvariantCulture)); } if (args.BoundControl == _participants) { var val = args.TranslatedValue ?? args.ValueFromFile; if (!string.IsNullOrEmpty(val)) { var participantNames = FieldInstance.GetMultipleValuesFromText(val).ToArray(); for (int index = 0; index < participantNames.Length; index++) { participantNames[index] = _personInformant.GetUiIdByName(participantNames[index]); } args.TranslatedValue = FieldInstance.GetTextFromMultipleValues(participantNames); } } }
public void GetValuesFromText_WhenMultipleValues_ReturnsThem() { var list = FieldInstance.GetMultipleValuesFromText("Ford ; ;Chevy ; Pontiac;;").ToList(); Assert.AreEqual(3, list.Count); Assert.IsTrue(list.Contains("Ford")); Assert.IsTrue(list.Contains("Chevy")); Assert.IsTrue(list.Contains("Pontiac")); }
/// ------------------------------------------------------------------------------------ private bool GetShouldReportHaveConsent() { var allParticipants = MetaDataFile.GetStringValue(SessionFileType.kParticipantsFieldName, string.Empty); var personNames = FieldInstance.GetMultipleValuesFromText(allParticipants).ToArray(); bool allParticipantsHaveConsent = personNames.Length > 0; return(personNames.All(name => _personInformant.GetHasInformedConsent(name)) && allParticipantsHaveConsent); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Sets the checked items from the specified string delimited by the default /// delimiter character. All other items in the list are made unchecked. /// </summary> /// ------------------------------------------------------------------------------------ public void SetCheckedItemsFromDelimitedString(string items) { foreach (var item in _items) { item.Checked = false; } foreach (var text in FieldInstance.GetMultipleValuesFromText(items)) { CheckItem(text); } }
/// ------------------------------------------------------------------------------------ /// <summary> /// When the binding helper gets to writing field values to the metadata file, we need /// to make sure the English values for male and female are written to the file, not /// the localized values for male and female (which is what is in the gender combo box). /// </summary> /// ------------------------------------------------------------------------------------ private void HandleBinderTranslateBoundValueBeingSaved(object sender, TranslateBoundValueBeingSavedArgs args) { if (args.BoundControl == _participants) { var participantNames = FieldInstance.GetMultipleValuesFromText(_participants.Text).ToArray(); for (int index = 0; index < participantNames.Length; index++) { var person = _personInformant.GetPersonByNameOrCode(participantNames[index]); if (person != null) { participantNames[index] = person.Id; } } args.NewValue = FieldInstance.GetTextFromMultipleValues(participantNames); } }
public void GetValuesFromText_WhenValueIsNull_ReturnsEmptyList() { Assert.AreEqual(0, FieldInstance.GetMultipleValuesFromText(null).Count()); }
public void GetValuesFromText_WhenValueIsEmptyString_ReturnsEmptyList() { Assert.AreEqual(0, FieldInstance.GetMultipleValuesFromText(string.Empty).Count()); }
/// ------------------------------------------------------------------------------------ public virtual IEnumerable <string> GetAllParticipants() { var allParticipants = MetaDataFile.GetStringValue(SessionFileType.kParticipantsFieldName, string.Empty); return(FieldInstance.GetMultipleValuesFromText(allParticipants)); }