public string GetDefinition(int contactId, string userId) { var contactNotificationToSend = contactRepository.Where(c => c.Id == contactId) .Include(l => l.Client); if (!contactNotificationToSend.Any()) { throw new Exception("No contact information found"); } var contact = contactNotificationToSend.Single(); var url = accessTokenProvider.GenerateAccessUrl(userId, "/report/" + contact.Client.Id + "/contact/" + contact.Id); var shortUrl = urlShortner.GetShortUrl(url); var smsText = "Du har fått en ny Helloykontakt! Rejta eller dela " + shortUrl; return(smsText); }
private ContactDetails GetContactDetails(string userId, Contact contact) { var contactDefenition = new ContactDetails(); if (contact.LeadType == "Phone") { var callerNumberProperty = contact.Property.SingleOrDefault(lp => lp.Type == "CallerNumber" && lp.ContactId == contact.Id); if (callerNumberProperty != null) { contactDefenition.From = callerNumberProperty.Value; } var durationProperty = contact.Property.SingleOrDefault(lp => lp.Type == "Duration" && lp.ContactId == contact.Id); if (durationProperty != null) { var duration = durationProperty.Value; if (!string.IsNullOrEmpty(duration)) { contactDefenition.SubjectOrDuration = TimeSpan.FromSeconds(int.Parse(duration)).Minutes + ":" + TimeSpan.FromSeconds(int.Parse(duration)).Seconds; } else { contactDefenition.SubjectOrDuration = "0:0"; } } } else if (contact.LeadType == "Email") { var fromEmailProperty = contact.Property.SingleOrDefault(lp => lp.Type == "FromEmail" && lp.ContactId == contact.Id); if (fromEmailProperty != null) { contactDefenition.From = fromEmailProperty.Value; } var subjectProperty = contact.Property.SingleOrDefault(lp => lp.Type == "Subject" && lp.ContactId == contact.Id); if (subjectProperty != null) { var subject = subjectProperty.Value; contactDefenition.SubjectOrDuration = subject; } } else if (contact.LeadType == "Chat") { var fromValues = new List <string>(); var phoneProperty = contact.Property.SingleOrDefault(lp => lp.Type == "Phone" && lp.ContactId == contact.Id); if (phoneProperty != null) { fromValues.Add(phoneProperty.Value); } var emailProperty = contact.Property.SingleOrDefault(lp => lp.Type == "Email" && lp.ContactId == contact.Id); if (emailProperty != null) { fromValues.Add(emailProperty.Value); } contactDefenition.From = string.Join(", ", fromValues); } contactDefenition.InsideUrl = accessTokenProvider.GenerateAccessUrl(userId, "/report/" + contact.ClientId + "/contact/" + contact.Id); contactDefenition.Date = contact.Date.ToString("yyyy-MM-dd HH:mm"); return(contactDefenition); }