public void AddToDataCollection(TransactionMetadataGroup tmd)
 {
     lock (this.dataLocker)
     {
         this.dataCollection.Add(tmd);
     }
 }
        private void AddNewTransactionEven()
        {
            var tmg = new TransactionMetadataGroup();
            tmg.ProcessSourceType = this.currentBusinessProcessSourceType;
            var strEnum = EnumHelper.GetLocalizedValuesList(typeof(TransactionEvent)).Where(x=>x.Value == this.TransactionEventsSelectedItem).Select(x=>x.Key.ToString());
            foreach(var item in strEnum)
            {
                tmg.TransactionEvent = (TransactionEvent)Enum.Parse(typeof(TransactionEvent), item);
                break;
            }

            strEnum = EnumHelper.GetLocalizedValuesList(typeof(TransactionExportODBType)).Where(x => x.Value == this.TransactionExportODBTypeSelectedItem).Select(x => x.Key.ToString());
            foreach (var item in strEnum)
            {
                tmg.ODBType = (TransactionExportODBType)Enum.Parse(typeof(TransactionExportODBType), item);
                break;
            }

            var metaDataList = new Shared.ComponentModel.BindingListEx<TransactionMetadata>();

            TransactionMetadata meta = new DefaultTransactionMetadata();

            switch (this.currentBusinessProcessSourceType)
            {
                case BusinessProcessSourceType.Atm:
                    meta = new AtmInCashTransactionMetadata();
                    break;
                case BusinessProcessSourceType.CashCenter:
                    break;
                case BusinessProcessSourceType.Client:
                    break;
                case BusinessProcessSourceType.Interbank:
                    meta = new InterbankEncashTransactionMetadata();                    
                    break;
                case BusinessProcessSourceType.Terminal:
                    break;
                case BusinessProcessSourceType.Unit:
                    break;
                case BusinessProcessSourceType.None:
                    meta = new DefaultTransactionMetadata();
                    break;
            }

            meta.Params = new Shared.ComponentModel.BindingListEx<TransactionMetadataParams>();
            meta.Params.AddNew();
            metaDataList.Add(meta);         

            tmg.Metadata = metaDataList;

            TransactionDataContext.GetInstance().AddToDataCollection(tmg);           
        }