public ContactViewModel TestClient() { var identifier = "test19"; var source = "test"; var testContact = GetContact(source, identifier); if (testContact == null) { var contact = new ImageProcessingContact(); contact.FirstName = "Test"; contact.LastName = "Last"; contact.Id = identifier + "_" + identifier; contact.Age = 30; contact.Gender = "Male"; contact.Company = "Brimit"; this.AddContact(source, identifier, contact); this.RegisterOfflineInteraction(source, identifier, new FaceApiFacet() { HappinessValue = 1, SmileValue = 1 }); this.SetEmail(source, identifier, identifier + "@mail.com"); } return(GetContact(source, identifier)); }
private void UpdateContact(object sender, ActiveVisitorChangedEventArgs e) { ImageProcessingContact c = e.ImageProcessingContact; ActiveVisitorHub.Change(c); Xservice xservice = new Xservice(); var contact = xservice.GetContact(Settings.FaceApiIdentificationSource, c.Id); if (contact == null) { xservice.AddContact(Settings.FaceApiIdentificationSource, c.Id, c); var faceApiFacet = new FaceApiFacet { NeutralValue = c.Neutral, HappinessValue = c.Happiness, SmileValue = c.Smile, AngerValue = c.Anger, SurpriseValue = c.Surprise, SadnessValue = c.Sadness, FearValue = c.Fear, DisgustValue = c.Disgust, ContemptValue = c.Contempt }; xservice.RegisterOfflineInteraction(Settings.FaceApiIdentificationSource, c.Id, faceApiFacet); } }
public static void Set(ImageProcessingContact imageProcessingContact) { bool changed = contact != imageProcessingContact; contact = imageProcessingContact; if (changed) { if (VisitorChanged != null) { VisitorChanged("", new ActiveVisitorChangedEventArgs(contact)); } } if (VisitorUpdated != null) { VisitorUpdated("", new ActiveVisitorChangedEventArgs(contact)); } }
public void AddContact(string source, string identifier, ImageProcessingContact data) { using (XConnectClient client = GetClient()) { try { // Get a known contact IdentifiedContactReference reference = new IdentifiedContactReference(source, identifier); Contact existingContact = client.Get <Contact>( reference, new ContactExpandOptions(PersonalInformation.DefaultFacetKey, CvPersonFacet.DefaultFacetKey, Avatar.DefaultFacetKey)); if (existingContact != null) { return; } var contactIdentifier = new[] { new ContactIdentifier(source, identifier, ContactIdentifierType.Known) }; Contact contact = new Contact(contactIdentifier); PersonalInformation personalInformation = new PersonalInformation { FirstName = data.FirstName, LastName = data.LastName, Gender = data.Gender }; CvPersonFacet cvPersonFacet = new CvPersonFacet { Id = data.Id, Age = data.Age, Company = data.Company, FirstName = data.FirstName, LastName = data.LastName, Photo = data.Photo48, Gender = data.Gender }; if (!string.IsNullOrWhiteSpace(data.ParsedText)) { cvPersonFacet.BadgeText = data.ParsedText .Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .Select(s => s.Trim()) .ToList(); } Avatar avatarFacet = new Avatar(string.Empty, new byte[] { }); if (data.Photo48 != null) { avatarFacet.MimeType = "image/jpg"; avatarFacet.Picture = Convert.FromBase64String(data.Photo48); } client.SetFacet <Avatar>(contact, Avatar.DefaultFacetKey, avatarFacet); client.SetFacet <PersonalInformation>(contact, PersonalInformation.DefaultFacetKey, personalInformation); client.SetFacet <CvPersonFacet>(contact, CvPersonFacet.DefaultFacetKey, cvPersonFacet); client.AddContact(contact); client.Submit(); } catch (Sitecore.XConnect.XdbExecutionException ex) { } } }
public ActiveVisitorChangedEventArgs(ImageProcessingContact imageProcessingContact) { this.ImageProcessingContact = imageProcessingContact; }
public void Hello(ImageProcessingContact contact) { Clients.All.hello(contact); }
public static void Change(ImageProcessingContact contact) { _hubContext.Clients.All.hello(contact); }