private IReadonlyFieldConfiguration Act(FieldDisplayType displayType, FieldParent parent)
 {
     var fg = Substitute.For<IFieldGenerator<TestViewModel, string>>();
     var fgh = Substitute.For<IFieldGeneratorHandler<TestViewModel, string>>();
     fgh.GetDisplayType(Arg.Any<IReadonlyFieldConfiguration>()).Returns(displayType);
     _t.PrepareFieldConfiguration(fg, fgh, _fieldConfiguration, parent);
     return _fieldConfiguration;
 }
示例#2
0
        private IReadonlyFieldConfiguration Act(FieldDisplayType displayType, FieldParent parent)
        {
            var fg  = Substitute.For <IFieldGenerator <TestViewModel, string> >();
            var fgh = Substitute.For <IFieldGeneratorHandler <TestViewModel, string> >();

            fgh.GetDisplayType(Arg.Any <IReadonlyFieldConfiguration>()).Returns(displayType);
            _t.PrepareFieldConfiguration(fg, fgh, _fieldConfiguration, parent);
            return(_fieldConfiguration.ToReadonly());
        }
示例#3
0
        public void Add_validation_class_of_help_block_when_in_section([Values(FieldParent.Form, FieldParent.Section)] FieldParent parent)
        {
            var config = Act(FieldDisplayType.SingleLineText, parent);

            if (parent == FieldParent.Section)
            {
                Assert.That(config.ValidationClasses, Is.EqualTo("help-block"));
            }
            else
            {
                Assert.That(config.ValidationClasses, Is.Null);
            }
        }
        /// <inheritdoc />
        public IReadonlyFieldConfiguration PrepareFieldConfiguration(IFieldConfiguration fieldConfiguration, FieldParent fieldParent)
        {
            fieldConfiguration = fieldConfiguration ?? new FieldConfiguration();
            if (!string.IsNullOrEmpty(Metadata.EditFormatString) && string.IsNullOrEmpty(fieldConfiguration.FormatString))
            {
                fieldConfiguration.WithFormatString(Metadata.EditFormatString);
            }
            if (!string.IsNullOrEmpty(Metadata.NullDisplayText) && string.IsNullOrEmpty(fieldConfiguration.NoneString))
            {
                fieldConfiguration.WithNoneAs(Metadata.NullDisplayText);
            }
            if (Metadata.IsReadOnly)
            {
                fieldConfiguration.Readonly();
            }
            if (fieldConfiguration.Hint != null)
            {
                var hintId = $"{HtmlHelper.GetFullHtmlFieldName(FieldProperty)}--Hint";
                fieldConfiguration.Attr("aria-describedby", hintId).WithHintId(hintId);
            }

            var handler = FieldGeneratorHandlersRouter <TModel, T> .GetHandler(this);

            handler.PrepareFieldConfiguration(fieldConfiguration);
            Template.PrepareFieldConfiguration(this, handler, fieldConfiguration, fieldParent);

            // Do this after the handler above since it may change FieldDisplayType
            var disabledOrReadonly           = fieldConfiguration.Attributes.Has("readonly") || fieldConfiguration.Attributes.Has("disabled");
            var isCheckboxList               = fieldConfiguration.DisplayType == FieldDisplayType.List && this.HasMultipleValues();
            var userAlreadySpecifiedRequired = fieldConfiguration.Attributes.Has("required");

            if (Metadata.IsRequired && !disabledOrReadonly && !userAlreadySpecifiedRequired && !isCheckboxList)
            {
                fieldConfiguration.Required();
            }

            return(fieldConfiguration);
        }
示例#5
0
        public IHttpActionResult PostVerify(IEnumerable <JObject> AssetObjs)
        {
            //dddd
            var         ChildOne    = AssetObjs.FirstOrDefault <JObject>();
            var         parentID    = Int32.Parse(ChildOne["ParentAssetID"].ToString());
            FieldParent fieldParent = new FieldParent()
            {
                ParentID = parentID
            };

            foreach (var AssetObj in AssetObjs)
            {
                var ParentAssetID = Int32.Parse(AssetObj["ParentAssetID"].ToString());
                var ChildID       = Int32.Parse(AssetObj["ChildID"].ToString());
                var lat           = (Decimal)AssetObj["latitude"];
                var log           = (Decimal)AssetObj["longitude"];

                var username = AssetObj["username"].ToString();

                var UserID = context.UserModel.Where(x => x.Username == username).FirstOrDefault <UserModel>().UserId;


                //store in the asset model
                AssetModel assetModel = new AssetModel()
                {
                    //SiteID = SiteID,
                    //UniqueIdentifier = uniqueIdentifier,
                    ParentAssetID = ParentAssetID,
                    ChildID       = ChildID
                };

                //storing the properties value into the dB
                var Properties = AssetObj["Properties"];
                foreach (var property in Properties)
                {
                    PropertyValue prop = new PropertyValue()
                    {
                        AssetID       = assetModel.AssetID,
                        ParentAssetID = ParentAssetID,
                        ChildID       = ChildID,
                        PropertyID    = Int32.Parse(property["PropertyID"].ToString()),
                        Value         = property["Value"]["Name"].ToString(),
                        //OptionID = Int32.Parse(property["Value"]["OptionID"].ToString()),
                    };
                    context.PropertyValue.Add(prop);
                }

                //Field Data
                FieldDataModel fieldData = new FieldDataModel()
                {
                    AssetID       = assetModel.AssetID,
                    Latitude      = lat,
                    Longitude     = log,
                    ParentAssetID = ParentAssetID,
                    ChildID       = ChildID,
                    UserID        = UserID
                };


                context.AssetModel.Add(assetModel);
                context.FieldDataModel.Add(fieldData);

                context.SaveChanges();
            }
            context.FieldParent.Add(fieldParent);
            context.SaveChanges();
            return(Ok());
        }
