示例#1
0
        public KeyValueCollection GetItems(string environmentName, string machineName, string applicationName)
        {
            var globals = Global?.GetItems(environmentName, machineName);

            if (globals != null)
            {
                globals.ThrowExceptionOnDuplicateKeys = false;
            }
            if (Applications == null)
            {
                return(globals);
            }

            var results = new KeyValueCollection
            {
                ThrowExceptionOnDuplicateKeys = false
            };

            var appsNames = applicationName?.SplitAndTrim(",") ?? new string[0];

            foreach (var appName in appsNames)
            {
                if (Applications.TryGetByPartialKey(appName, out var appSetting))
                {
                    var items = appSetting.GetItems(environmentName, machineName);
                    items?.Each(i => results.Add(i));
                }
                else
                {
                    Core.Log.Warning("The Settings for ApplicationName = {0} cannot be found.", applicationName);
                }
            }
            globals?.Each(i => results.Add(i));
            return(results);
        }
        public void TestClear_NonEmptyCollection()
        {
            var key1 = @"TestKey1";
            var key2 = @"TestKey2";
            var key3 = @"TestKey3";

            var collection = new KeyValueCollection <string, JackpotLog>(@"TestCollection", _database);

            var transaction1 = JackpotLog.Randomize(new Random());
            var transaction2 = JackpotLog.Randomize(new Random());
            var transaction3 = JackpotLog.Randomize(new Random());

            collection.Add(key1, transaction1);
            collection.Add(key2, transaction2);
            collection.Add(key3, transaction3);

            collection.Clear();

            Assert.IsFalse(collection.TryGetValue(key1, out var result1));
            Assert.IsNull(result1);

            Assert.IsFalse(collection.TryGetValue(key2, out var result2));
            Assert.IsNull(result2);

            Assert.IsFalse(collection.TryGetValue(key3, out var result3));
            Assert.IsNull(result3);
        }
        private static KeyValueCollection GetUpdateUserData(Dictionary <string, string> UpdateUserData)
        {
            KeyValueCollection holdingUpdateUserData = new KeyValueCollection();

            foreach (string key in UpdateUserData.Keys)
            {
                if (!holdingUpdateUserData.ContainsKey(key))
                {
                    if (key == Settings.GetInstance().DispositionCollectionKey&& !string.IsNullOrEmpty(UpdateUserData[Settings.GetInstance().DispositionCollectionKey]))
                    {
                        var dict = UpdateUserData[Settings.GetInstance().DispositionCollectionKey].Split(';').Select(s => s.Split(':')).ToDictionary(a => a[0].Trim().ToString(), a => a[1].Trim().ToString());
                        KeyValueCollection tempKC = new KeyValueCollection();
                        if (dict == null && dict.Count == 0)
                        {
                            return(null);
                        }
                        foreach (string key1 in dict.Keys)
                        {
                            tempKC.Add(key1, dict[key1]);
                        }
                        holdingUpdateUserData.Add(key, tempKC);
                    }
                    else
                    {
                        holdingUpdateUserData.Add(key, UpdateUserData[key].ToString());
                    }
                }
            }
            return(holdingUpdateUserData);
        }
示例#4
0
        private void EnsureParameters()
        {
            if (parameters == null)
            {
                parameters = new KeyValueCollection();

                string url          = manager.Uri;
                int    indexOfQuery = url.IndexOf('?');
                if (indexOfQuery >= 0)
                {
                    string   query = url.Substring(indexOfQuery + 1).ToLowerInvariant();
                    string[] items = query.Split('&');
                    foreach (string parameter in items)
                    {
                        string[] keyValue = parameter.Split('=');
                        if (keyValue.Length == 2)
                        {
                            parameters.Add(keyValue[0], keyValue[1]);
                        }
                        else
                        {
                            parameters.Add(keyValue[0], null);
                        }
                    }
                }
            }
        }
示例#5
0
        static void TestExtensions()
        {
            KeyValueCollection collection = new KeyValueCollection();

            collection.Add("id", "5");
            collection.Add("key", (int?)5);

            Console.WriteLine(collection.Get <string>("idx", null));
            Console.WriteLine(collection.Get <int?>("key"));
        }
        public void TestAdd_DuplicateKeyValue()
        {
            var key        = @"TestKey";
            var collection = new KeyValueCollection <string, JackpotLog>(@"TestCollection", _database);

            var transaction = JackpotLog.Randomize(new Random());

            collection.Add(key, transaction);

            Assert.Throws <ArgumentException>(() => collection.Add(key, transaction));
        }
        private void btnSaveNote_Click(object sender, RoutedEventArgs e)
        {
            KeyValueCollection caseData = new KeyValueCollection();
            var chatMedia = new ChatMedia();

            try
            {
                string value = _chatUtil.InteractionNoteContent;
                if (Pointel.Interactions.IPlugins.PluginCollection.GetInstance().PluginCollections.ContainsKey(Plugins.Contact))
                {
                    ((IContactPlugin)Pointel.Interactions.IPlugins.PluginCollection.GetInstance().PluginCollections[Pointel.Interactions.IPlugins.Plugins.Contact])
                    .UpdateInteraction(_interactionID, _chatDataContext.OwnerIDorPersonDBID, _chatUtil.InteractionNoteContent,
                                       _chatUtil.UserData, 2);
                }
                if (_chatUtil.UserData.ContainsKey("TheComment"))
                {
                    string originalValue = _chatUtil.UserData["TheComment"].ToString();
                    if (value != originalValue)
                    {
                        caseData.Add("TheComment", value);
                        OutputValues output = chatMedia.DoUpdateCaseDataProperties(_interactionID, _chatUtil.ProxyId, caseData);
                        if (output.MessageCode == "200")
                        {
                            _chatUtil.UserData.Remove("TheComment");
                            _chatUtil.UserData.Add("TheComment", value);
                        }
                        caseData.Clear();
                    }
                }
                else
                {
                    caseData.Add("TheComment", value);
                    OutputValues output = chatMedia.DoAddCaseDataProperties(_interactionID, _chatUtil.ProxyId, caseData);
                    if (output.MessageCode == "200")
                    {
                        _chatUtil.UserData.Add("TheComment", value);
                    }
                    caseData.Clear();
                }
            }
            catch (Exception commonException)
            {
                _logger.Error("Error occurred as : " + commonException.Message.ToString());
            }
            finally
            {
                chatMedia = null;
                caseData  = null;
            }
        }
