Example #1
0
 public void AddUserOption(IUserOption userOption)
 {
     Events.RaiseDataChangedEvent(GetType(), (MethodInfo)MethodBase.GetCurrentMethod(), null, UserOptions);
     UserOptions.Add(userOption);
     userOption.Owner         = this;
     _VirtualPropertiesAreSet = true;
 }
Example #2
0
            public void Refresh()
            {
                foreach (IGrouping <IOptionCategory, IUserOptionReaderWriter> grouping in this)
                {
                    var category = grouping.Key;
                    category.Refresh();

                    var groupedList = grouping as GroupedList <IOptionCategory, IUserOptionReaderWriter>;
                    groupedList?.RaiseOnTitlePropertyChanged();

                    foreach (IUserOptionReaderWriter writer in grouping)
                    {
                        IUserOption userOption = writer.UserOption;
                        if (userOption != null)
                        {
                            userOption.Refresh();
                        }
                        else
                        {
                            Debug.WriteLine("Warning: UserOptionsService.Refresh - user option is null.");
                        }

                        writer.Refresh();
                    }
                }
            }
Example #3
0
        private Control AddEnumInputControl(IUserOption option)
        {
            ComboBox box = new ComboBox();

            box.DropDownStyle = ComboBoxStyle.DropDownList;

            foreach (object val in Enum.GetValues(option.DataType))
            {
                //if (ExtensionAttributeHelper.HasNullValueAttribute(option.DataType, val))
                //{
                //    box.Items.Add(new ComboBoxItemEx<object>(val, o => ""));
                //    if (option.Value == null || option.Value == val)
                //        box.SelectedIndex = box.Items.Count - 1;
                //}
                //else
                //{
                box.Items.Add(new ComboBoxItemEx <object>(val, o => Enum.GetName(option.DataType, o)));
                if (option.Value != null && option.Value.Equals(val))
                {
                    box.SelectedIndex = box.Items.Count - 1;
                }
                //}
            }
            box.SelectedIndexChanged += (sender, e) => OnVirtualPropertyValueChanged(sender as Control);

            return(box);
        }
Example #4
0
        private Control AddPropertySelectorInputControl(IUserOption option)
        {
            ComboBox box = new ComboBox();

            box.DropDownStyle = ComboBoxStyle.DropDownList;
            Entity entity = IsEnd1 ? Reference.Entity2 : Reference.Entity1;

            box.Items.Add(new ComboBoxItemEx <object>(null, p => GetPropertyName(null, "")));

            foreach (Property prop in entity.Properties)
            {
                box.Items.Add(new ComboBoxItemEx <object>(prop, p => GetPropertyName(p, "")));

                if (!(option.Value is string))
                {
                    if (!(option.Value is ArchAngel.Interfaces.NHibernateEnums.PropertiesForThisEntity))
                    {
                        ArchAngel.Providers.EntityModel.Model.EntityLayer.Property optionProp = (ArchAngel.Providers.EntityModel.Model.EntityLayer.Property)option.Value;

                        if (option.Value != null && optionProp.Name.Equals(prop.Name, StringComparison.InvariantCultureIgnoreCase))
                        {
                            box.SelectedIndex = box.Items.Count - 1;
                        }
                    }
                }
            }
            box.SelectedIndexChanged += (sender, e) => OnVirtualPropertyValueChanged(sender as Control);

            return(box);
        }
Example #5
0
        public static void TestXml(IUserOption virtualProperty, string xml)
        {
            VirtualPropertySerialiser serialiser = new VirtualPropertySerialiser();
            string result = serialiser.SerialiseVirtualProperty(virtualProperty).RemoveWhitespaceBetweenXmlElements();

            Assert.That(result, Is.EqualTo(xml));
        }
Example #6
0
        public static void TestDeserialisation(string xml, string name, Type type, object expectedValue)
        {
            VirtualPropertyDeserialiser serialiser = new VirtualPropertyDeserialiser();
            IUserOption virtualProperty            = serialiser.DeserialiseVirtualProperty(xml.GetXmlDocRoot());

            Assert.That(virtualProperty.Value, Is.EqualTo(expectedValue));
            Assert.That(virtualProperty.Name, Is.EqualTo(name));
            Assert.That(virtualProperty.DataType, Is.EqualTo(type));
        }
