示例#1
0
        /// <summary>
        /// Reads the name of the contact.
        /// </summary>
        public void ReadContactName()
        {
            try
            {
                string contactId = eventInvite.Interaction.InteractionUserData.Contains("ContactId") ?
                                   eventInvite.Interaction.InteractionUserData["ContactId"].ToString() : string.Empty;
                if (!string.IsNullOrEmpty(contactId) && EmailDataContext.GetInstance().IsContactServerActive)
                {
                    List <string> attributeList = new List <string>();
                    attributeList.Add("FirstName");
                    attributeList.Add("LastName");

                    EventGetAttributes eventGetAttribute = ContactServerHelper.RequestGetContactAttribute(contactId, attributeList);
                    if (eventGetAttribute != null)
                    {
                        List <AttributesHeader> attributeHeader = eventGetAttribute.Attributes.Cast <AttributesHeader>().ToList();
                        int count = attributeHeader.Count;
                        contactName = string.Empty;
                        if (attributeHeader.Where(x => x.AttrName.Equals("FirstName")).ToList().Count > 0)
                        {
                            AttributesHeader firstNameHeader = attributeHeader.Where(x => x.AttrName.Equals("FirstName")).SingleOrDefault();
                            if (firstNameHeader != null && firstNameHeader.AttributesInfoList.Count > 0)
                            {
                                contactName += FirstName = firstNameHeader.AttributesInfoList[0].AttrValue.ToString() + " ";
                            }
                        }
                        if (attributeHeader.Where(x => x.AttrName.Equals("LastName")).ToList().Count > 0)
                        {
                            AttributesHeader LastNameHeader = attributeHeader.Where(x => x.AttrName.Equals("LastName")).SingleOrDefault();
                            if (LastNameHeader != null && LastNameHeader.AttributesInfoList.Count > 0)
                            {
                                contactName += LastName = LastNameHeader.AttributesInfoList[0].AttrValue.ToString();
                            }
                        }
                    }
                }
                if (string.IsNullOrEmpty(contactName))
                {
                    contactName = getContactName(eventInvite.Interaction.InteractionUserData);
                    if (string.IsNullOrEmpty(contactName))
                    {
                        contactName = "Undefined";
                    }
                }
                emailDetails.TitleText = contactName + " - Agent Interaction Desktop";
            }
            catch (Exception ex)
            {
                logger.Error("Error occurred as " + ex.Message);
            }
        }
示例#2
0
        public AttributesList GetUpdatedAttributeList(ObservableCollection <Helpers.Attribute> contactList)
        {
            AttributesList attributeList = new AttributesList();

            Settings.ContactDataContext contactContext = Settings.ContactDataContext.GetInstance();
            foreach (Helpers.Attribute contact in contactList.Where(x => x.IsAltered == true && !string.IsNullOrEmpty(x.AttributeId) && ((!string.IsNullOrEmpty(x.AttributeValue.Trim()) && x.Type == Settings.ContactDataContext.AttributeType.Multiple) || (x.Type == Settings.ContactDataContext.AttributeType.Single))))
            {
                string attributeName = contactContext.ContactValidAttribute.Where(x => x.Value.Equals(contact.AttributeName)).Single().Key;
                if (attributeList.Cast <AttributesHeader>().Where(y => y.AttrName.Equals(attributeName)).ToList().Count == 0)
                // if(!attributeList.Contains(contact.AttributeName))
                {
                    AttributesHeader attributeHeader = new AttributesHeader();
                    //  attributeHeader.AttrName = contact.AttributeName;
                    attributeHeader.AttrName = attributeName;
                    AttributesInfoList attributeInfoList = new AttributesInfoList();
                    List <Pointel.Interactions.Contact.Helpers.Attribute> lst = contactList.Where(x => x.IsAltered == true && !string.IsNullOrEmpty(x.AttributeId) && x.AttributeName.Equals(contact.AttributeName) && !string.IsNullOrEmpty(x.AttributeValue.Trim())).ToList <Pointel.Interactions.Contact.Helpers.Attribute>();
                    int i = 1;
                    foreach (Helpers.Attribute contactGroup in lst)
                    {
                        AttributesInfo attributeInfo = new AttributesInfo();
                        attributeInfo.AttrValue   = contactGroup.AttributeValue;
                        attributeInfo.AttrId      = contactGroup.AttributeId;
                        attributeInfo.Description = contactGroup.Description;
                        if (contactGroup.Type == Settings.ContactDataContext.AttributeType.Single)
                        {
                            attributeInfo.AttrIndex = 0;
                        }
                        else
                        {
                            if (contactGroup.Isprimary)
                            {
                                attributeInfo.AttrIndex = 0;
                            }
                            else
                            {
                                attributeInfo.AttrIndex = i++;
                            }
                        }
                        attributeInfoList.Add(attributeInfo);
                    }
                    attributeHeader.AttributesInfoList = attributeInfoList;
                    attributeList.Add(attributeHeader);
                }
            }
            if (attributeList.Count == 0)
            {
                attributeList = null;
            }
            return(attributeList);
        }