示例#8
0
        private void MakeOutBoundCall(string phoneNumber, string recordType, string recordId)
        {
            try
            {
                this.logger.Info("MakeOutBoundCall : Dialing Outbound Call from Adapter....");
                if (Settings.AgentDetails.TServer != null && Settings.AgentDetails.TServer.State == Genesyslab.Platform.Commons.Protocols.ChannelState.Opened)
                {
                    if (Settings.SFDCOptions.OutboundVoiceDialPlanPrefix != null)
                    {
                        phoneNumber = Settings.SFDCOptions.OutboundVoiceDialPlanPrefix + phoneNumber;
                    }
                    else
                    {
                        this.logger.Info("MakeOutBoundCall : Outbound Dial Plan Prefix is Empty");
                    }

                    var requestMakeCall = Genesyslab.Platform.Voice.Protocols.TServer.Requests.Party.RequestMakeCall.Create();
                    requestMakeCall.ThisDN       = Settings.AgentDetails.ThisDN;
                    requestMakeCall.OtherDN      = phoneNumber;
                    requestMakeCall.MakeCallType = Genesyslab.Platform.Voice.Protocols.TServer.MakeCallType.Regular;
                    KeyValueCollection reason = new KeyValueCollection();
                    reason.Add("ClickToDial", phoneNumber + "," + recordType + "," + recordId);
                    requestMakeCall.Reasons = reason;
                    Settings.AgentDetails.TServer.Send(requestMakeCall);
                }
                else
                {
                    this.logger.Info("MakeOutBoundCall : Can not make Outbound Call because T Server Protocol null or Channel closed ");
                }
            }
            catch (Exception generalException)
            {
                this.logger.Error("MakeOutBoundCall : Error occured while making outbound call : " + generalException.ToString());
            }
        }
 public void UpdateSelectedWorkbin()
 {
     try
     {
         if (ConfigContainer.Instance().AllKeys.Contains("CfgPerson"))
         {
             CfgPerson person = ConfigContainer.Instance().GetValue("CfgPerson") as CfgPerson;
             if (!person.UserProperties.ContainsKey("agent.ixn.desktop"))
             {
                 person.UserProperties.Add("agent.ixn.desktop", new KeyValueCollection());
             }
             KeyValueCollection option = person.UserProperties["agent.ixn.desktop"] as KeyValueCollection;
             if (!string.IsNullOrEmpty(WorkbinUtility.Instance().SelectedWorkbinName))
             {
                 if (!option.ContainsKey("workbins.workbin-selected"))
                 {
                     option.Add("workbins.workbin-selected", WorkbinUtility.Instance().SelectedWorkbinName);
                 }
                 else
                 {
                     option["workbins.workbin-selected"] = WorkbinUtility.Instance().SelectedWorkbinName;
                 }
             }
             person.UserProperties["agent.ixn.desktop"] = option;
             person.Save();
             person = null;
         }
     }
     catch (Exception ex)
     {
         logger.Error("Error when updating selected workbin " + ex.ToString());
     }
 }
示例#10
0
        /// <summary>
        /// 
        /// </summary>
        private void Fill()
        {

            StationCollection stations = SoftManager.GetSoft().Hardware.Stations;
            foreach (IStation st in stations)
            {
                foreach (IDevice d in st.Devices)
                {
                    if (d is IOutside)
                    {
                        kvs.Add(new KeyValue(d.Station.Name, d));
                    }
                }
            }

            //
            //
            kvs.Insert(0, new KeyValue("<无>", null));

            this.cmbStandard.DisplayMember = "Key";
            this.cmbStandard.ValueMember = "Value";
            this.cmbStandard.DataSource = kvs;


            IOutsideTemperatureProvider p = OutsideTemperatureProviderManager.Provider;
            if (p is DeviceOTProvider)
            {
                this.cmbStandard.SelectedValue = ((DeviceOTProvider)p).Outside;
            }
        }