Example #7
0
        public void Register(IEnumerable <IUserOption> userOptions, IOptionCategory optionCategory)
        {
            AssertArg.IsNotNull(userOptions, nameof(userOptions));
            AssertArg.IsNotNull(optionCategory, nameof(optionCategory));

            /* We regect all options if any are already registered. */
            Tuple <IOptionCategory, List <IUserOption> > existingCategoryOptions = null;

            foreach (KeyValuePair <IOptionCategory, List <IUserOption> > pair in categoryDictionary)
            {
                foreach (IUserOption userOption in userOptions)
                {
                    IUserOption existingOption = null;

                    foreach (IUserOption option in pair.Value)
                    {
                        if (!string.IsNullOrEmpty(option.SettingKey) &&
                            object.Equals(option.SettingKey, userOption.SettingKey))
                        {
                            existingOption = option;
                            break;
                        }
                    }
                    //IUserOption existingOption = (from option in pair.Value
                    //					            where object.Equals(option.SettingKey, userOption.SettingKey)
                    //					            select option).FirstOrDefault();

                    if (existingOption != null)
                    {
                        throw new DuplicateItemException(existingOption, userOption);
                    }
                }

                if (pair.Key.Id == optionCategory.Id)
                {
                    existingCategoryOptions = new Tuple <IOptionCategory, List <IUserOption> >(pair.Key, pair.Value);
                }
            }

            List <IUserOption> list;

            if (existingCategoryOptions != null)
            {
                list = existingCategoryOptions.Item2;
            }
            else
            {
                list = new List <IUserOption>();
                categoryDictionary.Add(optionCategory, list);
            }

            foreach (IUserOption userOption in userOptions)
            {
                list.Add(userOption);
            }
        }
Example #8
0
        public void It_Should_Serialise_To_This()
        {
            IUserOption virtualProperty = MockRepository.GenerateStub <IUserOption>();

            virtualProperty.DataType = typeof(String);
            virtualProperty.Name     = "VP1";
            virtualProperty.Value    = "some string";

            TestHelper.TestXml(virtualProperty, Xml);
        }
Example #9
0
        private Control AddStringInputControl(IUserOption option)
        {
            TextBox tbOptionInput = new TextBox();

            tbOptionInput.Text = option.Value != null?option.Value.ToString() : "";

            tbOptionInput.TextChanged += (sender, e) => OnVirtualPropertyValueChanged(sender as Control);

            return(tbOptionInput);
        }
Example #10
0
        private Control AddDecimalInputControl(IUserOption option)
        {
            DoubleInput tbOptionInput = new DoubleInput();

            tbOptionInput.Text = option.Value != null?option.Value.ToString() : "";

            tbOptionInput.TextChanged += (sender, e) => OnVirtualPropertyValueChanged(sender as Control);

            return(tbOptionInput);
        }
 public FormVirtualPropertyEdit(IUserOption virtualProperty, IScriptBaseObject iteratorObject)
 {
     InitializeComponent();
     this.BackColor = Slyce.Common.Colors.BackgroundColor;
     ucHeading1.Text = "";
     VirtualProperty = virtualProperty;
     OriginalValue = VirtualProperty.Value;
     Interfaces.Events.ShadeMainForm();
     Populate();
 }
Example #12
0
        public void It_Should_Serialise_To_This()
        {
            IUserOption virtualProperty = MockRepository.GenerateStub <IUserOption>();

            virtualProperty.DataType = typeof(Test_Classes.VirtualPropEnum);
            virtualProperty.Name     = "VP1";
            virtualProperty.Value    = Test_Classes.VirtualPropEnum.FileNotFound;

            TestHelper.TestXml(virtualProperty, Xml);
        }
