Exemplo n.º 1
0
        public static string GetConnStringByDefinition(IWMSUnitOfWorkDefinition definition)
        {
            string connectionString;

            if (definition.Database == null)
            {
                throw new Exception("没有指定当前事务运行环境.UnitOfWorkDefinition.Database is null");
            }
            switch (definition.Database.Value)
            {
            case WMSDatabase.Vancl:
                connectionString = WMSConnectionStrings.ConnStringOfSCM;
                break;

            case WMSDatabase.FanKu:
                connectionString = WMSConnectionStrings.ConnStringOfFanKu;
                break;

            case WMSDatabase.Customer:
                connectionString = WMSConnectionStrings.ConnStringOfCustomer;
                break;

            case WMSDatabase.WMSMaster:
                connectionString = WMSConnectionStrings.ConnStringOfWMSMaster;
                break;

            case WMSDatabase.WMSReport:
                connectionString = WMSConnectionStrings.ConnStringOfWMSReport;
                break;

            case WMSDatabase.QMS:
                connectionString = WMSConnectionStrings.ConnStringOfQMS;
                break;

            case WMSDatabase.WMS:
                connectionString = WMSConnectionStrings.ConnStringOfWMS;
                break;

            case WMSDatabase.WarehouseIdSpecified:
                if (string.IsNullOrEmpty(definition.WarehouseId))
                {
                    throw new Exception("请指定事务的仓库Id");
                }
                connectionString = WMSConnectionStrings.GetConnectionStringByWarehouseId(definition.WarehouseId);
                break;

            default:
                connectionString = WMSConnectionStrings.GetConnectionString(definition.Database.Value.ToString());
                break;
            }
            return(connectionString);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取事务管理对象
        /// </summary>
        /// <param name="system">事务运行系统</param>
        /// <param name="warehouseId">事务运行仓库Id</param>
        /// <returns></returns>
        private static IUnitOfWork GetUnitOfWork(WMSDatabase system, string warehouseId)
        {
            AssertUtils.ArgumentNotNull(system, "system");
            if (system == WMSDatabase.WarehouseIdSpecified && string.IsNullOrEmpty(warehouseId))
            {
                throw new Exception("请指定运行事务的仓库Id");
            }
            IWMSUnitOfWorkDefinition unitOfWorkDefinition = WMSUnitOfWorkDefinition.DefaultDefintion;

            unitOfWorkDefinition.Database    = system;
            unitOfWorkDefinition.WarehouseId = warehouseId;

            string connString = ConnectionStringsUtil.GetConnStringByDefinition(unitOfWorkDefinition);

            if (string.IsNullOrEmpty(connString))
            {
                throw new Exception("根据事务定义配置没有找到相应的连接字符串。");
            }

            return(UnitOfWorkFactory.GetAdoNetUnitOfWork(connString, unitOfWorkDefinition));
        }