示例#11
0
 protected void AddKeyValue(KeyValueCollection values, DbObjectSmartUpdate o, string key, int n, object v)
 {
     if ((o.m_UpdateColumns != null) && o.m_UpdateColumns.ContainsKey(key))
     {
         values.Add(this.NewKeyValue(n, v));
     }
 }
示例#12
0
        /// <summary>
        ///
        /// </summary>
        private void Fill()
        {
            int no = 1;

            StationCollection stations = SoftManager.GetSoft().Hardware.Stations;

            foreach (IStation st in stations)
            {
                foreach (IDevice d in st.Devices)
                {
                    if (d is IOutside)
                    {
                        string   keyName = string.Format("{0}: {1}({2})", no++, d.Station.Name, d.DeviceType.Text);
                        KeyValue kv      = new KeyValue(keyName, d);
                        kvs.Add(kv);
                    }
                }
            }

            //
            //
            kvs.Insert(0, new KeyValue("<无>", null));

            this.cmbStandard.DisplayMember = "Key";
            this.cmbStandard.ValueMember   = "Value";
            this.cmbStandard.DataSource    = kvs;


            IOutsideTemperatureProvider p = OutsideTemperatureProviderManager.Provider;

            if (p is DeviceOTProvider)
            {
                this.cmbStandard.SelectedValue = ((DeviceOTProvider)p).Outside;
            }
        }
 private void MakeOutBoundCall(string phoneNumber, string attachkey, string attachValue)
 {
     try
     {
         this._logger.Info("MakeOutBoundCall : Dialing Outbound Call from Adapter....");
         if (this.TServer != null && this.TServer.State == Genesyslab.Platform.Commons.Protocols.ChannelState.Opened)
         {
             var requestMakeCall = Genesyslab.Platform.Voice.Protocols.TServer.Requests.Party.RequestMakeCall.Create();
             requestMakeCall.ThisDN       = Settings.AgentDetails.ThisDN;
             requestMakeCall.OtherDN      = phoneNumber;
             requestMakeCall.MakeCallType = Genesyslab.Platform.Voice.Protocols.TServer.MakeCallType.Regular;
             KeyValueCollection reason = new KeyValueCollection();
             reason.Add(attachkey, attachValue);
             requestMakeCall.Reasons = reason;
             IMessage message = this.TServer.Request(requestMakeCall);
             if (message is EventError)
             {
                 this._logger.Error("MakeOutBoundCall : EventError Returned while making outbound call : " + message.ToString());
             }
         }
         else
         {
             this._logger.Info("MakeOutBoundCall : Can not make Outbound Call because T Server Protocol null or Channel closed ");
         }
     }
     catch (Exception generalException)
     {
         this._logger.Error("MakeOutBoundCall : Error occured while making outbound call : " + generalException.ToString());
     }
 }
        private void btnUpdate_Click(object sender, RoutedEventArgs e)
        {
            var chatMedia = new ChatMedia();
            KeyValueCollection caseData = new KeyValueCollection();

            try
            {
                var    selectedCallData = DGCaseDataInfo.SelectedItem as ChatCaseData;
                string key   = selectedCallData.Key.ToString().Trim();
                string value = selectedCallData.Value.ToString().Trim();
                if (_chatUtil.UserData.ContainsKey(key))
                {
                    string originalValue = _chatUtil.UserData[key].ToString();
                    if (value != originalValue)
                    {
                        caseData.Add(key, value);
                        OutputValues output = chatMedia.DoUpdateCaseDataProperties(_interactionID, _chatUtil.ProxyId, caseData);
                        if (output.MessageCode == "200")
                        {
                            _chatUtil.UserData.Remove(key);
                            _chatUtil.UserData.Add(key, value);
                        }
                        caseData.Clear();
                    }
                }
                else
                {
                    caseData.Add(key, value);
                    OutputValues output = chatMedia.DoAddCaseDataProperties(_interactionID, _chatUtil.ProxyId, caseData);
                    if (output.MessageCode == "200")
                    {
                        _chatUtil.UserData.Add(key, value);
                    }
                    caseData.Clear();
                }
                BindGrid();
            }
            catch (Exception commonException)
            {
                _logger.Error("Error occurred while btnUpdate_Click(): " + commonException.ToString());
            }
            finally
            {
                chatMedia = null;
                caseData  = null;
            }
        }
        public void TestRemoveKey_KeyExists()
        {
            var key         = @"TestKey";
            var collection  = new KeyValueCollection <string, JackpotLog>(@"TestCollection", _database);
            var transaction = JackpotLog.Randomize(new Random());

            collection.Add(key, transaction);

            Assert.IsTrue(collection.Remove(key));
        }