Example #13
0
 public FormVirtualPropertyEdit(IUserOption virtualProperty, IScriptBaseObject iteratorObject)
 {
     InitializeComponent();
     this.BackColor  = Slyce.Common.Colors.BackgroundColor;
     ucHeading1.Text = "";
     VirtualProperty = virtualProperty;
     OriginalValue   = VirtualProperty.Value;
     Interfaces.Events.ShadeMainForm();
     Populate();
 }
Example #14
0
        public bool Deregister(IUserOption userOption)
        {
            bool result = false;

            foreach (var list in categoryDictionary.Values)
            {
                result |= list.Remove(userOption);
            }

            return(result);
        }
Example #15
0
        private Control AddBoolInputControl(IUserOption option)
        {
            CheckBox cbOptionInput = new CheckBox();

            cbOptionInput.Checked         = (bool)option.Value;
            cbOptionInput.CheckedChanged += (sender, e) => OnVirtualPropertyValueChanged(sender as Control);
            cbOptionInput.AutoEllipsis    = true;
            //cbOptionInput.Text = option.Text;

            return(cbOptionInput);
        }
 public static bool IsIntegerNumericType(IUserOption opt)
 {
     return opt.DataType.Equals(typeof(int))
            || opt.DataType.Equals(typeof(uint))
            || opt.DataType.Equals(typeof(long))
            || opt.DataType.Equals(typeof(ulong))
            || opt.DataType.Equals(typeof(short))
            || opt.DataType.Equals(typeof(ushort))
            || opt.DataType.Equals(typeof(sbyte))
            || opt.DataType.Equals(typeof(byte));
 }
 public static bool IsIntegerNumericType(IUserOption opt)
 {
     return(opt.DataType.Equals(typeof(int)) ||
            opt.DataType.Equals(typeof(uint)) ||
            opt.DataType.Equals(typeof(long)) ||
            opt.DataType.Equals(typeof(ulong)) ||
            opt.DataType.Equals(typeof(short)) ||
            opt.DataType.Equals(typeof(ushort)) ||
            opt.DataType.Equals(typeof(sbyte)) ||
            opt.DataType.Equals(typeof(byte)));
 }
Example #18
0
        private Control AddIntegerInputControl(IUserOption option)
        {
            IntegerInput tbOptionInput = new IntegerInput();

            tbOptionInput.Text = option.Value != null?option.Value.ToString() : "";

            tbOptionInput.ValueChanged += (sender, e) => OnVirtualPropertyValueChanged(sender as Control);
            tbOptionInput.ForeColor     = Color.Black;

            return(tbOptionInput);
        }
Example #19
0
        protected virtual IUserOptionReaderWriter GetReaderWriter(IUserOption userOption)
        {
            var result = userOption.ReaderWriter;

            if (result == null)
            {
                var strategy = Dependency.Resolve <IReaderWriterCreationStrategy, ReaderWriterCreationStrategy>(false);
                result = strategy.Create(userOption);
            }

            return(result);
        }
Example #20
0
        public void RefreshVisibilities()
        {
            for (int i = 0; i < virtualProperties.Count; i++)
            {
                IUserOption virtualProperty = virtualProperties[i];
                bool        display         = virtualProperty.DisplayToUser;

                //Control control = this.Controls[(i * 2) + 1];
                Control control = UserOptionLookups[virtualProperty];                // this.Controls[virtualProperty.Name];
                control.Visible = display;

                //if (display == false)
                //{
                //    Label label = (Label)this.Controls[i * 2];
                //    SetTooltip(label, "Disabled", virtualProperty.Description);
                //}
            }
            LayoutOptions();
        }
