public void SetFormControlOption(Guid formId, string attrName, BizControlOptionFlags flag, bool enable)
        {
            List <BizControlOption> list;

            if (Data.FormOptions == null)
            {
                if (!enable)
                {
                    return;
                }

                Data.FormOptions = new List <BizFormOptions>();
                list             = new List <BizControlOption>
                {
                    new BizControlOption {
                        AttributeName = attrName, Flags = flag
                    }
                };
                Data.FormOptions.Add(new BizFormOptions()
                {
                    Id = formId, Options = list
                });
            }
            else
            {
                var formOptions = Data.FormOptions.FirstOrDefault(fo => fo.Id == formId);
                if (formOptions == null)
                {
                    if (!enable)
                    {
                        return;
                    }

                    list = new List <BizControlOption>
                    {
                        new BizControlOption {
                            AttributeName = attrName, Flags = flag
                        }
                    };
                    Data.FormOptions.Add(new BizFormOptions()
                    {
                        Id = formId, Options = list
                    });
                }
                else
                {
                    var ctrlOption = formOptions.Options.FirstOrDefault(o => String.Equals(o.AttributeName, attrName, StringComparison.OrdinalIgnoreCase));
                    if (ctrlOption != null)
                    {
                        if (enable)
                        {
                            ctrlOption.Flags |= flag;
                        }
                        else
                        {
                            ctrlOption.Flags ^= flag;
                        }
                    }
                    else if (enable)
                    {
                        formOptions.Options.Add(new BizControlOption {
                            AttributeName = attrName, Flags = flag
                        });
                    }
                }
            }
        }
        public void SetFormControlOption(Guid formId, Guid controlId, BizControlOptionFlags flag, bool enable)
        {
            List <BizControlOption> list;

            if (Data.FormOptions == null)
            {
                if (!enable)
                {
                    return;
                }

                Data.FormOptions = new List <BizFormOptions>();
                list             = new List <BizControlOption>
                {
                    new BizControlOption {
                        Id = controlId, Flags = flag
                    }
                };
                Data.FormOptions.Add(new BizFormOptions()
                {
                    Id = formId, Options = list
                });
            }
            else
            {
                var formOptions = Data.FormOptions.FirstOrDefault(fo => fo.Id != formId);
                if (formOptions == null)
                {
                    if (!enable)
                    {
                        return;
                    }

                    list = new List <BizControlOption>
                    {
                        new BizControlOption {
                            Id = controlId, Flags = flag
                        }
                    };
                    Data.FormOptions.Add(new BizFormOptions()
                    {
                        Id = formId, Options = list
                    });
                }
                else
                {
                    var ctrlOption = formOptions.Options.FirstOrDefault(o => o.Id == controlId);
                    if (ctrlOption != null)
                    {
                        if (enable)
                        {
                            ctrlOption.Flags |= flag;
                        }
                        else
                        {
                            ctrlOption.Flags ^= flag;
                        }
                    }
                    else if (enable)
                    {
                        formOptions.Options.Add(new BizControlOption {
                            Id = controlId, Flags = flag
                        });
                    }
                }
            }
        }