示例#3
0
        public void Serialization_Deserialization()
        {
            var dotUnderscore = new DotUnderscore();
            var entry         = new Entry(9u);
            var footerEntry   = new Entry(2u); // Footer

            footerEntry.id        = 2;
            footerEntry.size      = 286;
            footerEntry.offset    = 3810;
            dotUnderscore.entries = new Entry[] { entry, footerEntry };
            var attrHeader = new AttributesHeader();

            entry.data = attrHeader;
            var tagAttribute = new Attribute();

            tagAttribute.name = "com.apple.metadata:_kMDItemUserTags\0";
            attrHeader.attributes.Add(tagAttribute);
            var bplist = new BinaryPropertyList();

            tagAttribute.value = bplist;
            var barray = new BinaryArray();

            bplist.property      = barray;
            barray.properties    = new BinaryProperty[2];
            barray.properties[0] = new BinaryStringASCII {
                value = "Rouge\n6"
            };
            barray.properties[1] = new BinaryStringASCII {
                value = "Orange\n7"
            };

            var bytes1 = BinaryHelper.Write(dotUnderscore);

            DotUnderscore dotUnderscore2 = BinaryHelper.Read <DotUnderscore>(bytes1);

            var bytes2 = BinaryHelper.Write(dotUnderscore2);

            Assert.AreEqual(bytes1.Length, bytes2.Length);
        }