Example #21
0
        private object GetValueFrom(Control control, IUserOption option)
        {
            if (VirtualPropertyHelper.IsEnumType(option))
            {
                ComboBoxItemEx <object> item = ((ComboBox)control).SelectedItem as ComboBoxItemEx <object>;
                if (item == null)
                {
                    return(null);
                }

                return(item.Object);
            }
            if (VirtualPropertyHelper.IsStringType(option))
            {
                return(control.Text);
            }

            if (VirtualPropertyHelper.IsIntegerNumericType(option))
            {
                return(control.Text.As <int>());
            }

            if (VirtualPropertyHelper.IsCharType(option))
            {
                return(control.Text[0]);
            }

            if (VirtualPropertyHelper.IsDecimalNumericType(option))
            {
                return(control.Text.As <decimal>());
            }

            if (VirtualPropertyHelper.IsBoolType(option))
            {
                return(((CheckBox)control).Checked);
            }

            return(null);
        }
        public string SerialiseVirtualProperty(IUserOption virtualProperty)
        {
            StringBuilder sb = new StringBuilder(80);

            using (XmlWriter writer = XmlWriter.Create(sb, new XmlWriterSettings()
            {
                OmitXmlDeclaration = true, IndentChars = "\t"
            }))
            {
                if (writer == null)
                {
                    throw new SerialisationException("Could not aquire an XmlWriter");
                }

                writer.WriteStartDocument();

                SerialiseVirtualPropertyInternal(writer, virtualProperty);

                writer.WriteEndDocument();
            }

            return(sb.ToString());
        }
        private void SerialiseVirtualPropertyInternal(XmlWriter writer, IUserOption virtualProperty)
        {
            writer.WriteStartElement("VirtualProperty");
            writer.WriteAttributeString("name", virtualProperty.Name);
            writer.WriteAttributeString("type", virtualProperty.DataType.FullName);

            if (virtualProperty.DataType == TypePropertiesForThisEntity)
            {
                if (virtualProperty.Value is string)
                {
                    writer.WriteElementString("Value", virtualProperty.Value.ToString());
                }
                else
                {
                    writer.WriteElementString("Value", ((ArchAngel.Providers.EntityModel.Model.EntityLayer.Property)virtualProperty.Value).Name);
                }
            }
            else
            {
                writer.WriteElementString("Value", virtualProperty.Value.ToString());
            }

            writer.WriteEndElement();
        }
 public static bool IsEntityPropertyType(IUserOption option)
 {
     return option.DataType.Equals(typeof(ArchAngel.Interfaces.NHibernateEnums.PropertiesForThisEntity));
 }
 public static bool IsStringType(IUserOption opt)
 {
     return(opt.DataType.Equals(typeof(string)));
 }
 public static bool IsDecimalNumericType(IUserOption opt)
 {
     return(opt.DataType.Equals(typeof(float)) ||
            opt.DataType.Equals(typeof(double)) ||
            opt.DataType.Equals(typeof(decimal)));
 }
        private Control AddStringInputControl(IUserOption option)
        {
            TextBox tbOptionInput = new TextBox();
            tbOptionInput.Text = option.Value != null ? option.Value.ToString() : "";
            tbOptionInput.TextChanged += (sender, e) => OnVirtualPropertyValueChanged(sender as Control);

            return tbOptionInput;
        }
        private object GetValueFrom(Control control, IUserOption option)
        {
            if (VirtualPropertyHelper.IsEnumType(option))
            {
                ComboBoxItemEx<object> item = ((ComboBox)control).SelectedItem as ComboBoxItemEx<object>;
                if (item == null) return null;

                return item.Object;
            }
            if (VirtualPropertyHelper.IsStringType(option))
                return control.Text;

            if (VirtualPropertyHelper.IsIntegerNumericType(option))
                return control.Text.As<int>();

            if (VirtualPropertyHelper.IsCharType(option))
                return control.Text[0];

            if (VirtualPropertyHelper.IsDecimalNumericType(option))
                return control.Text.As<decimal>();

            if (VirtualPropertyHelper.IsBoolType(option))
                return ((CheckBox)control).Checked;

            return null;
        }
 public static bool IsStringType(IUserOption opt)
 {
     return opt.DataType.Equals(typeof(string));
 }
