public void TestOnNullWithMapping() { var elem = new SelectListItemData <string> { Value = null, Text = "text" }; var data = GenericUserInterfaceModelBuilderMappings.ToSelectListItem(elem); Assert.AreEqual(elem.Text, data.Text); }
/// <summary> /// Установить выпадающий список со множественным выбором для свойства объекта /// </summary> /// <param name="selectListItems"></param> /// <returns></returns> public GenericUserInterfaceBlockBuilderForCollectionType <TItem> SetMultipleDropDownList(List <SelectListItemData <TItem> > selectListItems) { if (selectListItems is null) { throw new ArgumentNullException(nameof(selectListItems)); } ValidateForMultipleDropDownList(); Block.InterfaceType = UserInterfaceType.MultipleDropDownList; Block.DropDownData = new DropDownListData { SelectList = GenericUserInterfaceModelBuilderMappings.ToSelectListItems(selectListItems), CanAddNewItem = false }; return(this); }
public void Test() { var builder = new GenericUserInterfaceModelBuilder <SomeClass>(TestsHelper.CreateDefaultBag()); var list = new List <SelectListItemData <bool?> > { new SelectListItemData <bool?> { Selected = true, Text = "Text", } }; builder.GetBlockBuilder(x => x.Sex).SetDropDownList(list); var lastProp = builder.Result.Interface.Blocks.Last(); Assert.IsTrue(lastProp.InterfaceType == UserInterfaceType.DropDownList); TestsHelper.AssertAreEqualViaJson(GenericUserInterfaceModelBuilderMappings.ToSelectListItems(list), lastProp.DropDownData.SelectList); }
public void SelectListItems() { var tInt = new SelectListItemData <int> { Text = "SomeText", Value = 2 }; var mappedAsInt = GenericUserInterfaceModelBuilderMappings.ToSelectListItem(tInt); Assert.AreEqual(tInt.Value.ToString(), mappedAsInt.Value); var tStr = new SelectListItemData <string> { Text = "dsafa", Value = "dasa" }; var mappedAsStr = GenericUserInterfaceModelBuilderMappings.ToSelectListItem(tStr); Assert.AreEqual(tStr.Value.ToString(), mappedAsStr.Value); }
/// <summary> /// Установить блок, как выпадающий список со статическими данными /// </summary> /// <param name="selectListItems"></param> /// <returns></returns> public GenericUserInterfaceBlockBuilder <TProp> SetDropDownList(List <SelectListItemData <TProp> > selectListItems) { if (selectListItems is null) { throw new ArgumentNullException(nameof(selectListItems)); } var countOfSelected = selectListItems.Count(x => x.Selected); if (countOfSelected != 1) { throw new InvalidOperationException($"Необходимо чтобы в выпадающем списке было 1 выбранное значение. У вас их {countOfSelected}"); } DropDownListChecks(); Block.InterfaceType = UserInterfaceType.DropDownList; Block.DropDownData = new DropDownListData { SelectList = GenericUserInterfaceModelBuilderMappings.ToSelectListItems(selectListItems), CanAddNewItem = false }; return(this); }