示例#16
0
 public static KeyValueCollection CreateDataSource()
 {
     KeyValueCollection kvs = new KeyValueCollection();
     kvs = new KeyValueCollection();
     kvs.Add(new KeyValue("编号", "Serial"));
     kvs.Add(new KeyValue("单位名称", "CompanyName"));
     kvs.Add(new KeyValue("单位地址", "CompanyAddress"));
     kvs.Add(new KeyValue("联系人", "Contact"));
     kvs.Add(new KeyValue("联系电话", "Phone"));
     kvs.Add(new KeyValue("电子邮箱", "Email"));
     kvs.Add(new KeyValue("年申请取水量", "AskingAmount"));
     //_kvs.Add(new KeyValue("水源地点", ""));
     kvs.Add(new KeyValue("年取水量", "GwAmount"));
     kvs.Add(new KeyValue("退水量", "BwAmount"));
     return kvs;
 }
        public void TestContainsKey_MultipleKeysExist()
        {
            var key1 = @"TestKey1";
            var key2 = @"TestKey2";
            var key3 = @"TestKey3";

            var collection = new KeyValueCollection <string, JackpotLog>(@"TestCollection", _database);

            var transaction1 = JackpotLog.Randomize(new Random());
            var transaction2 = JackpotLog.Randomize(new Random());
            var transaction3 = JackpotLog.Randomize(new Random());

            collection.Add(key1, transaction1);
            collection.Add(key2, transaction2);
            collection.Add(key3, transaction3);

            Assert.IsTrue(collection.ContainsKey(key1));
            Assert.IsTrue(collection.ContainsKey(key2));
            Assert.IsTrue(collection.ContainsKey(key3));
        }
        public static KeyValueCollection ToKeyValueCollection(this Dictionary <string, string> dictionary)
        {
            KeyValueCollection holdingUpdateUserData = new KeyValueCollection();

            foreach (string key in dictionary.Keys)
            {
                holdingUpdateUserData.Add(key, dictionary[key]);
            }

            return(holdingUpdateUserData);
        }
示例#19
0
 private ViaEntry(ViaEntry entry)
 {
     Protocol   = entry.Protocol;
     SipVersion = entry.SipVersion;
     Transport  = entry.Transport;
     Domain     = entry.Domain;
     foreach (var pair in entry._parameters)
     {
         _parameters.Add(pair.Key, pair.Value);
     }
 }
示例#20
0
        private KeyValueCollection GetStationNameKeyValues()
        {
            KeyValueCollection kvs = new KeyValueCollection();
            DataTable tbl = DBI.GetStationDataTable("scl6");
            foreach (DataRow row in tbl.Rows)
            {
                kvs.Add(new KeyValue(row["StationName"].ToString().Trim(), row));
            }

            return kvs;
        }
 public void DialVoiceConsultation(string OtherDN, string recordType, string recordId)
 {
     try
     {
         this.logger.Info("DialVoiceConsultation : Dialing Consult call for the DN : " + OtherDN);
         if (Settings.AgentDetails.TServer != null)
         {
             RequestInitiateConference requestInitConference = RequestInitiateConference.Create();
             requestInitConference.OtherDN = OtherDN;
             if (SubscribeVoiceEvents.eventEstablished.TransferConnID != null)
             {
                 requestInitConference.ConnID = SubscribeVoiceEvents.eventEstablished.TransferConnID;
             }
             else
             {
                 requestInitConference.ConnID = SubscribeVoiceEvents.eventEstablished.ConnID;
             }
             KeyValueCollection reason = new KeyValueCollection();
             reason.Add("ClickToDial", OtherDN + "," + recordType + "," + recordId);
             reason.Add("OperationMode", "Conference");
             requestInitConference.Reasons    = reason;
             requestInitConference.ThisDN     = SubscribeVoiceEvents.eventEstablished.ThisDN;
             requestInitConference.Location   = SubscribeVoiceEvents.eventEstablished.Location;
             requestInitConference.UserData   = SubscribeVoiceEvents.eventEstablished.UserData;
             requestInitConference.Extensions = SubscribeVoiceEvents.eventEstablished.Extensions;
             logger.Info("*****************************************************************");
             logger.Info("DialVoiceConsultation : Dialing Consult call ......");
             logger.Info("DialVoiceConsultation : Request  Data :" + requestInitConference.ToString());
             logger.Info("*****************************************************************");
             Settings.AgentDetails.TServer.Send(requestInitConference);
         }
         else
         {
             logger.Info("DialVoiceConsultation : T-Server Protocol is Null");
         }
     }
     catch (Exception generalException)
     {
         logger.Error("DialVoiceConsultation : Error Occured : " + generalException.ToString());
     }
 }
示例#22
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="flags">Message flags.</param>
        public IMAP_t_MsgFlags(params string[] flags)
        {
            m_pFlags = new KeyValueCollection<string,string>();

            if(flags != null){
                foreach(string flag in flags){
                    if(!string.IsNullOrEmpty(flag)){
                        m_pFlags.Add(flag.ToLower(),flag);
                    }
                }
            }
        }
