Example #1
0
        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);
        }
Example #6
0
        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);
        }