protected override async void OnPropertiesBuild(PropertiesBuilder <Tour> propertiesBuilder) { List <Layner> layners; while (true) { try { layners = dbContext.Layners.AsNoTracking().ToList(); break; } catch (Exception) { await Task.Delay(500); } } propertiesBuilder.AddStringProperty(x => x.Name, "Название тура", y => y.NotEmpty().NotNull()); propertiesBuilder.AddValueTypeProperty(x => x.Cost, "Стоимость (р.)", y => y.MoreEquialThan(0)); propertiesBuilder.AddStringProperty(x => x.Desctiprion, "Описание тура", y => y.NotNull()).UseControl(new TextBox { TextWrapping = System.Windows.TextWrapping.Wrap }); propertiesBuilder.AddValueTypeProperty(x => x.ChildCost, "Стоимость за ребенка (р.)", y => y.MoreEquialThan(0)); var combo = new ComboBox { ItemsSource = layners, SelectedValuePath = "Id", DisplayMemberPath = "Name" }; combo.SetBinding(ComboBox.SelectedValueProperty, "LaynerId"); propertiesBuilder.AddValueTypeProperty(x => x.LaynerId, "Лайнер", y => y.MoreThan(0, "Лайнер должен быть выбран")).UseCombobox <ComboBox, Layner>(layners, x => x.Id, x => x.Name); propertiesBuilder.AddValueTypeProperty(x => x.DaysCount, "Кол-во дней", y => y.MoreEquialThan(1)); propertiesBuilder.AddValueTypeProperty(x => x.StartDate, "Дата отплытия", y => y.MoreEquialThan(DateTime.Now)). UseControl <DatePicker>(new DatePicker { DisplayDateStart = DateTime.Now.AddDays(1) }, bindingProp: DatePicker.SelectedDateProperty); propertiesBuilder.AddStringProperty(x => x.StartPlace, "Место отплытия", y => y.NotNull().NotEmpty()); propertiesBuilder.AddStringProperty(x => x.ImageName, "Название изображения (включая расширение)", y => y.Regex("\\w+\\.png", errorMessage: "Название изображения должно включать расширение (.png или .jpeg или .jpg)"). Or.Regex("\\w+\\.jpg"). Or.Regex("\\w+\\.jpeg")); }
protected override void OnPropertiesBuild(PropertiesBuilder <Insurance> propertiesBuilder) { propertiesBuilder.AddStringProperty(x => x.Name, "Название", y => y.NotNull().NotEmpty()); propertiesBuilder.AddValueTypeProperty(x => x.Cost, "Стоимость", y => y.MoreEquialThan(0)); }