示例#23
0
        /// <summary>
        /// Convert <c>NameValueCollection</c> to <c>IKeyValueCollection</c>.
        /// </summary>
        /// <param name="nvc">the <c>NameValueCollection</c> object.</param>
        /// <returns>The generated <c>IKeyValueCollection</c> object.</returns>
        public static IKeyValueCollection ConvertFromNameValues(NameValueCollection nvc)
        {
            IKeyValueCollection kvc = new KeyValueCollection();

            foreach (string key in nvc.AllKeys)
            {
                IKeyValue kv = new KeyValue(key, nvc[key]);
                kvc.Add(kv);
            }

            return(kvc);
        }
        public void TestAdd_SingleKeyValue()
        {
            var key        = @"TestKey";
            var collection = new KeyValueCollection <string, JackpotLog>(@"TestCollection", _database);

            var transaction = JackpotLog.Randomize(new Random());

            collection.Add(key, transaction);

            Assert.IsTrue(collection.TryGetValue(key, out var result));
            Assert.AreEqual(transaction, result);
        }
        private void DGCaseDataInfo_RowEditEnding(object sender, Microsoft.Windows.Controls.DataGridRowEditEndingEventArgs e)
        {
            var chatMedia = new ChatMedia();

            try
            {
                Microsoft.Windows.Controls.DataGridRow dgRow = e.Row;
                if (dgRow != null)
                {
                    var    selectedCallData = dgRow.Item as ChatCaseData;
                    string key   = selectedCallData.Key.ToString().Trim();
                    string value = selectedCallData.Value.ToString().Trim();
                    if (_chatUtil.UserData.ContainsKey(key))
                    {
                        string originalValue = _chatUtil.UserData[key].ToString();
                        if (value != originalValue)
                        {
                            KeyValueCollection caseData = new KeyValueCollection();
                            caseData.Add(key, value);
                            OutputValues output = chatMedia.DoUpdateCaseDataProperties(_interactionID, _chatUtil.ProxyId, caseData);
                            if (output.MessageCode == "200")
                            {
                                _chatUtil.UserData.Remove(key);
                                _chatUtil.UserData.Add(key, value);
                            }
                            caseData.Clear();
                        }
                    }
                    else
                    {
                        KeyValueCollection caseData = new KeyValueCollection();
                        caseData.Add(key, value);
                        OutputValues output = chatMedia.DoAddCaseDataProperties(_interactionID, _chatUtil.ProxyId, caseData);
                        if (output.MessageCode == "200")
                        {
                            _chatUtil.UserData.Add(key, value);
                        }
                        caseData.Clear();
                    }
                    BindGrid();
                }
            }
            catch (Exception commonException)
            {
                _logger.Error("Error occurred while DGCaseDataInfo_RowEditEnding(): " + commonException.ToString());
            }
            finally
            {
                chatMedia = null;
            }
        }
示例#26
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="flags">Message flags.</param>
        public IMAP_t_MsgFlags(params string[] flags)
        {
            m_pFlags = new KeyValueCollection <string, string>();

            if (flags != null)
            {
                foreach (string flag in flags)
                {
                    if (!string.IsNullOrEmpty(flag))
                    {
                        m_pFlags.Add(flag.ToLower(), flag);
                    }
                }
            }
        }
示例#27
0
        private static void UnregisterNotification(int object_type)
        {
            try
            {
                // Create the subscribe request for MessageServer (Management Platform SDK).
                RequestUnregisterNotification request = RequestUnregisterNotification.Create();

                // Note: Subscriptions KeyValue collection contains all subscriptions we want to define for this request.
                // The KeyValue collections that actually defines the subscription are at second level.
                // Two-dimensional TKVList containing lists with the following properties (the names of the keys on the first level
                // are disregarded let them just be unique):
                // object_type - type of the objects to receive notifications on (if equals to 0 means all the object types),
                // tenant_id - Tenant affiliation of the objects to receive notifications on (if equals to 0 means all the Tenants),
                // object_dbid - DBID of the specific object to receive notifications on (used in conjunction with object_type),
                // exclude_bytecode - if set, Configuration Server will filter out binary userProperties field 'bytecode' from notifications.
                KeyValueCollection subscriptionForAllObjects = new KeyValueCollection();
                subscriptionForAllObjects.Add("object_type", object_type);
                subscriptionForAllObjects.Add("tenant_id", 0);
                subscriptionForAllObjects.Add("object_dbid", 0);


                KeyValueCollection topLevelCollection = new KeyValueCollection();
                topLevelCollection.Add("subscriptionForAllObjects", subscriptionForAllObjects);

                request.Subscription = topLevelCollection;

                log.Debug(request.ToString());

                // Request asynchronously
                GetProtocol().Send(request);
            }
            catch (Exception ex)
            {
                log.Error(ex.Message, ex);
            }
        }
        public void TestAdd_MultipleKeyValues()
        {
            var key1 = @"TestKey1";
            var key2 = @"TestKey2";
            var key3 = @"TestKey3";

            var collection = new KeyValueCollection <string, JackpotLog>(@"TestCollection", _database);

            var transaction1 = JackpotLog.Randomize(new Random());
            var transaction2 = JackpotLog.Randomize(new Random());
            var transaction3 = JackpotLog.Randomize(new Random());

            collection.Add(key1, transaction1);
            collection.Add(key2, transaction2);
            collection.Add(key3, transaction3);

            Assert.IsTrue(collection.TryGetValue(key1, out var result1));
            Assert.IsTrue(collection.TryGetValue(key2, out var result2));
            Assert.IsTrue(collection.TryGetValue(key3, out var result3));

            Assert.AreEqual(transaction1, result1);
            Assert.AreEqual(transaction2, result2);
            Assert.AreEqual(transaction3, result3);
        }
        /// <summary>
        /// Handles the Click event of the btnUpdate control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param>
        private void btnUpdate_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                isEditDone = true;
                DGCaseDataInfo.CancelEdit();
                var    selectedCallData = DGCaseDataInfo.SelectedItem as EmailCaseData;
                string key   = selectedCallData.Key;
                string value = selectedCallData.Value;
                if (CurrentData.ContainsKey(key))
                {
                    string originalValue = CurrentData[key].ToString();
                    if (value != originalValue)
                    {
                        KeyValueCollection caseData = new KeyValueCollection();
                        caseData.Add(key, value);
                        InteractionService interactionService = new InteractionService();
                        Pointel.Interactions.Core.Common.OutputValues result = interactionService.UpdateCaseDataProperties(interactionId, EmailDataContext.GetInstance().ProxyClientID, caseData);
                        if (result.MessageCode == "200")
                        {
                            CurrentData[key] = value;
                        }
                        caseData.Clear();
                    }
                }
                else
                {
                    KeyValueCollection caseData = new KeyValueCollection();
                    caseData.Add(key, value);
                    InteractionService interactionService = new InteractionService();
                    Pointel.Interactions.Core.Common.OutputValues result = interactionService.AddCaseDataProperties(interactionId, EmailDataContext.GetInstance().ProxyClientID, caseData);
                    if (result.MessageCode == "200")
                    {
                        CurrentData.Add(key, value);
                    }
                    caseData.Clear();
                }
                editingValue = editingKey = null;

                //  BindGrid();
            }
            catch (Exception commonException)
            {
                logger.Error("Error ocurred as " + commonException.Message);
            }
        }