示例#6
0
        /// <inheritdoc />
        public IReadonlyFieldConfiguration PrepareFieldConfiguration(IFieldConfiguration fieldConfiguration, FieldParent fieldParent)
        {
            fieldConfiguration = fieldConfiguration ?? new FieldConfiguration();
            if (!string.IsNullOrEmpty(Metadata.EditFormatString) && string.IsNullOrEmpty(fieldConfiguration.FormatString))
            {
                fieldConfiguration.WithFormatString(Metadata.EditFormatString);
            }
            if (!string.IsNullOrEmpty(Metadata.NullDisplayText) && string.IsNullOrEmpty(fieldConfiguration.NoneString))
            {
                fieldConfiguration.WithNoneAs(Metadata.NullDisplayText);
            }
            if (Metadata.IsReadOnly)
            {
                fieldConfiguration.Readonly();
            }

            var handler = FieldGeneratorHandlersRouter <TModel, T> .GetHandler(this);

            handler.PrepareFieldConfiguration(fieldConfiguration);
            Template.PrepareFieldConfiguration(this, handler, fieldConfiguration, fieldParent);

            return(fieldConfiguration);
        }
示例#7
0
        /// <inheritdoc />
        public override void PrepareFieldConfiguration <TModel, T>(IFieldGenerator <TModel, T> fieldGenerator, IFieldGeneratorHandler <TModel, T> fieldGeneratorHandler, IFieldConfiguration fieldConfiguration, FieldParent fieldParent)
        {
            if (fieldParent == FieldParent.Form)
            {
                return;
            }

            fieldConfiguration.AddValidationClass("help-block");

            var displayType = fieldGeneratorHandler.GetDisplayType(fieldConfiguration.ToReadonly());

            if (NormalFieldTypes.Contains(displayType))
            {
                fieldConfiguration.Bag.CanBeInputGroup = true;
                fieldConfiguration.AddClass("form-control").AddLabelClass("control-label");
            }

            if (displayType == FieldDisplayType.Checkbox)
            {
                fieldConfiguration.Bag.IsCheckboxControl = true;
                // Hide the parent label otherwise it looks weird
                fieldConfiguration.Label("").WithoutLabel();
            }

            if (displayType == FieldDisplayType.List)
            {
                fieldConfiguration.Bag.IsRadioOrCheckboxList = true;
            }
        }
示例#8
0
        public void Add_label_class_of_control_label_when_in_section_and_select_input_or_textarea([Values(FieldParent.Form, FieldParent.Section)] FieldParent parent, [Values(FieldDisplayType.SingleLineText, FieldDisplayType.MultiLineText, FieldDisplayType.DropDown)] FieldDisplayType displayType)
        {
            var config = Act(displayType, parent);

            if (parent == FieldParent.Section)
            {
                Assert.That(config.LabelClasses, Is.EqualTo("control-label"));
            }
            else
            {
                Assert.That(config.LabelClasses, Is.Null);
            }
        }
示例#9
0
        public void Add_field_class_of_form_control_when_in_section_and_select_input_or_textarea([Values(FieldParent.Form, FieldParent.Section)] FieldParent parent, [Values(FieldDisplayType.SingleLineText, FieldDisplayType.MultiLineText, FieldDisplayType.DropDown)] FieldDisplayType displayType)
        {
            var config = Act(displayType, parent);

            if (parent == FieldParent.Section)
            {
                Assert.That(config.HtmlAttributes["class"], Is.EqualTo("form-control"));
            }
            else
            {
                Assert.That(config.HtmlAttributes.ContainsKey("class"), Is.False);
            }
        }
示例#10
0
        public void Set_control_as_radio_list_if_radio_list_and_in_section([Values(FieldParent.Form, FieldParent.Section)] FieldParent parent)
        {
            var config = Act(FieldDisplayType.List, parent);

            Assert.That(config.GetBagData <bool>("IsRadioOrCheckboxList"), Is.EqualTo(parent == FieldParent.Section));
        }
 /// <inheritdoc />
 public virtual void PrepareFieldConfiguration <TModel, T>(IFieldGenerator <TModel, T> fieldGenerator, IFieldGeneratorHandler <TModel, T> fieldGeneratorHandler,
                                                           IFieldConfiguration fieldConfiguration, FieldParent fieldParent)
 {
 }
示例#12
0
 public IReadonlyFieldConfiguration PrepareFieldConfiguration(IFieldConfiguration fieldConfiguration, FieldParent fieldParent)
 {
     throw new NotImplementedException();
 }