private static void GetCSharpFormGlobalsRec(_FG_WebForm fG_WebForm, EbControlContainer _container, WebformData _formdata) { SingleTable Table = _formdata.MultipleTables.ContainsKey(_container.TableName) ? _formdata.MultipleTables[_container.TableName] : new SingleTable(); if (_container is EbDataGrid) { _FG_DataGrid fG_DataGrid = new _FG_DataGrid(_container as EbDataGrid, Table); fG_WebForm.DataGrids.Add(fG_DataGrid); } else if (_container is EbReview) { fG_WebForm.Review = new _FG_Review(_container as EbReview, Table); } else { foreach (EbControl _control in _container.Controls) { if (_control is EbControlContainer) { GetCSharpFormGlobalsRec(fG_WebForm, _control as EbControlContainer, _formdata); } else { object data = null; if (_formdata.MultipleTables.ContainsKey(_container.TableName) && _formdata.MultipleTables[_container.TableName].Count > 0) { data = _formdata.MultipleTables[_container.TableName][0][_control.Name]; } fG_WebForm.FlatCtrls.Controls.Add(new _FG_Control(_control, data)); } } } }
//Jith Builder related private string GetHtml2Render(BuilderType type, string objid) { IServiceClient client = this.ServiceClient; var resultlist = client.Get <EbObjectLatestCommitedResponse>(new EbObjectLatestCommitedRequest { RefId = objid }); var rlist = resultlist.Data[0]; string _html = string.Empty; EbControlContainer _form = null; if (type == BuilderType.FilterDialog) { _form = EbSerializers.Json_Deserialize <EbFilterDialog>(rlist.Json) as EbControlContainer; } else if (type == BuilderType.WebForm) { _form = EbSerializers.Json_Deserialize <EbWebForm>(rlist.Json) as EbControlContainer; } if (_form != null) { _html += _form.GetHtml(); } return(_html); }
protected override void OnParentChanged(EventArgs e) { base.OnParentChanged(e); if (this.EbControlContainer == null) { this.EbControlContainer = new EbForm(); } }
public void DoDesignerLayout(pF.pDesigner.IpDesigner designer, EbControlContainer serialized_ctrl) { ((designer.ActiveDesignSurface as IDesignSurfaceExt).RootComponent as EbReportPanel).EbControlContainer = serialized_ctrl; foreach (EbControl c in serialized_ctrl.Controls) { var ctrl = designer.ActiveDesignSurface.CreateControl(Type.GetType(c.TargetType)) as System.Windows.Forms.Control; (ctrl as IEbControl).DoDesignerLayout(designer, c); } }
protected override void OnParentChanged(EventArgs e) { base.OnParentChanged(e); if (this.EbControlContainer == null) { this.EbControlContainer = new EbTableLayout(); } this.EbControlContainer.Name = this.Name; this.Dock = System.Windows.Forms.DockStyle.Fill; }
private static void FlattenAllEbControlsRec(List <EbControl> controls, ref List <EbControl> list)// get all controls including EbControlContainers { foreach (EbControl control in controls) { EbControlContainer candidate = control as EbControlContainer; if (candidate != null) { FlattenAllEbControlsRec(candidate.Controls, ref list); } list.Add(control); } }
public static IEnumerable <EbControl> FlattenEbControls(this List <EbControl> enumerable)// get all controls except EbControlContainers { foreach (EbControl element in enumerable) { EbControlContainer candidate = element as EbControlContainer; if (candidate != null) { foreach (EbControl nested in FlattenEbControls(candidate.Controls)) { yield return(nested); } } else { yield return(element); } } }
public void DoDesignerLayout(pF.pDesigner.IpDesigner designer, EbControlContainer serialized_ctrl) { this.EbControlContainer = serialized_ctrl; this.Name = serialized_ctrl.Name; this.Dock = System.Windows.Forms.DockStyle.Fill; this.SuspendLayout(); this.ColumnCount = 0; this.RowCount = 0; this.ColumnStyles.Clear(); this.RowStyles.Clear(); foreach (EbTableLayoutColumn c in (serialized_ctrl as EbTableLayout).Columns) { this.ColumnStyles.Add(new ColumnStyle { SizeType = SizeType.Percent, Width = c.Width }); } foreach (EbTableRow r in (serialized_ctrl as EbTableLayout).Rows) { this.RowStyles.Add(new RowStyle { SizeType = SizeType.Percent, Height = r.Height }); } this.ColumnCount = (serialized_ctrl as EbTableLayout).Columns.Count; this.RowCount = (serialized_ctrl as EbTableLayout).Rows.Count; if (serialized_ctrl.Controls != null) { foreach (EbControl c in serialized_ctrl.Controls) { var ctrl = designer.ActiveDesignSurface.CreateControl(Type.GetType(c.TargetType)) as System.Windows.Forms.Control; ctrl.Parent = this; this.SetCellPosition(ctrl, new TableLayoutPanelCellPosition(c.CellPositionColumn, c.CellPositionRow)); (ctrl as IEbControl).DoDesignerLayout(designer, c); } } this.ResumeLayout(true); }
private static void GetCSharpFormGlobalsRec_NEW(FG_WebForm fG_WebForm, EbControlContainer _container, WebformData _formdata, WebformData _formdataBkUp) { SingleTable Table = _formdata.MultipleTables.ContainsKey(_container.TableName) ? _formdata.MultipleTables[_container.TableName] : new SingleTable(); SingleTable TableBkUp = _formdataBkUp != null && _formdataBkUp.MultipleTables.ContainsKey(_container.TableName) ? _formdataBkUp.MultipleTables[_container.TableName] : new SingleTable(); if (_container is EbDataGrid) { fG_WebForm.DataGrids.Add(GetDataGridGlobal(_container as EbDataGrid, Table, _formdata.DGsRowDataModel[_container.TableName])); } else if (_container is EbReview) { fG_WebForm.Review = GetReviewGlobal(_container as EbReview, Table, TableBkUp); } else { foreach (EbControl _control in _container.Controls) { if (_control is EbControlContainer) { GetCSharpFormGlobalsRec_NEW(fG_WebForm, _control as EbControlContainer, _formdata, _formdataBkUp); } else { object data = null; Dictionary <string, object> Metas = new Dictionary <string, object>(); if (_control is EbAutoId && fG_WebForm.__mode == "new")// && fG_WebForm.id == 0 { data = FG_Constants.AutoId_PlaceHolder; } else { SingleColumn psSC = null; if (Table.Count > 0 && Table[0].GetColumn(_control.Name) != null && !(_control is EbAutoId)) //(!(_control is EbAutoId) || (_control is EbAutoId && fG_WebForm.__mode == "edit")))// && fG_WebForm.id > 0 { data = Table[0][_control.Name]; psSC = Table[0].GetColumn(_control.Name); } else if (TableBkUp.Count > 0 && TableBkUp[0].GetColumn(_control.Name) != null) { data = TableBkUp[0][_control.Name]; psSC = TableBkUp[0].GetColumn(_control.Name); } else if (Table.Count > 0 && Table[0].GetColumn(_control.Name) != null)// Hint: For BatchDataPusher, AutoId available in 'Table' only { data = Table[0][_control.Name]; psSC = Table[0].GetColumn(_control.Name); } if (psSC != null && _control is IEbPowerSelect) { Metas.Add(FG_Constants.Columns, psSC.R); } } if (_control is EbAutoId ebAI) { Metas.Add(FG_Constants.SerialLength, ebAI.Pattern?.SerialLength ?? 0); } fG_WebForm.FlatCtrls.Controls.Add(new FG_Control(_control.Name, _control.ObjType, data, Metas)); } } } }
//get formdata as globals for c# script engine public static FormAsGlobal GetFormAsGlobal(EbWebForm _this, WebformData _formData, EbControlContainer _container = null, FormAsGlobal _globals = null) { if (_container == null) { _container = _this; } if (_globals == null) { _globals = new FormAsGlobal { Name = _this.Name } } ; ListNTV listNTV = new ListNTV(); if (_formData.MultipleTables.ContainsKey(_container.TableName)) { for (int i = 0; i < _formData.MultipleTables[_container.TableName].Count; i++) { foreach (EbControl control in _container.Controls) { if (control is EbControlContainer) { FormAsGlobal g = new FormAsGlobal(); g.Name = (control as EbControlContainer).Name; _globals.AddContainer(g); g = GetFormAsGlobal(_this, _formData, control as EbControlContainer, g); } else { NTV n = GetNtvFromFormData(_formData, _container.TableName, i, control.Name); if (n != null) { listNTV.Columns.Add(n); } } } } _globals.Add(listNTV); } return(_globals); }
private static WebFormSchema GetWebFormSchemaRec(EbWebForm _this, WebFormSchema _schema, EbControlContainer _container, string _parentTable, EbSystemColumns ebs) { IEnumerable <EbControl> _flatControls = _container.Controls.Get1stLvlControls(); string curTbl = _container.TableName.ToLower(); TableSchema _table = _schema.Tables.FirstOrDefault(tbl => tbl.TableName == curTbl); if (_table == null) { if (_container is EbReview) { _table = new TableSchema { TableName = curTbl, ParentTable = _parentTable, TableType = WebFormTableTypes.Review, Title = _container.Label, ContainerName = _container.Name }; _schema.ExtendedControls.Add(_container); } else if (_container is EbDataGrid dg) { _table = new TableSchema { TableName = curTbl, ParentTable = _parentTable, TableType = WebFormTableTypes.Grid, Title = _container.Label, ContainerName = _container.Name, IsDynamic = _container.IsDynamicTabChild, DescOdr = !dg.AscendingOrder, DoNotPersist = dg.DoNotPersist } } ; else { _table = new TableSchema { TableName = curTbl, ParentTable = _parentTable, TableType = WebFormTableTypes.Normal, ContainerName = _container.Name } }; _schema.Tables.Add(_table); } foreach (EbControl control in _flatControls) { //if (control.IsSysControl && ebs != null && !(_container is EbReview)) //{ // control.Name = ebs[control.Name]; //} if (control is EbFileUploader) { _schema.ExtendedControls.Add(control); } else if (control is EbProvisionUser) { EbProvisionUser ctrl = control as EbProvisionUser; ctrl.FuncParam.First(e => e.Name == "isolution_id").Value = _this.SolutionObj?.SolutionID ?? string.Empty; int idx = _schema.ExtendedControls.FindIndex(e => e is EbProvisionLocation); if (idx >= 0) { ctrl.AddLocConstraint = true; } _table.Columns.Add(new ColumnSchema { ColumnName = control.Name, EbDbType = (int)control.EbDbType, Control = control }); } else if (control is EbProvisionLocation) { foreach (object temp in _schema.ExtendedControls.FindAll(e => e is EbProvisionUser)) { (temp as EbProvisionUser).AddLocConstraint = true; } _table.Columns.Add(new ColumnSchema { ColumnName = control.Name, EbDbType = (int)control.EbDbType, Control = control }); } else if (control is EbDGUserControlColumn) { foreach (EbControl _ctrl in (control as EbDGUserControlColumn).Columns) { _table.Columns.Add(new ColumnSchema { ColumnName = _ctrl.Name, EbDbType = (int)_ctrl.EbDbType, Control = _ctrl }); } } else if (control is EbSysLocation && !control.IsDisable) { _this.IsLocEditable = true; _table.Columns.Add(new ColumnSchema { ColumnName = control.Name, EbDbType = (int)control.EbDbType, Control = control }); } else { _table.Columns.Add(new ColumnSchema { ColumnName = control.Name, EbDbType = (int)control.EbDbType, Control = control }); if (control is EbAutoId) { _this.AutoId = control as EbAutoId; _this.AutoId.TableName = _table.TableName; } } if (control is IEbExtraQryCtrl) { (control as IEbExtraQryCtrl).TableName = curTbl; _schema.ExtendedControls.Add(control); } else if (control is EbPhone _phCtrl && _phCtrl.Sendotp) { _phCtrl.FormRefId = _this.RefId; _phCtrl.RedisClient = _this.RedisClient; } else if (control is EbEmailControl _emCtrl && _emCtrl.Sendotp) { _emCtrl.FormRefId = _this.RefId; _emCtrl.RedisClient = _this.RedisClient; }
public EbPanel() : base() { this.EbControlContainer = new EbForm(); }