protected void InitFilterForm(Form Frm, XtraScrollableControl xtraScrollableControl1, SplitContainerControl splitContainerControl1) { Frm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; Frm.Height = Frm.ClientSize.Height; Frm.TopLevel = false; Frm.Parent = xtraScrollableControl1; Frm.Dock = DockStyle.Top; splitContainerControl1.SplitterPosition = Frm.Height + 7; //Find DataSource BindingSource bs = BaseWinFramework .FindMainBindingSource(Frm, typeof(ReportEntity)); if (bs != null && bs.DataSource as ReportEntity == null) { Type EntityType = ((Type)bs.DataSource).UnderlyingSystemType; re = (ReportEntity)BaseFactory.CreateInstance(EntityType); _Evaluator = BaseFactory.CreateInstance <Evaluator>(); TableDef td = MetaData.GetTableDef(EntityType); td.SetDefault((BaseEntity)re); re.InitUI(); re.SetReportRefresh(ReportRefresh); re.SetFormChanged(OnFormChanged); bs.DataSource = re; } Frm.Show(); }
public static void FastClone(BaseEntity DestObj, BaseEntity SourceObj) { if (DestObj == null) { DestObj = (BusinessEntity)BaseFactory .CreateInstance(SourceObj.GetType()); } TableDef td = GetTableDef(SourceObj.GetType()); BusinessEntity be = (BusinessEntity)DestObj; be.EntityOnLoad = true; try { foreach (FieldDef fd in td.KeyFields.Values) { fd.SetLoadValue(DestObj, fd.GetValue(SourceObj)); } foreach (FieldDef fd in td.NonKeyFields.Values) { fd.SetLoadValue(DestObj, fd.GetValue(SourceObj)); } } finally { be.EntityOnLoad = false; } }
void IEntityControl.InitNavigator(IUINavigator Navigator) { BindingSource MainBs = BaseWinFramework.FindMainBindingSource( this, typeof(ParentEntity)); if (MainBs == null) { throw new ApplicationException("Main BindingSource not found !"); } if (MainBs.DataSource as ParentEntity == null) { Type EntityType = ((Type)MainBs.DataSource).UnderlyingSystemType; MainBs.DataSource = BaseFactory.CreateInstance(EntityType); } BaseWinFramework.WinForm.AutoFormat .AutoFormatForm(this, false); if (Navigator != null) { Navigator.BindingSource = MainBs; InitNavigator(Navigator); ((IRuleInitUI)MainBs.DataSource).AfterInitNavigator(Navigator); Navigator.SetAutoFormMode(); if (!ShowNavigator) { Navigator.Visible = false; } } }
public static BaseEntity CloneAll(BaseEntity SourceObj) { TableDef td = GetTableDef(SourceObj.GetType()); BaseEntity DestObj = (BaseEntity)BaseFactory .CreateInstance(td._ClassType); IRuleInitUI px = DestObj as IRuleInitUI; //CallLoadRule = CallLoadRule && px != null; DestObj.EntityOnLoad = true; try { DestObj = SourceObj.ShallowClone(); if (td.ChildEntities.Count > 0) { foreach (EntityCollDef ecd in td.ChildEntities) { //IEntityCollection cols = (IEntityCollection) // Activator.CreateInstance(ecd.ConstructionType); //if (ecd.mi.MemberType == MemberTypes.Field) // ((FieldInfo)ecd.mi).SetValue(DestObj, cols); //else // ((PropertyInfo)ecd.mi).SetValue(DestObj, cols, null); IList SrcCols = ecd.GetValue(SourceObj); IList DestCols = (IList)ecd.CreateNew((BusinessEntity)DestObj); ((IEntityCollection)DestCols).OnLoad = true; foreach (BusinessEntity obj in SrcCols) { DestCols.Add(CloneAll(obj)); } ((IEntityCollection)DestCols).OnLoad = false; } } //if (CallLoadRule) //{ // px.AfterLoadFound(); // BaseFramework.DoEntityAction(DestObj, enEntityActionMode.AfterLoadFound); //} ParentEntity pe = DestObj as ParentEntity; if (pe != null) { pe.AfterClone((ParentEntity)SourceObj); } } finally { DestObj.EntityOnLoad = false; DestObj.DataChanged(); } return(DestObj); }
private void CheckEntityType() { if (FormType == null) { TypeChecked = true; return; } if (_Form == null || _Form.IsDisposed) { if (FormType.GetInterface("IEntityControl") != null) { _Form = new frmDocument(FormType); } else if (FormType.IsSubclassOf(typeof(Form))) { _Form = BaseFactory.CreateInstance(FormType) as Form; } else { throw new ApplicationException("FormType harus Form, IEntityControl"); } _Ief = _Form as IEntityForm; if (_Ief == null) { foreach (Control Ctrl in _Form.Controls) { if (object.ReferenceEquals(Ctrl.GetType(), UINType)) { _UIN = (UINavigator)Ctrl; _UIN.EntityForm = this; break; } } } else { _Ief.SetOwner(this); } _Form.MdiParent = BaseWinFramework._MdiParent; } if (!TypeChecked) { EntityType = _UIN != null?_UIN.GetEntity().GetType() : _Ief != null?_Ief.GetEntityType() : null; TypeChecked = true; } }
// Dari Dokumen public void ShowForm(Form MdiParent, string ReportName, BusinessEntity DataSource, Evaluator Evaluator) { SaveEval = false; try { xrDesignPanel1.SetCommandVisibility(ReportCommand.AddNewDataSource, CommandVisibility.None); _Evaluator = Evaluator ?? BaseFactory .CreateInstance <Evaluator>(); LayoutHeader = "D_"; IDataDictionary ds = new ReportSingleEntity(DataSource); Text = "Desain Cetak " + ReportName; xReport rpt = new xReport(_Evaluator); rpt.PaperKind = PaperKind.A4; rpt.DataSource = ds; RptName = ReportName; NewDesign(rpt); msTanpaLayout = new MemoryStream(); rpt.SaveLayout(msTanpaLayout); if (MdiParent != null) { this.MdiParent = MdiParent; } List <string> ListLayout = DocPrintBrowseLayout .GetListLayout(LayoutHeader + RptName); ((RepositoryItemComboBox)barEditItem3.Edit) .Items.AddRange(ListLayout); barEditItem3.EditValue = strTanpaLayout; } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error Baca Layout Laporan", MessageBoxButtons.OK, MessageBoxIcon.Information); } finally { Show(); } }
// Dari Laporan Bebas public void ShowForm3(Form MdiParent, string ReportName, Evaluator Evaluator) { SaveEval = true; try { fieldListDockPanel1.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden; xrDesignPanel1.SetCommandVisibility(ReportCommand.AddNewDataSource, CommandVisibility.None); _Evaluator = Evaluator ?? BaseFactory.CreateInstance <Evaluator>(); LayoutHeader = "F_"; Text = "Desain Cetak " + ReportName; xReport rpt = new xReport(Evaluator); rpt.PaperKind = PaperKind.A4; RptName = ReportName; NewDesign(rpt); msTanpaLayout = new MemoryStream(); rpt.SaveLayout(msTanpaLayout); if (MdiParent != null) { this.MdiParent = MdiParent; } List <string> ListLayout = DocPrintBrowseLayout .GetListLayout(LayoutHeader + ReportName); ((RepositoryItemComboBox)barEditItem3.Edit) .Items.AddRange(ListLayout); barEditItem3.EditValue = strTanpaLayout; } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Error Baca Layout Laporan", MessageBoxButtons.OK, MessageBoxIcon.Information); } finally { Show(); } }
public static BaseEntity FastClone(BaseEntity SourceObj) { TableDef td = GetTableDef(SourceObj.GetType()); BusinessEntity DestObj = (BusinessEntity)BaseFactory .CreateInstance(td._ClassType); DestObj.EntityOnLoad = true; try { foreach (FieldDef fd in td.KeyFields.Values) { fd.SetLoadValue(DestObj, fd.GetValue(SourceObj)); } foreach (FieldDef fd in td.NonKeyFields.Values) { fd.SetLoadValue(DestObj, fd.GetValue(SourceObj)); } } finally { DestObj.EntityOnLoad = false; } return(DestObj); }
public frmDocument(Type EntityControlType) { InitializeComponent(); EntityCtrl = (Control)BaseFactory .CreateInstance(EntityControlType); XtraForm Frm = EntityCtrl as XtraForm; if (Frm != null) { Frm.Dock = DockStyle.Fill; Frm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; Frm.TopLevel = false; Frm.Parent = panelControl1; if (Frm.WindowState == FormWindowState.Maximized) { Frm.WindowState = FormWindowState.Normal; WindowState = FormWindowState.Maximized; } Frm.Show(); } else { panelControl1.Controls.Add(EntityCtrl); } EntityCtrl.Dock = DockStyle.Fill; EntityCtrl.TabIndex = 0; ((IEntityControl)EntityCtrl).InitNavigator(uiNavigator1); Type EntityType = uiNavigator1.BindingSource.DataSource.GetType(); if (!EntityType.IsSubclassOf(typeof(ParentEntity))) { EntityType = ((Type)uiNavigator1.BindingSource.DataSource) .UnderlyingSystemType; object DataSource = BaseFactory.CreateInstance(EntityType); uiNavigator1.BindingSource.DataSource = DataSource; } if (Frm != null && Frm.Text.Length > 0) { Text = Frm.Text; } else { Text = BaseWinFramework.GetModuleName(EntityControlType); } if (Text.Length == 0 && EntityType != null) { Text = BaseUtility.SplitName(EntityType.Name); } if (BaseWinFramework.MdiParent == null && ActiveForm != null && !ActiveForm.Modal) { PrevForm = ActiveForm; PrevForm.Hide(); } }
public void ShowForm2(EntityForm EntityForm, string ReportName, string FreeFilter, object TransStartDate, object TransEndDate, object[] Parameters) { _ReportName = ReportName; _EntityForm = EntityForm; if (EntityForm.ModuleName.Length > 0 && BaseSecurity.CurrentLogin .CurrentRole.Length > 0) { ModuleAccess ma = BaseSecurity.GetModuleAccess(EntityForm.ModuleName); if (!ma.GetVariable <bool>(SecurityVarName.ReportDesignPrint, false)) { comboBoxEdit1.Properties.Buttons[2].Enabled = false; } } _Evaluator = BaseFactory.CreateInstance <Evaluator>(); if (_ReportName.Contains("Laporan")) { Text = _ReportName; } else { Text = "Laporan " + _ReportName; } _FilterForm = BaseFactory.CreateInstance( _EntityForm.FilterFormType) as IFilterForm; if (_FilterForm == null) { XtraMessageBox.Show("Form Filter harus implement Interface IFilterForm !", "Error Filter", MessageBoxButtons.OK, MessageBoxIcon.Error); Close(); return; } _ShowViewForm = _FilterForm as IShowView; if (_ShowViewForm == null) { XtraMessageBox.Show("Form Filter harus implement Interface IShowView !", "Error Filter", MessageBoxButtons.OK, MessageBoxIcon.Error); Close(); return; } if (_EntityForm.FilterFormType == null || _FilterForm as ReportEntity != null) { splitContainerControl1.PanelVisibility = SplitPanelVisibility.Panel2; } else { XtraForm Frm = _FilterForm as XtraForm; if (Frm != null) { InitFilterForm(Frm, xtraScrollableControl1, splitContainerControl1); } else { QueryReportEntity(xtraScrollableControl1, splitContainerControl1); } } List <string> ListItems = DocPrintBrowseLayout .GetListLayout("F_" + _ReportName); if (ListItems.Count == 0) { if (re != null) { Dictionary <string, object> Vars = new Dictionary <string, object>(); re.GetVariables(Vars); SaveReportFromTemplateFolder("F_", ReportName, ListItems, Vars); } else { SaveReportFromTemplateFolder("F_", ReportName, ListItems, _FilterForm != null ? _FilterForm.FilterList : null); } } comboBoxEdit1.Properties.Items.AddRange(ListItems); string CurrBrowseLayoutId = string.Empty; bool Tmp; DocDefault.GetDefaultLayout(_ReportName, out CurrBrowseLayoutId, out CurrPrintLayoutId, out Tmp); if (re != null) { ((IShowView)re).ShowView(Parameters); } else if (_ShowViewForm != null) { _ShowViewForm.ShowView(Parameters); } comboBoxEdit1.SelectedItem = CurrBrowseLayoutId; if (comboBoxEdit1.SelectedIndex < 0 && comboBoxEdit1.Properties.Items.Count > 0) { comboBoxEdit1.SelectedIndex = 0; } else { comboBoxEdit1_SelectedIndexChanged(null, null); } sbTotal.Caption = "Total Halaman: " + printControl1.PrintingSystem.Pages.Count; ribbonStatusBar1.Refresh(); printControl1.PrintingSystem.AfterChange += new DevExpress.XtraPrinting.ChangeEventHandler(PrintingSystem_AfterChange); Show(); printControl1.Focus(); }
public xReport(Evaluator Evaluator) { this.Evaluator = Evaluator ?? BaseFactory .CreateInstance <Evaluator>(); PrintingSystem.StartPrint += new PrintDocumentEventHandler(PrintingSystem_StartPrint); }
ShowDialog(Type ControlType, string ModuleName) { using (new WaitCursor(true)) { if (ControlType.IsSubclassOf(typeof(DocumentForm))) { ParentEntity orig; frmSingletonEntity frm = new frmSingletonEntity(); Control FormCtrl = (Control)BaseFactory .CreateInstance(ControlType); BindingSource bnd = BaseWinFramework.FindMainBindingSource( (Form)FormCtrl, typeof(ParentEntity)); orig = bnd.DataSource as ParentEntity; if (orig == null) { orig = (ParentEntity) BaseFactory.CreateInstance((Type)bnd.DataSource); } if (!orig.LoadEntity()) { orig.SetDefaultValue(); } frm.pe = (ParentEntity)MetaData.CloneAll(orig); frm.pe.SetOriginal(orig); ((IRuleInitUI)frm.pe).InitUI(); DocumentForm frmc = (DocumentForm)FormCtrl; frm.frmc = frmc; bnd.DataSource = frm.pe; IEntityControl df = FormCtrl as IEntityControl; if (df != null) { df.InitNavigator(null); } ((IRuleInitUI)frm.pe).AfterInitNavigator(null); BaseWinFramework.WinForm.AutoFormat .AutoFormatForm(FormCtrl, false); BaseWinFramework.WinForm.AutoLockEntity.LockForm(frm.pe, MetaData.GetTableDef(frm.pe.GetType()), FormCtrl); frm.ep = new DXErrorProvider(frm); frm.ep.DataSource = bnd; if (frmc != null) { frmc.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; frmc.FormClosed += new FormClosedEventHandler(frmc_FormClosed); frmc.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; frmc.TopLevel = false; frmc.Parent = frm; frm.Width = frmc.Width + frm.Width - frm.DisplayRectangle.Width; if (frmc.ShowConfirmButton) { frm.Height = frmc.Height + 70; } else { frm.Height = frmc.Height + frm.Height - frm.DisplayRectangle.Height; frm.simpleButton1.Visible = false; frm.simpleButton2.Visible = false; } frmc.Show(); } else { frm.Width = FormCtrl.Width + frm.Width - frm.DisplayRectangle.Width; frm.Height = FormCtrl.Height + 70; frm.Controls.Add(FormCtrl); } if (frmc != null && frmc.Text.Length > 0) { frm.Text = frmc.Text; } else { frm.Text = BaseUtility.SplitName(ModuleName.Length == 0 ? orig.GetType().Name : ModuleName); } ((Control)frmc).TabIndex = 0; return(frm.ShowForm(BaseWinFramework.MdiParent)); } else { XtraForm frm = (XtraForm)BaseFactory.CreateInstance(ControlType); return(frm.ShowDialog(BaseWinFramework.MdiParent)); } } }
public void ShowForm(XtraForm MdiParent, Type FormType, Type EntityType, DataPersistance dp, Type FilterFormType, string DataFilter) { _Evaluator = new Evaluator(); Dp = dp; this.DataFilter = DataFilter; comboBoxEdit1.Properties.Items.Add("(Layout Default)"); if (EntityType != null) { _FormType = FormType; _EntityType = EntityType; td = MetaData.GetTableDef(EntityType); Dp.ValidateTableDef(td); if (td.fldTransactionDate != null) { dateEdit1.DateTime = DateTime.Today; dateEdit2.DateTime = DateTime.Today; } else { label3.Visible = false; label4.Visible = false; dateEdit1.Visible = false; dateEdit2.Visible = false; } _ReportName = BaseUtility.SplitName(_EntityType.Name); } else { label3.Visible = false; label4.Visible = false; dateEdit1.Visible = false; dateEdit2.Visible = false; if (FilterFormType != null) { _ReportName = FilterFormType.Name.Substring(0, 3).ToLower(); if (_ReportName == "frm" || _ReportName == "rpt") { _ReportName = BaseUtility.SplitName( FilterFormType.Name.Substring(3)); } else { _ReportName = BaseUtility.SplitName(FilterFormType.Name); } } else { _ReportName = "Bebas"; } } Text = "Laporan " + _ReportName; comboBoxEdit1.Properties.Items.AddRange( DocBrowseLayout.GetListLayout(_ReportName)); this.MdiParent = MdiParent; if (FilterFormType == null) { splitContainerControl1.PanelVisibility = SplitPanelVisibility.Panel2; } else { _FilterForm = BaseFactory.CreateInstance(FilterFormType) as IFilterForm; if (_FilterForm == null) { XtraMessageBox.Show("Form Filter harus implement Interface IFilterForm !", "Error Filter", MessageBoxButtons.OK, MessageBoxIcon.Error); Close(); return; } XtraForm Frm = _FilterForm as XtraForm; if (Frm != null) { Frm.FormBorderStyle = FormBorderStyle.None; Frm.TopLevel = false; Frm.Parent = xtraScrollableControl1; splitContainerControl1.SplitterPosition = Frm.Height + 5; Frm.KeyPreview = true; Frm.KeyDown += new KeyEventHandler(frmGridReport_KeyDown); xtraScrollableControl1.BackColor = Frm.BackColor; Frm.Show(); } else { splitContainerControl1.PanelVisibility = SplitPanelVisibility.Panel2; } } barButtonItem8_ItemClick(null, null); DefaultLayout = new MemoryStream(); pivotGridControl1.SaveLayoutToStream(DefaultLayout); string CurrBrowseLayoutId = string.Empty; bool Tmp; DocDefault.GetDefaultLayout(_ReportName, out CurrBrowseLayoutId, out CurrPrintLayoutId, out Tmp); Show(); comboBoxEdit1.SelectedItem = CurrBrowseLayoutId; if (comboBoxEdit1.SelectedIndex < 0) { comboBoxEdit1.SelectedIndex = 0; } textEdit1.Focus(); }
public static BaseEntity Clone(BaseEntity SourceObj) { TableDef td = GetTableDef(SourceObj.GetType()); BusinessEntity DestObj = (BusinessEntity)BaseFactory .CreateInstance(td._ClassType); IRuleInitUI px = DestObj as IRuleInitUI; //CallLoadRule = CallLoadRule && px != null; DestObj.EntityOnLoad = true; try { foreach (FieldDef fd in td.KeyFields.Values) { fd.SetLoadValue(DestObj, fd.GetValue(SourceObj)); } foreach (FieldDef fd in td.NonKeyFields.Values) { fd.SetLoadValue(DestObj, fd.GetValue(SourceObj)); } if (td.ChildEntities.Count > 0) { foreach (EntityCollDef ecd in td.ChildEntities) { IList SrcCols = ecd.GetValue(SourceObj); IList DestCols = ecd.GetValue(DestObj); int NumDest = DestCols.Count; ((IEntityCollection)DestCols).OnLoad = true; int i = 0; foreach (BaseEntity obj in SrcCols) { if (i < NumDest) { Clone((BaseEntity)DestCols[i++], obj); } else { DestCols.Add(Clone(obj)); } } ((IEntityCollection)DestCols).OnLoad = false; } } //if (CallLoadRule) //{ //px.AfterLoadFound(); //BaseFramework.DoEntityAction(DestObj, enEntityActionMode.AfterLoadFound); //} BusinessEntity be = DestObj as BusinessEntity; if (be != null) { be.AfterClone((BusinessEntity)SourceObj); } } finally { DestObj.EntityOnLoad = false; DestObj.DataChanged(); } return(DestObj); }
public EntityNavigator(Type ObjType, DataPersistance Dp, bool CallSetDefault) : this((ParentEntity)BaseFactory .CreateInstance(ObjType), Dp, CallSetDefault) { }
bool IUIEntity.TryGetFocusedRowValue <TType>(string TableName, string FieldName, out TType Value) { if (DictGrid.Count == 0) { Value = default(TType); return(false); } bool RetVal = false; try { GridView gv = TableName.Length > 0 ? ListGrid[DictGrid[TableName]].gv : (GridView)((GridControl) ((Form)ParentForm.ActiveControl).ActiveControl) .FocusedView; if (typeof(TType).IsSubclassOf(typeof(BaseEntity))) { object TmpVal = BaseFactory.CreateInstance <TType>(); Type tp = typeof(TType); PropertyInfo pi; FieldInfo fi; bool AllNull = true; foreach (GridColumn gc in gv.Columns) { object TmpRowVal = gv.GetFocusedRowCellValue(gc); if (TmpRowVal == null) { continue; } AllNull = false; fi = tp.GetField("_" + gc.FieldName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); if (fi != null) { fi.SetValue(TmpVal, TmpRowVal); continue; } pi = tp.GetProperty(gc.FieldName); if (pi != null) { if (pi.CanWrite) { pi.SetValue(TmpVal, TmpRowVal, null); } } else { fi = tp.GetField(gc.FieldName); if (fi != null) { fi.SetValue(TmpVal, TmpRowVal); } } } Value = (TType)TmpVal; RetVal = !AllNull; } else { object TmpVal = gv.GetFocusedRowCellValue(FieldName); RetVal = TmpVal != null; Value = (TType)TmpVal; } } catch { Value = default(TType); } return(RetVal); }
protected override void OnAddingNew(AddingNewEventArgs e) { e.NewObject = BaseFactory.CreateInstance <TChild>(); base.OnAddingNew(e); }