public void UpdateAttribute(string token, ContactAttribute attribute, bool useMyProfile) { var attributeDictionary = TranslateContactAttributeToDictionary(attribute); var subPageId = useMyProfile ? _myContactAttributesSubPage : _contactAttributesSubPage; try { _ministryPlatformService.UpdateSubRecord(subPageId, attributeDictionary, token); } catch (Exception e) { var msg = string.Format("Error updating contact attribute, contactAttributeId: {0} attributeId: {1}", attribute.ContactAttributeId, attribute.AttributeId); _logger.Error(msg, e); throw (new ApplicationException(msg, e)); } }
private List<ContactAttribute> TranslateSingleToMPAttribute(Dictionary<int, ContactSingleAttributeDTO> contactSingleAttributes) { var results = new List<ContactAttribute>(); if (contactSingleAttributes == null) { return results; } foreach (var contactSingleAttribute in contactSingleAttributes) { var contactAttribute = contactSingleAttribute.Value; if (contactAttribute.Value == null) { continue; } var mpContactAttribute = new ContactAttribute() { AttributeId = contactAttribute.Value.AttributeId, AttributeTypeId = contactSingleAttribute.Key, Notes = contactAttribute.Notes }; results.Add(mpContactAttribute); } return results; }
private static ContactAttribute TranslateMultiToMPAttribute(ContactAttributeDTO contactAttribute, ContactAttributeTypeDTO contactAttributeType) { var mpContactAttribute = new ContactAttribute(); if (contactAttribute == null) { return mpContactAttribute; } mpContactAttribute.AttributeId = contactAttribute.AttributeId; mpContactAttribute.AttributeTypeId = contactAttributeType != null ? contactAttributeType.AttributeTypeId : 0; mpContactAttribute.AttributeTypeName = contactAttributeType != null ? contactAttributeType.Name : string.Empty; mpContactAttribute.StartDate = contactAttribute.StartDate; mpContactAttribute.EndDate = contactAttribute.EndDate; mpContactAttribute.Notes = contactAttribute.Notes; return mpContactAttribute; }
private void SaveAttribute(int contactId, ContactAttribute attribute, string token, bool useMyProfile) { if (attribute.ContactAttributeId == 0) { // These are new so add them _mpContactAttributeService.CreateAttribute(token, contactId, attribute, useMyProfile); } else { // These are existing so update them _mpContactAttributeService.UpdateAttribute(token, attribute, useMyProfile); } }
private static Dictionary<string, object> TranslateContactAttributeToDictionary(ContactAttribute attribute) { var endDate = attribute.EndDate != null ? attribute.EndDate.GetValueOrDefault().Date : (DateTime?)null; var attributeDictionary = new Dictionary<string, object> { {"Attribute_Type_ID", attribute.AttributeTypeId}, {"Attribute_ID", attribute.AttributeId}, {"Contact_Attribute_ID", attribute.ContactAttributeId}, {"Start_Date", attribute.StartDate.Date}, {"End_Date", endDate}, {"Notes", attribute.Notes} }; return attributeDictionary; }