/// <summary>
        /// 动态创建同步至K3或HC的实现类
        /// </summary>
        private static List <T> GetSynchroClsInstance_1 <T>(Assembly assembly, Type type, SynchroDataType dataType, SynchroDirection direction)
        {
            lock (synchroLock)
            {
                List <Type> types = CreateSynchroInstance <Type>(assembly, type, dataType);

                if (direction.ToString().Equals(SynchroDirection.ToHC))
                {
                    if (clsSynchroToHCType.Count > 0)
                    {
                        return(clsSynchroToHCType as List <T>);
                    }
                    else
                    {
                        return(GetInstances <T>(types, SynchroDirection.ToHC));
                    }
                }
                else
                {
                    if (clsSynchroToK3Type.Count > 0)
                    {
                        return(clsSynchroToK3Type as List <T>);
                    }
                    else
                    {
                        return(GetInstances <T>(types, SynchroDirection.ToK3));
                    }
                }
            }
        }
Beispiel #2
0
        public void SynchroDataTo(Context ctx, SynchroDataType dataType, SynchroDirection direction, List <string> numbers = null, bool flag = true)
        {
            HttpResponseResult result = null;

            try
            {
                if (direction == SynchroDirection.ToK3)
                {
                    result = SynchroDataHelper.SynchroDataToK3(ctx, dataType);
                }
                else if (direction == SynchroDirection.ToHC)
                {
                    result = SynchroDataHelper.SynchroDataToHC(ctx, dataType, null, numbers, flag);
                }

                if (result != null)
                {
                    if (result.Success)
                    {
                        this.View.ShowMessage(string.Format("同步{0}至{1}成功!", LogHelper.GetDataSourceTypeDesc(dataType), direction.ToString()) + result.Message, Kingdee.BOS.Core.DynamicForm.MessageBoxType.Notice);
                    }
                    else
                    {
                        this.View.ShowErrMessage("", string.Format("同步{0}至{1}失败!", LogHelper.GetDataSourceTypeDesc(dataType), direction.ToString()) + result.Message, Kingdee.BOS.Core.DynamicForm.MessageBoxType.Error);
                    }
                }
                else
                {
                    this.View.ShowErrMessage("", string.Format("同步{0}至{1}失败!", LogHelper.GetDataSourceTypeDesc(dataType), direction.ToString()), Kingdee.BOS.Core.DynamicForm.MessageBoxType.Error);
                }
            }
            catch (Exception ex)
            {
                this.View.ShowErrMessage(ex.ToString(), string.Format("同步{0}至{1}失败!", LogHelper.GetDataSourceTypeDesc(dataType), direction.ToString()), Kingdee.BOS.Core.DynamicForm.MessageBoxType.Error);
            }
        }