示例#4
0
        /// <summary>
        /// .ctor()
        /// </summary>
        /// <param name="crfAttributes">Составные части N-граммы</param>
        public CRFNgram(CRFAttribute[] crfAttributes)
        {
            CRFAttributes = crfAttributes;

            var attrs_len = CRFAttributes.Length;

            switch (attrs_len)
            {
            case 1:
                #region
            {
                CRFAttribute_0 = CRFAttributes[0];
                //CRFAttributes  = null;

                AttributesHeader = CRFAttribute_0.AttributeName + "[" + CRFAttribute_0.Position + ']' + '=';
            }
                #endregion
                break;

            case 2:
                #region
            {
                CRFAttribute_0 = CRFAttributes[0];
                CRFAttribute_1 = CRFAttributes[1];
                //CRFAttributes  = null;

                AttributesHeader = CRFAttribute_0.AttributeName + "[" + CRFAttribute_0.Position + ']' + '|' +
                                   CRFAttribute_1.AttributeName + "[" + CRFAttribute_1.Position + ']' + '=';
            }
                #endregion
                break;

            case 3:
                #region
            {
                CRFAttribute_0 = CRFAttributes[0];
                CRFAttribute_1 = CRFAttributes[1];
                CRFAttribute_2 = CRFAttributes[2];
                //CRFAttributes  = null;

                AttributesHeader = CRFAttribute_0.AttributeName + "[" + CRFAttribute_0.Position + ']' + '|' +
                                   CRFAttribute_1.AttributeName + "[" + CRFAttribute_1.Position + ']' + '|' +
                                   CRFAttribute_2.AttributeName + "[" + CRFAttribute_2.Position + ']' + '=';
            }
                #endregion
                break;

            case 4:
                #region
            {
                CRFAttribute_0 = CRFAttributes[0];
                CRFAttribute_1 = CRFAttributes[1];
                CRFAttribute_2 = CRFAttributes[2];
                CRFAttribute_3 = CRFAttributes[3];
                //CRFAttributes  = null;

                AttributesHeader = CRFAttribute_0.AttributeName + "[" + CRFAttribute_0.Position + ']' + '|' +
                                   CRFAttribute_1.AttributeName + "[" + CRFAttribute_1.Position + ']' + '|' +
                                   CRFAttribute_2.AttributeName + "[" + CRFAttribute_2.Position + ']' + '|' +
                                   CRFAttribute_3.AttributeName + "[" + CRFAttribute_3.Position + ']' + '=';
            }
                #endregion
                break;

            case 5:
                #region
            {
                CRFAttribute_0 = CRFAttributes[0];
                CRFAttribute_1 = CRFAttributes[1];
                CRFAttribute_2 = CRFAttributes[2];
                CRFAttribute_3 = CRFAttributes[3];
                CRFAttribute_4 = CRFAttributes[4];
                //CRFAttributes  = null;

                AttributesHeader = CRFAttribute_0.AttributeName + "[" + CRFAttribute_0.Position + ']' + '|' +
                                   CRFAttribute_1.AttributeName + "[" + CRFAttribute_1.Position + ']' + '|' +
                                   CRFAttribute_2.AttributeName + "[" + CRFAttribute_2.Position + ']' + '|' +
                                   CRFAttribute_3.AttributeName + "[" + CRFAttribute_3.Position + ']' + '|' +
                                   CRFAttribute_4.AttributeName + "[" + CRFAttribute_4.Position + ']' + '=';
            }
                #endregion
                break;

            case 6:
                #region
            {
                CRFAttribute_0 = CRFAttributes[0];
                CRFAttribute_1 = CRFAttributes[1];
                CRFAttribute_2 = CRFAttributes[2];
                CRFAttribute_3 = CRFAttributes[3];
                CRFAttribute_4 = CRFAttributes[4];
                CRFAttribute_5 = CRFAttributes[5];
                //CRFAttributes  = null;

                AttributesHeader = CRFAttribute_0.AttributeName + "[" + CRFAttribute_0.Position + ']' + '|' +
                                   CRFAttribute_1.AttributeName + "[" + CRFAttribute_1.Position + ']' + '|' +
                                   CRFAttribute_2.AttributeName + "[" + CRFAttribute_2.Position + ']' + '|' +
                                   CRFAttribute_3.AttributeName + "[" + CRFAttribute_3.Position + ']' + '|' +
                                   CRFAttribute_4.AttributeName + "[" + CRFAttribute_4.Position + ']' + '|' +
                                   CRFAttribute_5.AttributeName + "[" + CRFAttribute_5.Position + ']' + '=';
            }
                #endregion
                break;

            default:
                #region
            {
                for (var j = 0; j < attrs_len; j++)
                {
                    var attr = CRFAttributes[j];

                    AttributesHeader += attr.AttributeName + "[" + attr.Position + ']' + '|';
                }
                AttributesHeader = AttributesHeader.Remove(AttributesHeader.Length - 1) + '=';
            }
                #endregion
                break;
            }

            CRFAttributesLength    = attrs_len;
            AttributesHeaderLength = AttributesHeader.Length;

            _GCHandle             = GCHandle.Alloc(AttributesHeader, GCHandleType.Pinned);
            _AttributesHeaderBase = (char *)_GCHandle.AddrOfPinnedObject().ToPointer();
        }
