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 }); } } } }