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"));
        }
Exemple #2
0
 protected override void OnPropertiesBuild(PropertiesBuilder <Layner> propertiesBuilder)
 {
     propertiesBuilder.AddStringProperty(x => x.Name, "Название лайнера", y => y.NotEmpty());
     propertiesBuilder.AddStringProperty(x => x.Descr, "Описание лайнера", y => y.NotNull()).UseControl(new TextBox {
         TextWrapping = System.Windows.TextWrapping.Wrap
     });
     propertiesBuilder.AddStringProperty(x => x.ImageName, "Изображение (включая расширение)",
                                         y => y.Regex("\\w+\\.png", errorMessage: "Название изображения должно включать расширение (.png или .jpeg или .jpg)").
                                         Or.Regex("\\w+\\.jpg").
                                         Or.Regex("\\w+\\.jpeg"));
 }
Exemple #3
0
 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));
 }