public static void GetAllController(AppDomain domain, String strAssFileName) { try { Assembly assEntities = domain.Load(AssemblyName.GetAssemblyName(strAssFileName)); if (assEntities == null) { return; } foreach (Type type in assEntities.GetTypes()) { if (typeof(BusinessObjectController).IsAssignableFrom(type)) { BusinessObjectController Ctrl = (BusinessObjectController)ABCDynamicInvoker.CreateInstanceObject(type); if (Ctrl != null) { BusControllersList.Add(type.Name, Ctrl); } } } } catch (Exception ex) { } }
public static BusinessObject GetBusinessObject(String strTableName, String strNoValue) { BusinessObjectController ctrl = BusinessControllerFactory.GetBusinessController(strTableName); if (ctrl != null) { return(ctrl.GetObjectByNo(strNoValue)); } return(null); }
public static BusinessObject GetBusinessObject(String strTableName, Guid iID) { BusinessObjectController ctrl = BusinessControllerFactory.GetBusinessController(strTableName); if (ctrl != null) { return(ctrl.GetObjectByID(iID)); } return(null); }
public static bool IsExistObject(String strTableName, Guid iID) { BusinessObjectController ctrl = BusinessControllerFactory.GetBusinessController(strTableName); if (ctrl == null) { return(false); } if (ctrl.GetObjectByID(iID) == null) { return(false); } return(true); }
public static bool IsPostedObject(String strTableName, Guid iID) { BusinessObjectController ctrl = BusinessControllerFactory.GetBusinessController(strTableName); if (ctrl == null) { return(true); } BusinessObject obj = ctrl.GetObjectByID(iID); if (obj == null) { return(true); } object objTemp = ABCDynamicInvoker.GetValue(obj, ABCCommon.ABCConstString.colJournalStatus); return(objTemp != null && objTemp.ToString() == ABCCommon.ABCConstString.PostStatusPosted); }
public static BusinessObjectController GetBusinessController(String strTableName) { if (BusControllersList.Count <= 0) { AppDomain domain = AppDomain.CreateDomain("ABCBusinessObject"); GetAllController(domain, Application.StartupPath + "\\BaseObjects.dll"); GetAllController(domain, Application.StartupPath + "\\BusinessObjects.dll"); AppDomain.Unload(domain); } BusinessObjectController businessCtrl = null; BusControllersList.TryGetValue(strTableName + "Controller", out businessCtrl); if (businessCtrl != null) { return(businessCtrl); } return(null); }
public static void CopyFKFields(BusinessObject sourceObj, String strItemTableName) { if (sourceObj == null) { return; } String strFK = DataStructureProvider.GetForeignKeyOfTableName(strItemTableName, sourceObj.AATableName); if (String.IsNullOrWhiteSpace(strFK)) { return; } String strQuery = String.Format("UPDATE {0} SET ", strItemTableName); Dictionary <String, object> lstCols = new Dictionary <string, object>(); foreach (PropertyInfo pro in BusinessObjectHelper.PropertyList[sourceObj.AATableName].Values) { if (DataStructureProvider.IsTableColumn(strItemTableName, pro.Name) == false) { continue; } if (DataStructureProvider.IsForeignKey(sourceObj.AATableName, pro.Name)) { lstCols.Add(pro.Name, ABCHelper.DataConverter.ConvertToGuid(ABCDynamicInvoker.GetValue(sourceObj, pro))); } if (pro.Name == ABCCommon.ABCConstString.colApprovalStatus || pro.Name == ABCCommon.ABCConstString.colApprovedDate || pro.Name == ABCCommon.ABCConstString.colDocumentDate || pro.Name == ABCCommon.ABCConstString.colLockStatus || pro.Name == ABCCommon.ABCConstString.colVoucher || pro.Name == ABCCommon.ABCConstString.colVoucherDate || pro.Name == ABCCommon.ABCConstString.colJournalStatus || pro.Name == ABCCommon.ABCConstString.colJournalDate || pro.Name == ABCCommon.ABCConstString.colUpdateTime || pro.Name == ABCCommon.ABCConstString.colUpdateUser) { lstCols.Add(pro.Name, ABCDynamicInvoker.GetValue(sourceObj, pro)); } } int i = -1; foreach (String strKey in lstCols.Keys) { i++; if (lstCols[strKey] != null && lstCols[strKey] != DBNull.Value) { String strValue = lstCols[strKey].ToString(); if (lstCols[strKey] is DateTime) { strValue = ((DateTime)lstCols[strKey]).ToString("yyyy-MM-dd HH:mm:ss"); } if (lstCols[strKey] is Nullable <DateTime> ) { strValue = ((Nullable <DateTime>)lstCols[strKey]).Value.ToString("yyyy-MM-dd HH:mm:ss"); } if (i < lstCols.Count - 1) { strQuery = strQuery + String.Format(" [{0}] = '{1}',", strKey, strValue); } else { strQuery = strQuery + String.Format(" [{0}] = '{1}'", strKey, strValue); } } else { if (i < lstCols.Count - 1) { strQuery = strQuery + String.Format(" [{0}] = NULL,", strKey); } else { strQuery = strQuery + String.Format(" [{0}] =NULL", strKey); } } } strQuery = strQuery + String.Format(" WHERE [{0}] ='{1}' ", strFK, sourceObj.GetID()); BusinessObjectController.RunQuery(strQuery); }