示例#30
0
        public KeyValueCollection GetItems(string environmentName, string machineName)
        {
            var combinedKey = environmentName + ">" + machineName;

            if (!Overwrites.TryGetByPartialKey(combinedKey, out var partial))
            {
                if (!Overwrites.TryGetByPartialKey(environmentName, out partial))
                {
                    var machineKey = ">" + machineName;
                    Overwrites.TryGetByPartialKey(machineKey, out partial);
                }
            }
            var result = new KeyValueCollection(partial?.Items, false);

            Items?.Each(i => result.Add(i));
            return(result);
        }
示例#31
0
 /// <summary>
 /// 
 /// </summary>
 /// <returns></returns>
 public KeyValueCollection GetConditionKeyValues()
 {
     KeyValueCollection kvs = new KeyValueCollection();
     for (int i = 1; i <= _conditionCount; i++)
     {
         ComboBox cmb = (ComboBox)this.Controls.Find(_cmbBaseName + i, false)[0];
         TextBox txt = (TextBox)this.Controls.Find(_txtBaseName + i, false)[0];
         if (txt.Text.Trim().Length > 0)
         {
             if (!ExistKey(kvs, cmb.SelectedValue.ToString()))
             {
                 kvs.Add(new KeyValue(cmb.SelectedValue.ToString(), txt.Text.Trim()));
             }
         }
     }
     return kvs;
 }
示例#32
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="deviceID"></param>
        /// <param name="data"></param>
        virtual public object InsertHeatData(int deviceID, HeatData data)
        {
            string s =
                "insert into tblHeatData(deviceid, dt, instantFlux, sum, IH, SH, GT, BT) " +
                "values(@deviceid, @dt, @instantFlux, @sum, @IH, @SH, @GT, @BT)";

            KeyValueCollection kvs = new KeyValueCollection();

            kvs.Add("deviceid", deviceID);
            kvs.Add("dt", data.DT);
            kvs.Add("instantFlux", data.InstantFlux);
            kvs.Add("sum", data.Sum);
            kvs.Add("IH", data.InstantHeat);
            kvs.Add("SH", data.SumHeat);
            kvs.Add("GT", data.GT);
            kvs.Add("BT", data.BT);

            return(this.ExecuteScalar(s, kvs));
        }
