Exemplo n.º 1
0
        public void UpdateObject(BusinessObject obj)
        {
            if (DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colSelected))
            {
                ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colSelected, false);
            }

            if (String.IsNullOrWhiteSpace(ABCBaseUserProvider.CurrentUserName) == false &&
                DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colUpdateUser))
            {
                ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colUpdateUser, ABCBaseUserProvider.CurrentUserName);
            }

            if (DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colUpdateTime))
            {
                ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colUpdateTime, ABCApp.ABCDataGlobal.WorkingDate);
            }

            BusinessObjectHelper.GenerateNoColumn(obj, false);

            if (DatabaseHelper.IsSQLConnection())
            {
                (DatabaseHelper as SqlDatabaseHelper).RunStoredProcedure(StoredProcedureGenerator.GetSPName(StoredProcedureGenerator.SPType.Update, TableName), obj);
            }
            else
            {
                DatabaseHelper.RunScript(QueryTemplateGenerator.GenUpdate(TableName), obj);
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
                }
            }
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        public virtual Guid CreateObject(BusinessObject obj)
        {
            #region Default Value
            if (DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colSelected))
            {
                ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colSelected, false);
            }

            if (String.IsNullOrWhiteSpace(ABCBaseUserProvider.CurrentUserName) == false &&
                DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colCreateUser))
            {
                ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colCreateUser, ABCBaseUserProvider.CurrentUserName);
            }

            if (DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colCreateTime))
            {
                ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colCreateTime, ABCApp.ABCDataGlobal.WorkingDate);
            }

            #endregion

            Guid iID = Guid.Empty;
            if (DatabaseHelper.IsSQLConnection())
            {
                iID = ABCHelper.DataConverter.ConvertToGuid((DatabaseHelper as SqlDatabaseHelper).RunStoredProcedure(StoredProcedureGenerator.GetSPName(StoredProcedureGenerator.SPType.Insert, TableName), obj));
            }
            else
            {
                String strQuery = QueryTemplateGenerator.GenInsert(TableName);
                iID      = Guid.NewGuid();
                strQuery = strQuery.Replace(String.Format("@{0}", DataStructureProvider.GetPrimaryKeyColumn(TableName)), "'" + iID.ToString() + "'");
                DatabaseHelper.RunScript(strQuery, obj);
            }

            ABCDynamicInvoker.SetValue(obj, DataStructureProvider.GetPrimaryKeyColumn(obj.AATableName), iID);

            if (BusinessObjectHelper.GenerateNoColumn(obj, true))
            {
                UpdateObject(obj);
            }

            return(iID);
        }
Exemplo n.º 7
0
        public static void SetDefaultValue(BusinessObject obj)
        {
            if (DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colDocumentDate))
            {
                ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colDocumentDate, ABCApp.ABCDataGlobal.WorkingDate);
            }
            if (DataStructureProvider.IsTableColumn(obj.AATableName, "DocumentExpireDate"))
            {
                ABCDynamicInvoker.SetValue(obj, "DocumentExpireDate", ABCApp.ABCDataGlobal.WorkingDate.AddMonths(1));
            }
            if (DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colVoucherDate))
            {
                ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colVoucherDate, ABCApp.ABCDataGlobal.WorkingDate);
            }

            if (DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colApprovalStatus))
            {
                ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colApprovalStatus, ABCCommon.ABCConstString.ApprovalTypeNew);
            }
            if (DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colApprovedDate))
            {
                ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colApprovedDate, null);
            }

            if (DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colJournalStatus))
            {
                ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colJournalStatus, ABCCommon.ABCConstString.PostStatusNew);
            }
            if (DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colJournalDate))
            {
                ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colJournalDate, ABCApp.ABCDataGlobal.WorkingDate);
            }

            if (DataStructureProvider.IsTableColumn(obj.AATableName, ABCCommon.ABCConstString.colLockStatus))
            {
                ABCDynamicInvoker.SetValue(obj, ABCCommon.ABCConstString.colLockStatus, ABCCommon.ABCConstString.LockStatusNew);
            }

            obj.SetNoValue(String.Empty);

            CurrencyProvider.GenerateCurrencyValue(obj);
        }
Exemplo n.º 8
0
        public static BusinessObject GetBusinessObject(DataRow row, String strTableName)
        {
            if (row == null)
            {
                return(null);
            }

            InitPropertyList(strTableName);
            Dictionary <String, PropertyInfo> lstInner = null;

            if (PropertyList.TryGetValue(strTableName, out lstInner) == false)
            {
                return(null);
            }

            #region ABCDynamicInvoker
            BusinessObject obj = BusinessObjectFactory.GetBusinessObject(strTableName);
            foreach (DataColumn column in row.Table.Columns)
            {
                object objValue = row[column];
                if (objValue == System.DBNull.Value)
                {
                    continue;
                }
                if (objValue.GetType() == typeof(Int64))
                {
                    objValue = Convert.ToInt32(objValue);
                }

                PropertyInfo property = null;
                lstInner.TryGetValue(column.ColumnName, out property);
                if (property != null)
                {
                    ABCDynamicInvoker.SetValue(obj, property, objValue);
                }
            }
            return(obj);

            #endregion
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        public static void SetNOValue(BusinessObject obj, String strNo)
        {
            string strNOCol = DataStructureProvider.GetNOColumn(obj.AATableName);

            ABCDynamicInvoker.SetValue(obj, strNOCol, strNo);
        }
Exemplo n.º 13
0
        public static void SetIDValue(BusinessObject obj, Guid iID)
        {
            string strPrimaryKeyColumn = DataStructureProvider.GetPrimaryKeyColumn(obj.AATableName);

            ABCDynamicInvoker.SetValue(obj, strPrimaryKeyColumn, iID);
        }