public UI.Control Make(ControlDefinition definition, DbSearchResponse ticketSet, UI.Instance parentNode, Action <UI.Control> controlAction) { var control = new UI.Control { ControlType = Mapper.Map <UI.ControlType>(definition.ControlType), ParentNode = parentNode }; var ticket = ticketSet.Tickets.FirstOrDefault(); var dalControl = (DAL.Models.Control)definition.Entity; control.Events = definition .Events .Select(e => BehaviourSelector.EventBehaviours[Mapper.Map <UI.EventType>(e.EventType)](CurrentUser).Make(e, ticketSet, control)) .ToList(); control.Props.Add("DisplayName", definition.DisplayName); control.Props.Add("Order", definition.OrderIndex); control.Props.Add("Width", definition.Width); control.Props.Add("Style", Mapper.Map <UI.StyleDefinition>(((DAL.Models.Control)definition.Entity).Style)); if (dalControl.Field != null) { control.Props.Add("FieldId", dalControl.Field.Id); } if (ticket != null) { control.DocId = Convert.ToInt32(ticket[dalControl.Field.TemplateId, "Id"]); if (dalControl.Field.FieldType.In(DAL.Models.FieldType.Dictionary)) { control.Props.Add("DictionaryId", dalControl.Field.Dictionary.Id); control.Props.Add("DictionaryName", dalControl.Field.Dictionary.Name); control.Props.Add("DictionaryType", Enum.GetName(typeof(DAL.Models.DictionaryType), dalControl.Field.Dictionary.DictionaryType)); var options = DbDictionaryCache.GetDictionaryRecords(dalControl.Field.Dictionary); var values = DbDictionaryCache.GetValues(dalControl.Field.Dictionary, dalControl.Field.Id, control.DocId.Value); control.Value = string.Join(", ", values.Select(v => options[v])); } else if (dalControl.Field.FieldType == DAL.Models.FieldType.Flag) { control.Value = (ticket[dalControl.Field] == null) ? string.Empty : (bool)ticket[dalControl.Field] ? $"{definition.DisplayName}" : string.Empty; } else if (dalControl.Field.FieldType == DAL.Models.FieldType.DateTime) { control.Value = (ticket[dalControl.Field] != null) ? ((DateTime)ticket[dalControl.Field]).ToString("dd.MM.yyyy") : string.Empty; } else { control.Value = ticket[dalControl.Field] ?? string.Empty; } } return(control); }
public UI.Control Make(UI.ControlDefinition definition, DAL.Models.DbSearchResponse ticketSet, UI.Instance parentNode, Action <UI.Control> controlAction) { var button = new UI.Control() { ControlType = Mapper.Map <UI.ControlType>(definition.ControlType), ParentNode = parentNode }; var dalControl = (DAL.Models.Control)definition.Entity; var ticket = ticketSet.Tickets.FirstOrDefault(); if (dalControl.Field != null) { button.Props.Add("FieldId", dalControl.Field.Id); button.Props.Add("Name", dalControl.Field.Name); button.DocId = Convert.ToInt32(ticket[dalControl.Field]); } button.Events = definition .Events .Select(e => BehaviourSelector.EventBehaviours[Mapper.Map <UI.EventType>(e.EventType)](CurrentUser).Make(e, ticketSet, button)) .ToList(); button.Props = new Dictionary <string, object>() { { "DisplayName", definition.DisplayName }, { "Width", definition.Width }, { "Order", definition.OrderIndex }, { "Style", Mapper.Map <UI.StyleDefinition>(((DAL.Models.Control)definition.Entity).Style) } }; return(button); }
public Control Make(ControlDefinition definition, DAL.Models.DbSearchResponse ticketSet, UI.Instance parentNode, Action <Control> controlAction) { var button = new UI.Control() { Virtual = true, ParentNode = parentNode, ControlType = ControlType.ButtonSearch }; button.Props = new Dictionary <string, object>() { { "DisplayName", RC.BTN_SEARCH }, { "Width", 3 }, { "Order", 0 }, //{ "PageSize", ticketSet.PageSize.ToString() }, //{ "PageNumber", "1" }, //{ "SortFieldId", "Id"}, //{ "SortDirection", "asc" }, { "Style", GetStyle() } }; var evt = new Event() { Virtual = true, EventType = EventType.Click, ParentNode = button }; evt.Actions.Add(new SearchActionBehaviour(CurrentUser).Make(null, null, evt)); button.Events.Add(evt); return(button); }
public Control Make(ControlDefinition definition, DAL.Models.DbSearchResponse ticketSet, UI.Instance parentNode, Action <Control> controlAction) { var control = new UI.Control { ControlType = Mapper.Map <UI.ControlType>(definition.ControlType), ParentNode = parentNode }; var ticket = ticketSet.Tickets.FirstOrDefault(); var dalControl = (DAL.Models.Control)definition.Entity; if (ticket != null) { control.DocId = Convert.ToInt32(ticket[dalControl.Field.TemplateId, "Id"]); } control.Props.Add("DisplayName", definition.DisplayName); control.Props.Add("FieldId", dalControl.Field.Id); control.Props.Add("DictionaryId", dalControl.Field.Dictionary.Id); control.Props.Add("DictionaryName", dalControl.Field.Dictionary.Name); control.Props.Add("DictionaryType", Enum.GetName(typeof(DAL.Models.DictionaryType), dalControl.Field.Dictionary.DictionaryType)); control.Props.Add("Order", definition.OrderIndex); control.Props.Add("Width", definition.Width); control.Props.Add("Style", Mapper.Map <UI.StyleDefinition>(((DAL.Models.Control)definition.Entity).Style)); var options = DbDictionaryCache.GetDictionaryRecords(dalControl.Field.Dictionary); var controlOptions = options.Select(i => new KeyValuePair <object, string>(i.Key, i.Value)).ToList(); control.Props.Add("Options", controlOptions); control.Value = DbDictionaryCache.GetValues(dalControl.Field.Dictionary, dalControl.Field.Id, control.DocId.Value); return(control); }
public UI.Control Make(ControlDefinition definition, DAL.Models.DbSearchResponse ticketSet, UI.Instance parentNode, Action <UI.Control> controlAction) { var button = new UI.Control() { Virtual = true, ParentNode = parentNode, ControlType = ControlType.SectionSettingsButton }; var evt = new Event() { Virtual = true, EventType = EventType.Click, ParentNode = button }; evt.Actions.Add(new GetSectionSettingsBehaviour(CurrentUser).Make(null, null, evt)); button.Events.Add(evt); return(button); }
public override void AddChildControl(UI.Control <SharpDXRenderer, Color, Vector2, SharpDX.DirectWrite.TextFormat> control) { base.AddChildControl(control); control.Visible = this.SelectedIndex == this.ChildControls.IndexOf(control); }