示例#33
0
文件: DBIForHZ.cs 项目: hkiaipc/C3
        /// <summary>
        /// 
        /// </summary>
        /// <param name="deviceID"></param>
        /// <param name="data"></param>
        public virtual object InsertHeatData(int deviceID, HeatData data)
        {
            string s =
                "insert into tblHeatData(deviceid, dt, instantFlux, sum, IH, SH, GT, BT) " +
                "values(@deviceid, @dt, @instantFlux, @sum, @IH, @SH, @GT, @BT)" ;

            KeyValueCollection kvs = new KeyValueCollection();

            kvs.Add("deviceid", deviceID);
            kvs.Add("dt", data.DT);
            kvs.Add("instantFlux", data.InstantFlux);
            kvs.Add("sum", data.Sum);
            kvs.Add("IH", data.InstantHeat);
            kvs.Add("SH", data.SumHeat);
            kvs.Add("GT", data.GT);
            kvs.Add("BT", data.BT);

            return this.ExecuteScalar(s, kvs);
        }
        public void DialVoiceConsultation(string OtherDN, string key, string value)
        {
            try
            {
                this._logger.Info("DialVoiceConsultation : Dialing Consult call for the DN : " + OtherDN);
                if (this.TServer != null)
                {
                    RequestInitiateConference requestInitConference = RequestInitiateConference.Create();
                    requestInitConference.OtherDN = OtherDN;
                    if (VoiceEventHandler.eventEstablished.TransferConnID != null)
                    {
                        requestInitConference.ConnID = VoiceEventHandler.eventEstablished.TransferConnID;
                    }
                    else
                    {
                        requestInitConference.ConnID = VoiceEventHandler.eventEstablished.ConnID;
                    }
                    KeyValueCollection reason = new KeyValueCollection();
                    reason.Add(key, value);
                    requestInitConference.Reasons    = reason;
                    requestInitConference.ThisDN     = VoiceEventHandler.eventEstablished.ThisDN;
                    requestInitConference.Location   = VoiceEventHandler.eventEstablished.Location;
                    requestInitConference.UserData   = VoiceEventHandler.eventEstablished.UserData;
                    requestInitConference.Extensions = VoiceEventHandler.eventEstablished.Extensions;
                    this._logger.Info("*****************************************************************");
                    this._logger.Info("DialVoiceConsultation : Dialing Consult call ......");
                    this._logger.Info("DialVoiceConsultation : Request  Data :" + requestInitConference.ToString());
                    this._logger.Info("*****************************************************************");
                    IMessage mymessage = this.TServer.Request(requestInitConference);

                    if (mymessage is EventError)
                    {
                        this._logger.Error("DialVoiceConsultation : Error Occured while Initializing Two step Conference" + mymessage.ToString());
                    }
                }
                else
                {
                    this._logger.Info("DialVoiceConsultation : T-Server Protocol is Null");
                }
            }
            catch (Exception generalException)
            {
                this._logger.Error("DialVoiceConsultation : Error Occured : " + generalException.ToString());
            }
        }
示例#35
0
        private IKeyValueCollection BuildMetadata(XElement parent)
        {
            KeyValueCollection result = new KeyValueCollection();

            foreach (XElement element in parent.Elements(XName.Get(XmlNameDefinition.MetadataElementName, XmlNameDefinition.XmlnsUri)))
            {
                XAttribute key   = element.Attribute(XmlNameDefinition.MetadataKeyAttributeName);
                XAttribute value = element.Attribute(XmlNameDefinition.MetadataValueAttributeName);
                if (key == null || value == null)
                {
                    Ensure.Exception.InvalidOperation("Element 'Metadata' must have attributes 'Key' and 'Value'.");
                }

                result.Add(key.Value, value.Value);
            }

            return(result);
        }
		/// <summary>
		/// Parses HTML-content and returns a KeyValueCollection with values from the HTMLs Input-fields
		/// </summary>
		/// <param name="html"></param>
		/// <returns></returns>
		public static KeyValueCollection ParseInputFieldsFromHtmlResponse(string html) {
            if (string.IsNullOrEmpty(html)) { return new KeyValueCollection(); }

			var dictionary = new KeyValueCollection();

			HtmlTagReader htmlTagReader = new HtmlTagReader(html, "input");

			while (htmlTagReader.GetNextTag()) {
				string tagHtml = htmlTagReader.CurrentTag.Content;
				string name = HtmlTagReader.GetAttributeValueInTag(tagHtml, "name"); ;
				string value = HtmlTagReader.GetAttributeValueInTag(tagHtml, "value");

                if (!string.IsNullOrEmpty(name))
                {
					dictionary.Add(name, value ?? string.Empty);
				}
			}

			return dictionary;
		}
示例#37
0
        /// <summary>
        /// 
        /// </summary>
        /// <returns>key value collection, key - name, value - offset</returns>
        private object GetDayOffsetDataSource()
        {
            object ds = null;
            if (this.CycleType == CycleTypeEnum.Week)
            {
                KeyValueCollection kvs = new KeyValueCollection();
                kvs.Add(new KeyValue("星期一", DayOfWeek.Monday));
                kvs.Add(new KeyValue("星期二", DayOfWeek.Tuesday));
                kvs.Add(new KeyValue("星期三", DayOfWeek.Wednesday));
                kvs.Add(new KeyValue("星期四", DayOfWeek.Thursday));
                kvs.Add(new KeyValue("星期五", DayOfWeek.Friday));
                kvs.Add(new KeyValue("星期六", DayOfWeek.Saturday));
                kvs.Add(new KeyValue("星期日", DayOfWeek.Sunday));

                ds = kvs;
            }

            else if (this.CycleType == CycleTypeEnum.UserDefine)
            {
                KeyValueCollection kvs = new KeyValueCollection();
                for (int i = 0; i < this.DayOfCycle; i++)
                {
                    string key = string.Format("第{0}天", i + 1);
                    int value = i;
                    kvs.Add(new KeyValue(key, i));
                }
                ds = kvs;
            }
            return ds;
        }
示例#38
0
        private KeyValueCollection Split(string config)
        {
            KeyValueCollection r = new KeyValueCollection();
            string[] kvArray = config.Split(';');
            foreach (string kv in kvArray)
            {
                string[] k_v = kv.Split('=');
                if (k_v.Length == 2)
                {
                    string k = k_v[0];
                    string v = k_v[1];

                    KeyValue newkv = new KeyValue(k, v);
                    r.Add(newkv);
                }
            }
            return r;
        }
