public void Search( ) { if (BindingObject != null && GridCtrl != null) { if (BindingObject.DataManager.MainObject == null) { return; } BusinessObject mainObj = BindingObject.DataManager.MainObject.DataObject as BusinessObject; BusinessObjectController ctrl = BusinessControllerFactory.GetBusinessController(mainObj.AATableName); ConditionBuilder strBuilder = BindingObject.GenerateQuery(true); if (strBuilder == null || String.IsNullOrWhiteSpace(strBuilder.ToString())) { return; } if (SearchPanel != null) { SearchPanel.GetSearchQuery(strBuilder, SearchPanel); } if (BindingObject.DataManager.Screen.UIManager.View.DataField != null) { GEVouchersInfo config = VoucherProvider.GetConfig(BindingObject.TableName, BindingObject.DataManager.Screen.UIManager.View.DataField.STViewNo); if (config != null && !String.IsNullOrWhiteSpace(config.ConditionString)) { strBuilder.AddCondition(config.ConditionString); } } if (DataStructureProvider.IsTableColumn(BindingObject.TableName, ABCCommon.ABCConstString.colApprovalStatus)) { if (chkNotYetApproved.Checked) { strBuilder.AddCondition(String.Format("{0}<>'{1}'", ABCCommon.ABCConstString.colApprovalStatus, ABCCommon.ABCConstString.ApprovalTypeApproved)); } } if (DataStructureProvider.IsTableColumn(BindingObject.TableName, ABCCommon.ABCConstString.colLockStatus)) { if (chkLocked.Checked) { strBuilder.AddCondition(String.Format("{0}='{1}'", ABCCommon.ABCConstString.colLockStatus, ABCCommon.ABCConstString.LockStatusLocked)); } } if (DataStructureProvider.IsTableColumn(BindingObject.TableName, ABCCommon.ABCConstString.colJournalStatus)) { if (chkNotYetPosted.Checked) { strBuilder.AddCondition(String.Format("{0}<>'{1}'", ABCCommon.ABCConstString.colJournalStatus, ABCCommon.ABCConstString.PostStatusPosted)); } } object datasource = null; Type objType = BusinessObjectFactory.GetBusinessObjectType(GridCtrl.TableName); if (objType != null) { Type typeABCList = typeof(ABCList <>).MakeGenericType(objType); MethodInfo method; if (typeABCList != null) { datasource = ABCBusinessEntities.ABCDynamicInvoker.CreateInstanceObject(typeABCList); method = typeABCList.GetMethod("LoadData", new Type[] { typeof(List <BusinessObject>) }); method.Invoke(datasource, new object[] { ctrl.GetListByQuery(strBuilder.ToString()) }); } } binding.DataSource = datasource; binding.ResetBindings(false); this.GridCtrl.GridDefaultView.BestFitColumns(); for (int i = 0; i < this.GridCtrl.GridDefaultView.DataRowCount; i++) { BusinessObject obj = this.GridCtrl.GridDefaultView.GetRow(i) as BusinessObject; if (obj != null && obj.GetID() == mainObj.GetID()) { this.GridCtrl.GridDefaultView.FocusedRowHandle = i; return; } } } }
public static void SynchronizeVoucherPermission( ) { GEPermissionVouchersController voucherPermissionCtrl = new GEPermissionVouchersController(); String strQuery = String.Format(@"DELETE FROM GEPermissionVouchers WHERE FK_GEPermissionID NOT IN (SELECT GEPermissionID FROM GEPermissions)"); BusinessObjectController.RunQuery(strQuery); strQuery = String.Format(@"DELETE FROM GEPermissionVouchers WHERE FK_GEVoucherID NOT IN ({0})", QueryGenerator.GenSelect("GEVouchers", "GEVoucherID", false)); BusinessObjectController.RunQuery(strQuery); #region Init Vouchers GEVouchersController voucherCtrl = new GEVouchersController(); Dictionary <Guid, GEVouchersInfo> lstGEVouchers = new Dictionary <Guid, GEVouchersInfo>(); DataSet ds = voucherCtrl.GetDataSetAllObjects(); if (ds != null && ds.Tables.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { GEVouchersInfo voucherInfo = voucherCtrl.GetObjectFromDataRow(dr) as GEVouchersInfo; if (lstGEVouchers.ContainsKey(voucherInfo.GEVoucherID) == false) { lstGEVouchers.Add(voucherInfo.GEVoucherID, voucherInfo); } } } #endregion foreach (GEPermissionsInfo permission in new GEPermissionsController().GetListAllObjects()) { #region Voucher Dictionary <Guid, GEPermissionVouchersInfo> lstGroupVouchers = new Dictionary <Guid, GEPermissionVouchersInfo>(); foreach (GEPermissionVouchersInfo voucherInfo in voucherPermissionCtrl.GetListByForeignKey("FK_GEPermissionID", permission.GEPermissionID).Cast <GEPermissionVouchersInfo>().ToList()) { if (voucherInfo.FK_GEVoucherID.HasValue && lstGroupVouchers.ContainsKey(voucherInfo.FK_GEVoucherID.Value) == false) { if (lstGEVouchers.ContainsKey(voucherInfo.FK_GEVoucherID.Value)) { lstGroupVouchers.Add(voucherInfo.FK_GEVoucherID.Value, voucherInfo); } else { voucherPermissionCtrl.DeleteObject(voucherInfo); } } } foreach (Guid voucherTypeID in lstGEVouchers.Keys) { if (lstGroupVouchers.ContainsKey(voucherTypeID) == false && lstGEVouchers[voucherTypeID].Title != String.Empty) { GEPermissionVouchersInfo voucherInfo = new GEPermissionVouchersInfo(); voucherInfo.FK_GEVoucherID = voucherTypeID; voucherInfo.FK_GEPermissionID = permission.GEPermissionID; voucherInfo.AllowView = true; voucherInfo.AllowNew = true; voucherInfo.AllowEdit = true; voucherInfo.AllowDelete = true; voucherInfo.AllowApproval = true; voucherInfo.AllowLock = true; voucherInfo.AllowPost = true; voucherPermissionCtrl.CreateObject(voucherInfo); lstGroupVouchers.Add(voucherTypeID, voucherInfo); } } #endregion } }