コード例 #1
0
 public InmateBuffer(PipelineBuffer Buffer, BufferNameMap BufferColumnMap)
 {
     this.Buffer          = Buffer;
     this.BufferColumnMap = BufferColumnMap;
 }
コード例 #2
0
        //public override void AcquireConnections(object transaction)
        //{
        //    IDTSRuntimeConnection100 item;
        //    object obj;
        //    bool flag, flag1, flag2, flag3;
        //    try
        //    {
        //        item = base.ComponentMetaData.RuntimeConnectionCollection[CONNNAME];
        //    }
        //    catch (Exception ex)
        //    {
        //        Microsoft.SqlServer.Dts.ManagedMsg.ErrorSupport errorSupport = base.ErrorSupport;
        //        object[] objArray = new object[] { CONNNAME };
        //        errorSupport.FireErrorWithArgs(-1071611878, out flag1, objArray);
        //        throw new PipelineComponentHResultException(-1071611878);
        //    }
        //    IDTSConnectionManager100 connectionManager = item.ConnectionManager;
        //    if (connectionManager == null)
        //    {
        //        Microsoft.SqlServer.Dts.ManagedMsg.ErrorSupport errorSupport1 = base.ErrorSupport;
        //        object[] objArray1 = new object[] { CONNNAME };
        //        errorSupport1.FireErrorWithArgs(-1071611851, out flag2, objArray1);
        //        throw new PipelineComponentHResultException(-1071611851);
        //    }
        //    try
        //    {
        //        obj = connectionManager.AcquireConnection(transaction);
        //    }
        //    catch (Exception ex2)
        //    {
        //        Exception ex1 = ex2;
        //        var errorSupport2 = base.ErrorSupport;
        //        object[] connectionManagerId = new object[] { item.ConnectionManagerID, ex1.Message };
        //        errorSupport2.FireErrorWithArgs(-1071610798, out flag3, connectionManagerId);
        //        throw new PipelineComponentHResultException(ex1.Message, -1071610798);
        //    }
        //    var httpConnection = obj as HttpClientConnection100;

        //    //base.AcquireConnections(transaction);
        //}

        public override void PreExecute()
        {
            IDTSInput100 input = ComponentMetaData.InputCollection[0];

            bufferIdxs       = new int[input.InputColumnCollection.Count];
            columnDictionary = new BufferNameMap();

            for (int x = 0; x < input.InputColumnCollection.Count; x++)
            {
                IDTSInputColumn100 column = input.InputColumnCollection[x];
                bufferIdxs[x] = BufferManager.FindColumnByLineageID(input.Buffer, column.LineageID);
                columnDictionary.Add(column.Name, bufferIdxs[x]);
            }



            //base.PreExecute();
            IDTSVariables100 variables = null;

            VariableDispenser.LockForRead(ADMINKEY);
            VariableDispenser.LockForRead(APPID);
            VariableDispenser.LockForRead(ZUMONAME);
            VariableDispenser.GetVariables(out variables);
            object adminKeyObj = variables[0].Value;
            object appIdObj    = variables[1].Value;
            object zumoNameObj = variables[2].Value;

            this.adminKey = adminKeyObj.ToString();
            this.appId    = appIdObj.ToString();
            this.zumoName = zumoNameObj.ToString();

            //this.dataTable = new DataTable()
            //{
            //    Locale = CultureInfo.InvariantCulture
            //};
            //IDTSInput100 dTSInput = base.ComponentMetaData.InputCollection[0];
            //IDTSExternalMetadataColumnCollection100 externalColumnCollection = dTSInput.ExternalMetadataColumnCollection;
            //IDTSInputColumnCollection100 inputColumnCollection = dTSInput.InputColumnCollection;
            //int count = inputColumnCollection.Count;
            //this.tableColumns = new DataColumn[count];
            //IDTSExternalMetadataColumn100[] externalMetadataColumnArray = new IDTSExternalMetadataColumn100[count];
            //this.bufferIdxs = new int[count];
            //for (int i = 0; i < count; i++)
            //{
            //    IDTSInputColumn100 inputColumn = inputColumnCollection[i];
            //    IDTSExternalMetadataColumn100 externalMetadataColumn = externalColumnCollection.FindObjectByID(inputColumn.ExternalMetadataColumnID);
            //    externalMetadataColumnArray[i] = externalMetadataColumn;
            //    DataType dataType = inputColumn.DataType;
            //    bool flag5 = false;
            //    dataType = PipelineComponent.ConvertBufferDataTypeToFitManaged(dataType, ref flag5);
            //    Type dataRecordType = PipelineComponent.BufferTypeToDataRecordType(dataType);
            //    this.tableColumns[i] = new DataColumn(externalMetadataColumn.Name, dataRecordType);
            //    int lineageId = inputColumn.LineageID;
            //    try
            //    {
            //        this.bufferIdxs[i] = base.BufferManager.FindColumnByLineageID(dTSInput.Buffer, lineageId);
            //    }
            //    catch (Exception ex)
            //    {
            //        Microsoft.SqlServer.Dts.ManagedMsg.ErrorSupport errorSupport2 = base.ErrorSupport;
            //        object[] name = new object[] { lineageId, externalMetadataColumn.Name };
            //        errorSupport2.FireErrorWithArgs(-1071610795, out flag4, name);
            //        throw new PipelineComponentHResultException(-1071610795);
            //    }
            //}
            //this.dataTable.Columns.AddRange(this.tableColumns);

            IDTSCustomProperty100 item = base.ComponentMetaData.CustomPropertyCollection["TableName"];
            string str;

            if (item.Value == null)
            {
                str = null;
            }
            else
            {
                str = item.Value.ToString().Trim();
            }
            this.tableName = str;
            switch (this.tableName)
            {
            case "charges":
                chargesServiceList = GetAllCharges();
                ComponentMetaData.FireInformation(0, ComponentMetaData.Name, string.Format("Got {0} charges from the online service.", chargesServiceList.Count), "", 0, ref pbCancel);
                chargesToSave = new List <Charge>();
                break;

            case "holds":
                holdsServiceList = GetAllHolds();
                ComponentMetaData.FireInformation(0, ComponentMetaData.Name, string.Format("Got {0} holds from the online service.", holdsServiceList.Count), "", 0, ref pbCancel);
                holdsToSave = new List <Hold>();
                break;

            case "inmates":
            default:
                try
                {
                    inmatesServiceList = GetAllInmates();
                }
                catch (Exception)
                {
                    RetryGetAllInmates();
                }
                ComponentMetaData.FireInformation(0, ComponentMetaData.Name, string.Format("Got {0} inmates from the online service.", inmatesServiceList.Count), "", 0, ref pbCancel);
                inmatesToSave = new List <Inmate>();
                break;
            }
        }