示例#5
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="crfAttributes">Составные части N-граммы</param>
        public CRFNgram(CRFAttribute[] crfAttributes)
        {
            CRFAttributes = crfAttributes;

            var attrs_len = CRFAttributes.Length;

            switch (attrs_len)
            {
            case 1:
            {
                CRFAttribute_0   = CRFAttributes[0];
                AttributesHeader = $"{CRFAttribute_0.AttributeName}[{CRFAttribute_0.Position}{']'}{'='}";
            }
            break;

            case 2:
            {
                CRFAttribute_0   = CRFAttributes[0];
                CRFAttribute_1   = CRFAttributes[1];
                AttributesHeader = $"{CRFAttribute_0.AttributeName}[{CRFAttribute_0.Position}{']'}{'|'}{CRFAttribute_1.AttributeName}[{CRFAttribute_1.Position}{']'}{'='}";
            }
            break;

            case 3:
            {
                CRFAttribute_0   = CRFAttributes[0];
                CRFAttribute_1   = CRFAttributes[1];
                CRFAttribute_2   = CRFAttributes[2];
                AttributesHeader = $"{CRFAttribute_0.AttributeName}[{CRFAttribute_0.Position}{']'}{'|'}{CRFAttribute_1.AttributeName}[{CRFAttribute_1.Position}{']'}{'|'}{CRFAttribute_2.AttributeName}[{CRFAttribute_2.Position}{']'}{'='}";
            }
            break;

            case 4:
            {
                CRFAttribute_0   = CRFAttributes[0];
                CRFAttribute_1   = CRFAttributes[1];
                CRFAttribute_2   = CRFAttributes[2];
                CRFAttribute_3   = CRFAttributes[3];
                AttributesHeader = $"{CRFAttribute_0.AttributeName}[{CRFAttribute_0.Position}{']'}{'|'}{CRFAttribute_1.AttributeName}[{CRFAttribute_1.Position}{']'}{'|'}{CRFAttribute_2.AttributeName}[{CRFAttribute_2.Position}{']'}{'|'}{CRFAttribute_3.AttributeName}[{CRFAttribute_3.Position}{']'}{'='}";
            }
            break;

            case 5:
            {
                CRFAttribute_0   = CRFAttributes[0];
                CRFAttribute_1   = CRFAttributes[1];
                CRFAttribute_2   = CRFAttributes[2];
                CRFAttribute_3   = CRFAttributes[3];
                CRFAttribute_4   = CRFAttributes[4];
                AttributesHeader = $"{CRFAttribute_0.AttributeName}[{CRFAttribute_0.Position}{']'}{'|'}{CRFAttribute_1.AttributeName}[{CRFAttribute_1.Position}{']'}{'|'}{CRFAttribute_2.AttributeName}[{CRFAttribute_2.Position}{']'}{'|'}{CRFAttribute_3.AttributeName}[{CRFAttribute_3.Position}{']'}{'|'}{CRFAttribute_4.AttributeName}[{CRFAttribute_4.Position}{']'}{'='}";
            }
            break;

            case 6:
            {
                CRFAttribute_0   = CRFAttributes[0];
                CRFAttribute_1   = CRFAttributes[1];
                CRFAttribute_2   = CRFAttributes[2];
                CRFAttribute_3   = CRFAttributes[3];
                CRFAttribute_4   = CRFAttributes[4];
                CRFAttribute_5   = CRFAttributes[5];
                AttributesHeader = $"{CRFAttribute_0.AttributeName}[{CRFAttribute_0.Position}{']'}{'|'}{CRFAttribute_1.AttributeName}[{CRFAttribute_1.Position}{']'}{'|'}{CRFAttribute_2.AttributeName}[{CRFAttribute_2.Position}{']'}{'|'}{CRFAttribute_3.AttributeName}[{CRFAttribute_3.Position}{']'}{'|'}{CRFAttribute_4.AttributeName}[{CRFAttribute_4.Position}{']'}{'|'}{CRFAttribute_5.AttributeName}[{CRFAttribute_5.Position}{']'}{'='}";
            }
            break;

            default:
            {
                for (var j = 0; j < attrs_len; j++)
                {
                    var attr = CRFAttributes[j];
                    AttributesHeader += $"{attr.AttributeName}[{attr.Position}{']'}{'|'}";
                }
                AttributesHeader = $"{AttributesHeader.Remove(AttributesHeader.Length - 1)}{'='}";
            }
            break;
            }

            CRFAttributesLength    = attrs_len;
            AttributesHeaderLength = AttributesHeader.Length;

            _GCHandle             = GCHandle.Alloc(AttributesHeader, GCHandleType.Pinned);
            _attributesHeaderBase = (char *)_GCHandle.AddrOfPinnedObject().ToPointer();
        }