示例#39
0
        /// <summary>
        /// 
        /// </summary>
        private void BindDataSources()
        {
            DB db = DBFactory.GetDB();

            this.cmbGroup.DisplayMember = "GroupName";
            this.cmbGroup.ValueMember = "GroupID";
            this.cmbGroup.DataSource = db.tblGroup;

            // leave data source
            //
            KeyValueCollection kvs = new KeyValueCollection();
            kvs.Add(new KeyValue("事假", LeaveEnum.Private));
            kvs.Add(new KeyValue("病假", LeaveEnum.Sick));
            kvs.Add(new KeyValue("休假", LeaveEnum.Vacation));

            this.cmbType.DisplayMember = "Key";
            this.cmbType.ValueMember = "Value";
            this.cmbType.DataSource = kvs;
        }
        /// <summary>
        /// Parses parameters from the specified reader.
        /// </summary>
        /// <param name="reader">MIME reader.</param>
        /// <exception cref="ArgumentNullException">Is raised when <b>reader</b> is null reference.</exception>
        public void Parse(MIME_Reader reader)
        {
            if(reader == null){
                throw new ArgumentNullException("reader");
            }

            /* RFC 2231.
                Asterisks ("*") are reused to provide the indicator that language and
                character set information is present and encoding is being used. A
                single quote ("'") is used to delimit the character set and language
                information at the beginning of the parameter value. Percent signs
                ("%") are used as the encoding flag, which agrees with RFC 2047.

                Character set and language information may be combined with the
                parameter continuation mechanism. For example:

                Content-Type: application/x-stuff
                    title*0*=us-ascii'en'This%20is%20even%20more%20
                    title*1*=%2A%2A%2Afun%2A%2A%2A%20
                    title*2="isn't it!"

                Note that:

                (1) Language and character set information only appear at
                    the beginning of a given parameter value.

                (2) Continuations do not provide a facility for using more
                    than one character set or language in the same
                    parameter value.

                (3) A value presented using multiple continuations may
                    contain a mixture of encoded and unencoded segments.

                (4) The first segment of a continuation MUST be encoded if
                    language and character set information are given.

                (5) If the first segment of a continued parameter value is
                    encoded the language and character set field delimiters
                    MUST be present even when the fields are left blank.
            */

            KeyValueCollection<string,_ParameterBuilder> parameters = new KeyValueCollection<string,_ParameterBuilder>();

            // Parse all parameter parts.
            string[] parameterParts = TextUtils.SplitQuotedString(reader.ToEnd(),';');
            foreach(string part in parameterParts){
                if(string.IsNullOrEmpty(part)){
                    continue;
                }

                string[] name_value = part.Trim().Split(new char[]{'='},2);
                string   paramName  = name_value[0].Trim();
                string   paramValue = null;
                if(name_value.Length == 2){
                    paramValue = TextUtils.UnQuoteString(name_value[1].Trim());
                }
                // Valueless parameter.
                //else{

                string[] nameParts = paramName.Split('*');
                int      index     = 0;
                bool     encoded   = nameParts.Length == 3;
                // Get multi value parameter index.
                if(nameParts.Length >= 2){
                    try{
                        index = Convert.ToInt32(nameParts[1]);
                    }
                    catch{
                    }
                }

                // Single value parameter and we already have parameter with such name, skip it.
                if(nameParts.Length < 2 && parameters.ContainsKey(nameParts[0])){
                    continue;
                }

                // Parameter builder doesn't exist for the specified parameter, create it.
                if(!parameters.ContainsKey(nameParts[0])){
                    parameters.Add(nameParts[0],new _ParameterBuilder(nameParts[0]));
                }

                parameters[nameParts[0]].AddPart(index,encoded,paramValue);
            }

            // Build parameters from parts.
            foreach(_ParameterBuilder b in parameters){
                m_pParameters.Add(b.Name,b.GetParamter());
            }

            m_IsModified = false;
        }
示例#41
0
        /// <summary>
        /// 
        /// </summary>
        void BindCycleType()
        {
            KeyValueCollection kvs = new KeyValueCollection();
            kvs.Add(new KeyValue("周", CycleTypeEnum.Week));
            kvs.Add(new KeyValue("自定义", CycleTypeEnum.UserDefine));

            this.cmbCycleType.DisplayMember = "Key";
            this.cmbCycleType.ValueMember = "Value";

            this.cmbCycleType.DataSource = kvs;
        }
示例#42
0
        private void BindQueryStyle()
        {
            KeyValueCollection kvs = new KeyValueCollection();
            kvs.Add(new KeyValue("按站点", QueryStyleEnum.ByStation));
            kvs.Add(new KeyValue("按人员", QueryStyleEnum.ByPerson));

            this.cmbQueryStyle.DisplayMember = "Key";
            this.cmbQueryStyle.ValueMember = "Value";
            this.cmbQueryStyle.DataSource = kvs;
        }
示例#43
0
        /// <summary>
        /// 
        /// </summary>
        void BindCycleDayCount()
        {
            KeyValueCollection kvs = new KeyValueCollection();

            for (int i = 1; i < 11; i++)
            {
                kvs.Add(new KeyValue(string.Format("{0}天", i), i));
            }

            this.cmbCycleDayCount.DisplayMember = "Key";
            this.cmbCycleDayCount.ValueMember = "Value";
            this.cmbCycleDayCount.DataSource = kvs;
        }