Example #30
0
        private int AddVirtualProperty(IUserOption option, int top, int labelWidth)
        {
            virtualProperties.Add(option);

            Label labelPropertyName = new Label();

            labelPropertyName.Name      = string.Format("label{0}", option.Name);
            labelPropertyName.Font      = this.Font;
            labelPropertyName.Text      = option.Text.Replace("End1:", "").Replace("End2:", "").Trim();
            labelPropertyName.BackColor = BackColor;
            labelPropertyName.ForeColor = ForeColor;

            Control inputControl;

            if (VirtualPropertyHelper.IsEntityPropertyType(option))
            {
                inputControl = AddPropertySelectorInputControl(option);
            }
            else if (VirtualPropertyHelper.IsEnumType(option))
            {
                inputControl = AddEnumInputControl(option);
            }
            else if (VirtualPropertyHelper.IsStringType(option))
            {
                inputControl = AddStringInputControl(option);
            }
            else if (VirtualPropertyHelper.IsIntegerNumericType(option))
            {
                inputControl = AddIntegerInputControl(option);
            }
            else if (VirtualPropertyHelper.IsCharType(option))
            {
                inputControl = AddCharInputControl(option);
            }
            else if (VirtualPropertyHelper.IsDecimalNumericType(option))
            {
                inputControl = AddDecimalInputControl(option);
            }
            else if (VirtualPropertyHelper.IsBoolType(option))
            {
                inputControl = AddBoolInputControl(option);
            }
            else
            {
                throw new NotImplementedException("Not handled yet");
            }
            //return;
            inputControl.Font = this.Font;

            labelPropertyName.Left      = 5;
            labelPropertyName.AutoSize  = false;
            labelPropertyName.Width     = labelWidth;
            labelPropertyName.TextAlign = ContentAlignment.MiddleRight;
            inputControl.Left           = labelPropertyName.Right + 5;
            inputControl.Top            = labelPropertyName.Top = top;
            inputControl.Width          = Width - inputControl.Left - 5;

            bool propertyEnabled = option.DisplayToUser;

            inputControl.Visible      = propertyEnabled;
            labelPropertyName.Visible = propertyEnabled;
            labelPropertyName.Anchor  = AnchorStyles.Left | AnchorStyles.Top;
            inputControl.Anchor       = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
            inputControl.Name         = option.Name;

            if (inputControl is ComboBox)
            {
                inputControl.Width  = Math.Min(inputControl.Width, 200);
                inputControl.Anchor = AnchorStyles.Left | AnchorStyles.Top;
            }
            else if (inputControl is IntegerInput || inputControl is DoubleInput)
            {
                inputControl.Width  = 50;
                inputControl.Anchor = AnchorStyles.Left | AnchorStyles.Top;
            }
            this.Controls.Add(labelPropertyName);
            this.Controls.Add(inputControl);

            if (propertyEnabled)
            {
                SetTooltip(labelPropertyName, "", option.Description);
                SetTooltip(inputControl, "", option.Description);
            }
            else
            {
                SetTooltip(labelPropertyName, "Disabled", option.Description);
                SetTooltip(inputControl, "Disabled", option.Description);
            }
            //CurrentRowHeight += 40;

            //Height = CurrentRowHeight + 50;
            UserOptionLookups.Add(option, inputControl);
            ControlLookups.Add(inputControl, option);
            this.Height = labelPropertyName.Bottom + 10;
            labelPropertyName.Refresh();
            inputControl.Refresh();

            if (propertyEnabled)
            {
                return(Math.Max(labelPropertyName.Bottom, inputControl.Bottom));
            }
            else
            {
                return(top);
            }
        }
 public static bool IsDecimalNumericType(IUserOption opt)
 {
     return opt.DataType.Equals(typeof(float))
            || opt.DataType.Equals(typeof(double))
            || opt.DataType.Equals(typeof(decimal));
 }
        public IUserOptionReaderWriter Create(IUserOption userOption)
        {
            AssertArg.IsNotNull(userOption, nameof(userOption));

            BooleanUserOption booleanUserOption = userOption as BooleanUserOption;

            if (booleanUserOption != null)
            {
                return(new UserOptionReaderWriter <bool>(userOption));
            }

            DoubleUserOption doubleUserOption = userOption as DoubleUserOption;

            if (doubleUserOption != null)
            {
                return(new UserOptionReaderWriter <double>(userOption));
            }

            IntUserOption intUserOption = userOption as IntUserOption;

            if (intUserOption != null)
            {
                return(new UserOptionReaderWriter <int>(userOption));
            }

            StringUserOption stringUserOption = userOption as StringUserOption;

            if (stringUserOption != null)
            {
                return(new UserOptionReaderWriter <string>(userOption));
            }

            var provider = userOption as IProvider <IUserOptionReaderWriter>;

            if (provider != null)
            {
                return(provider.ProvidedItem);
            }

            var optionBase = userOption as UserOptionBase;

            if (optionBase != null)
            {
                Type templateType = typeof(UserOptionReaderWriter <>);
                Type genericType  = templateType.MakeGenericType(optionBase.SettingType);
                try
                {
                    var readerWriter = Activator.CreateInstance(genericType, userOption);
                    return((IUserOptionReaderWriter)readerWriter);
                }
                catch (Exception)
                {
                    /* Ignore and return outside this block. */
                }
            }

            return(new UserOptionReaderWriter <object>(userOption));
//			Type template = typeof(UserOptionBase<>);
//			var b = userOption.GetType().GetGenericArguments();
//			if (b != null && b.Any())
//			{
//				Type genericType = template.MakeGenericType(b.First());
//				var genericUserOption = userOption as UserOptionBase<>;
//			}

            //return new UserOptionReaderWriter<object>(userOption);
        }
 public static bool IsCharType(IUserOption opt)
 {
     return(opt.DataType.Equals(typeof(char)));
 }
 public static bool IsEnumType(IUserOption option)
 {
     return option.DataType.IsEnum;
 }
        private Control AddBoolInputControl(IUserOption option)
        {
            CheckBox cbOptionInput = new CheckBox();
            cbOptionInput.Checked = (bool)option.Value;
            cbOptionInput.CheckedChanged += (sender, e) => OnVirtualPropertyValueChanged(sender as Control);
            cbOptionInput.AutoEllipsis = true;
            //cbOptionInput.Text = option.Text;

            return cbOptionInput;
        }
        private Control AddEnumInputControl(IUserOption option)
        {
            ComboBox box = new ComboBox();
            box.DropDownStyle = ComboBoxStyle.DropDownList;

            foreach (object val in Enum.GetValues(option.DataType))
            {
                if (ExtensionAttributeHelper.HasNullValueAttribute(option.DataType, val))
                {
                    box.Items.Add(new ComboBoxItemEx<object>(val, o => ""));
                    if (option.Value == null || option.Value == val)
                        box.SelectedIndex = box.Items.Count - 1;
                }
                else
                {
                    box.Items.Add(new ComboBoxItemEx<object>(val, o => Enum.GetName(option.DataType, o)));
                    if (option.Value != null && option.Value.Equals(val))
                        box.SelectedIndex = box.Items.Count - 1;
                }
            }

            box.SelectedIndexChanged += (sender, e) => OnVirtualPropertyValueChanged(sender as Control);

            return box;
        }
 public static bool IsBoolType(IUserOption opt)
 {
     return opt.DataType.Equals(typeof(bool));
 }
        private int AddVirtualProperty(IUserOption option, int top, int labelWidth)
        {
            virtualProperties.Add(option);

            Label labelPropertyName = new Label();
            labelPropertyName.Text = option.Text;
            labelPropertyName.BackColor = BackColor;
            labelPropertyName.ForeColor = ForeColor;

            Control inputControl;

            if (VirtualPropertyHelper.IsEnumType(option))
                inputControl = AddEnumInputControl(option);
            else if (VirtualPropertyHelper.IsStringType(option))
                inputControl = AddStringInputControl(option);
            else if (VirtualPropertyHelper.IsIntegerNumericType(option))
                inputControl = AddIntegerInputControl(option);
            else if (VirtualPropertyHelper.IsCharType(option))
                inputControl = AddCharInputControl(option);
            else if (VirtualPropertyHelper.IsDecimalNumericType(option))
                inputControl = AddDecimalInputControl(option);
            else if (VirtualPropertyHelper.IsBoolType(option))
                inputControl = AddBoolInputControl(option);
            else
                throw new NotImplementedException("Not handled yet");
            //return;

            labelPropertyName.Left = 5;
            labelPropertyName.AutoSize = false;
            labelPropertyName.Width = labelWidth;
            labelPropertyName.TextAlign = ContentAlignment.MiddleRight;
            inputControl.Left = labelPropertyName.Right + 5;
            inputControl.Top = labelPropertyName.Top = top;
            inputControl.Width = Control.Width - inputControl.Left - 5;

            bool propertyEnabled = option.DisplayToUser;
            inputControl.Enabled = propertyEnabled;

            labelPropertyName.Anchor = AnchorStyles.Left | AnchorStyles.Top;
            inputControl.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;

            Control.Controls.Add(labelPropertyName);
            Control.Controls.Add(inputControl);

            if (propertyEnabled)
            {
                SetTooltip(labelPropertyName, "", option.Description);
                SetTooltip(inputControl, "", option.Description);
            }
            else
            {
                SetTooltip(labelPropertyName, "Disabled", option.Description);
                SetTooltip(inputControl, "Disabled", option.Description);
            }
            //CurrentRowHeight += 40;

            //Height = CurrentRowHeight + 50;
            UserOptionLookups.Add(option, inputControl);
            ControlLookups.Add(inputControl, option);
            return Math.Max(labelPropertyName.Bottom, inputControl.Bottom);
        }
 public static bool IsBoolType(IUserOption opt)
 {
     return(opt.DataType.Equals(typeof(bool)));
 }
 public object GetVirtualPropertyValue(IUserOption userOption)
 {
     return GetValueFrom(UserOptionLookups[userOption], userOption);
 }
 public static bool IsCharType(IUserOption opt)
 {
     return opt.DataType.Equals(typeof(char));
 }
        public string SerialiseVirtualProperty(IUserOption virtualProperty)
        {
            StringBuilder sb = new StringBuilder(80);

            using (XmlWriter writer = XmlWriter.Create(sb, new XmlWriterSettings() { OmitXmlDeclaration = true, IndentChars = "\t" }))
            {
                if (writer == null)
                    throw new SerialisationException("Could not aquire an XmlWriter");

                writer.WriteStartDocument();

                SerialiseVirtualPropertyInternal(writer, virtualProperty);

                writer.WriteEndDocument();
            }

            return sb.ToString();
        }
        private void SerialiseVirtualPropertyInternal(XmlWriter writer, IUserOption virtualProperty)
        {
            writer.WriteStartElement("VirtualProperty");
            writer.WriteAttributeString("name", virtualProperty.Name);
            writer.WriteAttributeString("type", virtualProperty.DataType.FullName);

            if (virtualProperty.DataType == TypePropertiesForThisEntity)
            {
                if (virtualProperty.Value is string)
                    writer.WriteElementString("Value", virtualProperty.Value.ToString());
                else
                    writer.WriteElementString("Value", ((ArchAngel.Providers.EntityModel.Model.EntityLayer.Property)virtualProperty.Value).Name);
            }
            else
                writer.WriteElementString("Value", virtualProperty.Value.ToString());

            writer.WriteEndElement();
        }
 public static bool IsEnumType(IUserOption option)
 {
     return(option.DataType.IsEnum);
 }
 public static bool IsEntityPropertyType(IUserOption option)
 {
     return(option.DataType.Equals(typeof(ArchAngel.Interfaces.NHibernateEnums.PropertiesForThisEntity)));
 }
        public static void TestXml(IUserOption virtualProperty, string xml)
        {
            VirtualPropertySerialiser serialiser = new VirtualPropertySerialiser();
            string result = serialiser.SerialiseVirtualProperty(virtualProperty).RemoveWhitespaceBetweenXmlElements();

            Assert.That(result, Is.EqualTo(xml));
        }
Example #47
0
 public object GetVirtualPropertyValue(IUserOption userOption)
 {
     return(GetValueFrom(UserOptionLookups[userOption], userOption));
 }