public static bool SetAutoValue(BusinessObject obj) { bool isModified = false; #region Edit Count if (DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colEditCount)) { int iCount = -1; object objCount = ABCDynamicInvoker.GetValue(obj, ABCCommon.ABCConstString.colEditCount); if (objCount != null && objCount != DBNull.Value) { iCount = Convert.ToInt32(objCount); } iCount++; object objOldValue = ABCDynamicInvoker.GetValue(obj, ABCCommon.ABCConstString.colEditCount); ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colEditCount, iCount); if (Convert.ToInt32(objOldValue) != iCount) { isModified = true; } } #endregion isModified = isModified || CurrencyProvider.GenerateCurrencyValue(obj); return(isModified); }
public static Dictionary <String, object> GetSameColumnValues(List <BusinessObject> lstObjects) { Dictionary <String, object> lstResults = new Dictionary <string, object>(); foreach (String strProName in GetSameColumnNames(lstObjects)) { bool isSameValue = true; object objFieldValue = null; foreach (BusinessObject obj in lstObjects) { if (objFieldValue == null) { objFieldValue = ABCDynamicInvoker.GetValue(obj, strProName); continue; } if (objFieldValue != ABCDynamicInvoker.GetValue(obj, strProName)) { isSameValue = false; break; } } if (isSameValue) { if (lstResults.ContainsKey(strProName) == false) { lstResults.Add(strProName, objFieldValue); } } } return(lstResults); }
public static Guid GetIDValue(BusinessObject obj) { if (obj == null) { return(Guid.Empty); } string strPrimaryKeyColumn = DataStructureProvider.GetPrimaryKeyColumn(obj.AATableName); return(ABCHelper.DataConverter.ConvertToGuid(ABCDynamicInvoker.GetValue(obj, strPrimaryKeyColumn))); }
public static List <object> GetListDataByColumn(List <BusinessObject> lstObjects, String strFieldName) { List <object> lstReturns = new List <object>(); foreach (BusinessObject obj in lstObjects) { object objValue = ABCDynamicInvoker.GetValue(obj, strFieldName); if (objValue != null && lstReturns.Contains(objValue) == false) { lstReturns.Add(objValue); } } return(lstReturns); }
public void GetFromBusinessObject(BusinessObject objBusinessObject) { BusinessObjectHelper.InitPropertyList(this.AATableName); BusinessObjectHelper.InitPropertyList(objBusinessObject.AATableName); foreach (PropertyInfo srcProp in BusinessObjectHelper.PropertyList[objBusinessObject.AATableName].Values) { PropertyInfo destProp = BusinessObjectHelper.GetProperty(this.AATableName, srcProp.Name); if (destProp != null) { object objValue = ABCDynamicInvoker.GetValue(objBusinessObject, srcProp); ABCDynamicInvoker.SetValue(this, destProp, objValue); } } }
public static String GetRemarkValue(BusinessObject obj) { if (obj == null) { return(null); } object objReturn = ABCDynamicInvoker.GetValue(obj, "Remark"); if (objReturn != null) { return(objReturn.ToString()); } return(""); }
public BusinessObject SetToBusinessObject(String strDestTableName) { BusinessObject objResultObject = BusinessObjectFactory.GetBusinessObject(strDestTableName + "Info"); foreach (PropertyInfo destProp in BusinessObjectHelper.PropertyList[strDestTableName].Values) { PropertyInfo srcProp = BusinessObjectHelper.GetProperty(this.AATableName, destProp.Name); if (srcProp != null) { object objValue = ABCDynamicInvoker.GetValue(this, srcProp); ABCDynamicInvoker.SetValue(objResultObject, destProp, objValue); } } return(objResultObject); }
public static String GetDisplayValue(BusinessObject obj) { if (obj == null) { return(null); } string strCol = DataStructureProvider.GetDisplayColumn(obj.AATableName); object objReturn = ABCDynamicInvoker.GetValue(obj, strCol); if (objReturn != null) { return(objReturn.ToString()); } return(""); }
public static bool GenerateNoColumn(BusinessObject obj, bool isAlwayGenerate) { String strNoCol = DataStructureProvider.GetNOColumn(obj.AATableName); if (!String.IsNullOrWhiteSpace(strNoCol)) { if (isAlwayGenerate || String.IsNullOrWhiteSpace(ABCDynamicInvoker.GetValue(obj, strNoCol).ToString())) { String strNo = NumberingProvider.GenerateNo(obj); if (!String.IsNullOrWhiteSpace(strNo)) { ABCDynamicInvoker.SetValue(obj, strNoCol, strNo); return(true); } } } return(false); }
public Nullable <Guid> GetIDByNo(String strObjectNo) { BusinessObject obj = GetObjectByNo(strObjectNo); if (obj == null) { return(null); } object objID = ABCDynamicInvoker.GetValue(obj, DataStructureProvider.GetPrimaryKeyColumn(TableName)); if (objID == null) { return(null); } return((Nullable <Guid>)objID); }
public static bool IsModifiedObject(BusinessObject obj) { String strPKCol = DataStructureProvider.GetPrimaryKeyColumn(obj.AATableName); object objID = ABCDynamicInvoker.GetValue(obj, strPKCol); if (objID == null || objID == DBNull.Value) { return(true); } Guid id = Guid.Empty; if (objID is Guid) { id = (Guid)objID; } else if (objID is Nullable <Guid> && ((Nullable <Guid>)objID).HasValue) { id = ((Nullable <Guid>)objID).Value; } else { return(true); } BusinessObject obj2 = BusinessControllerFactory.GetBusinessController(obj.AATableName).GetObjectByID(id); InitPropertyList(obj.AATableName); foreach (PropertyInfo proInfo in PropertyList[obj.AATableName].Values) { object pro1 = proInfo.GetValue(obj, null); object pro2 = proInfo.GetValue(obj2, null); if (pro1 == pro2 || (pro1 == null && pro2 == null) || (pro1 != null && pro2 != null && pro1.ToString() == pro2.ToString())) { continue; } return(true); } return(false); }
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 void DeleteObject(BusinessObject obj) { object objID = (object)ABCDynamicInvoker.GetValue(obj, DataStructureProvider.GetPrimaryKeyColumn(obj.AATableName)); Guid id = Guid.Empty; if (objID is Guid) { id = (Guid)objID; } else if (objID is Nullable <Guid> && ((Nullable <Guid>)objID).HasValue) { id = ((Nullable <Guid>)objID).Value; } else { return; } DeleteObject(id); }
public static bool CopyField(BusinessObject objFrom, BusinessObject objTo, String strFromField, String strToField, Boolean isCleanFieldOnly) { if (objFrom == null || objTo == null) { return(false); } if (isCleanFieldOnly == false || (isCleanFieldOnly && IsCleanField(objTo, strToField))) { object objValue = ABCDynamicInvoker.GetValue(objFrom, strFromField); if (objValue != null) { object objOldValue = ABCDynamicInvoker.GetValue(objTo, strToField); ABCDynamicInvoker.SetValue(objTo, strToField, objValue); if (objOldValue != objValue) { return(true); } } } return(false); }
public static String GetNameValue(BusinessObject obj) { if (obj == null) { return(String.Empty); } string strName = DataStructureProvider.GetNAMEColumn(obj.AATableName); if (String.IsNullOrWhiteSpace(strName)) { strName = DataStructureProvider.GetNOColumn(obj.AATableName); } object objReturn = ABCDynamicInvoker.GetValue(obj, strName); if (objReturn != null) { return(objReturn.ToString()); } return(String.Empty); }
public static bool CopyFKFields(BusinessObject objFrom, BusinessObject objTo, Boolean isCleanFieldOnly) { if (objFrom == null || objTo == null) { return(false); } bool isCopied = false; String strFromName = objFrom.AATableName; String strToName = objTo.AATableName; BusinessObjectHelper.InitPropertyList(strToName); foreach (PropertyInfo propTo in BusinessObjectHelper.PropertyList[strToName].Values) { if (DataStructureProvider.IsForeignKey(strToName, propTo.Name) == false) { continue; } PropertyInfo propFrom = BusinessObjectHelper.GetProperty(strFromName, propTo.Name); if (propFrom != null) { if (isCleanFieldOnly == false || (isCleanFieldOnly && IsCleanField(objTo, propTo.Name))) { object objValue = ABCDynamicInvoker.GetValue(objFrom, propFrom); object objOldValue = ABCDynamicInvoker.GetValue(objTo, propTo); ABCDynamicInvoker.SetValue(objTo, propTo, objValue); if (objOldValue != objValue) { isCopied = true; } } } } return(isCopied); }
public object Clone(Type destType) { if (destType == this.GetType()) { return(this.MemberwiseClone()); } Type orgType = this.GetType(); BusinessObject newObject = (BusinessObject)Activator.CreateInstance(destType); PropertyInfo[] properties = destType.GetProperties(); foreach (PropertyInfo prop in properties) { PropertyInfo orgPro = orgType.GetProperty(prop.Name); if (orgPro != null) { object objValue = ABCDynamicInvoker.GetValue(this, orgPro); ABCDynamicInvoker.SetValue(newObject, prop, objValue); } } return(newObject); }
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); }
public String GetNoByID(Guid iObjectID) { BusinessObject obj = GetObjectByID(iObjectID); return((String)ABCDynamicInvoker.GetValue(obj, DataStructureProvider.GetNOColumn(TableName))); }
public Guid GetIDByName(String strObjectName) { BusinessObject obj = GetObjectByName(strObjectName); return((Guid)ABCDynamicInvoker.GetValue(obj, DataStructureProvider.GetPrimaryKeyColumn(TableName))); }