/// <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); } }
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); }
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); }
/// <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(); }
/// <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(); }