Beispiel #1
0
        private void CreateSampleWorker(object[] args)
        {
            SampleUtilities.RegisterFormWidget("DatePickerWidget", typeof(DatePickerField), "Samples");
            SampleUtilities.RegisterTheme(SamplesThemeName, SamplesThemePath);
            SampleUtilities.RegisterTemplate(new Guid(SamplesTemplateId), SamplesTemplateName, SamplesTemplateName, SamplesTemplatePath, SamplesThemeName);

            var result = SampleUtilities.CreatePage(new Guid(DatePickerFormWidgetPageId), DatePickerFormWidgetPageName, true);

            if (result)
            {
                SampleUtilities.SetTemplateToPage(new Guid(DatePickerFormWidgetPageId), new Guid(SamplesTemplateId));

                var controls = new Dictionary <Control, string>();

                DatePickerField dateField = new DatePickerField();
                dateField.Title = "Date:";

                controls.Add(dateField, "Body");

                FormSubmitButton submitButton = new FormSubmitButton();
                submitButton.Text = "Submit";

                controls.Add(submitButton, "Body");

                SampleUtilities.CreateForm(new Guid(DatePickerFormId), "SampleForm", "Sample Form", "Form submitted successfully. Thank you!", controls);

                FormsControl form = new FormsControl();
                form.FormId = new Guid(DatePickerFormId);

                SampleUtilities.AddControlToPage(new Guid(DatePickerFormWidgetPageId), form, "Content", "Forms Control");
            }
        }
 public void SelectDesiredDate()
 {
     DatePickerField.Click();
     for (int i = 0; i <= 5; i++)
     {
         Driver.FindElement(By.XPath("//*[@id=\"ui-datepicker-div\"]/div/a[1]/span")).Click();
     }
     SelectMarchFirst.Click();
 }
Beispiel #3
0
        private static BaseField GetDate(PbBaseControlInfo pbCtl)
        {
            PbDateTimeTextInfo pbDate = (PbDateTimeTextInfo)pbCtl;
            DatePickerField    ngDate = new DatePickerField();

            ngDate.ID         = pbDate.Id;
            ngDate.Name       = pbDate.Name;
            ngDate.FieldLabel = pbDate.LeftText;
            ngDate.MustInput  = pbDate.IsMustInput;
            ngDate.XType      = "ngDatePicker";
            return(ngDate);
        }
        private async Task <Control> GetControl(PropertyInfo prop)
        {
            var ignoreAttr = prop.GetCustomAttribute <IgnoreInFormAttribute>(false);
            var dnAttr     = prop.GetCustomAttribute <DisplayNameAttribute>(false);
            var maskAttr   = prop.GetCustomAttribute <MaskAttribute>(false);

            //
            //  Игнорировать свойства с соответствующим атрибутом или без имени
            //
            if (ignoreAttr == null & dnAttr != null)
            {
                string      displayName = dnAttr.DisplayName;
                UserControl userControl;
                //
                //  Если значения свойства экземпляры другой сущности, то вернуть комбобокс
                //
                if (prop.GetCustomAttribute <RelatedEntityAttribute>(false) != null)
                {
                    if (IsEditMode)
                    {
                        var entityIdProp = EditingObject
                                           .GetType()
                                           .GetProperty(prop.Name + "Id")
                                           .GetValue(EditingObject);
                        if (entityIdProp == null)
                        {
                            entityIdProp = 1L;
                        }
                        userControl = new ComboboxField(displayName, prop, (long)entityIdProp);
                        await(userControl as ComboboxField).LoadAsync();
                    }
                    else
                    {
                        userControl = new ComboboxField(displayName, prop);
                        await(userControl as ComboboxField).LoadAsync();
                    }
                }
                //
                //  Если значение свойства дата, то вернуть пикер даты
                //
                else if (prop.PropertyType == typeof(DateTime))
                {
                    if (IsEditMode)
                    {
                        var propValue = prop.GetValue(EditingObject).ToString();
                        userControl = new DatePickerField(displayName, prop, propValue);
                    }
                    else
                    {
                        userControl = new DatePickerField(displayName, prop);
                    }
                }
                //
                //  Если значение свойства бул, то вернуть чекбокс
                //
                else if (prop.PropertyType == typeof(bool))
                {
                    if (IsEditMode)
                    {
                        var propValue = (bool)prop.GetValue(EditingObject);
                        userControl = new CheckboxField(displayName, prop, propValue);
                    }
                    else
                    {
                        if (prop.Name != "IsComplete")
                        {
                            userControl = new CheckboxField(displayName, prop);
                        }
                        else
                        {
                            return(null);
                        }
                    }
                }
                //
                //  Если указан атрибут маски, вернуть текстбокс с маской
                //
                else if (maskAttr != null)
                {
                    var mask = maskAttr.Mask;
                    if (IsEditMode)
                    {
                        var propValue = prop.GetValue(EditingObject).ToString();
                        userControl = new MaskedTextboxField(displayName, prop, mask, propValue);
                    }
                    else
                    {
                        userControl = new MaskedTextboxField(displayName, prop, mask);
                    }
                }
                //
                //  Иначе вернуть обычный текстбокс
                //
                else
                {
                    if (IsEditMode)
                    {
                        var propValue = prop.GetValue(EditingObject).ToString();
                        userControl = new TextboxField(displayName, prop, propValue);
                    }
                    else
                    {
                        userControl = new TextboxField(displayName, prop);
                    }
                }
                return(userControl);
            }
            else
            {
                return(null);
            }
        }