public void RecordConnection(MpConnectCommunication connection) { var apiToken = _apiUserRepository.GetToken(); try { if (connection.CommunicationStatusId == _configurationWrapper.GetConfigIntValue("ConnectCommunicationStatusAccepted") || connection.CommunicationStatusId == _configurationWrapper.GetConfigIntValue("ConnectCommunicationStatusDeclined")) { string filter = $"Group_ID = {connection.GroupId} AND From_Contact_ID = {connection.FromContactId} AND To_Contact_ID = {connection.ToContactId} AND Communication_Type_ID = {connection.CommunicationTypeId}"; const string columnList = "Connect_Communications_ID"; var communicationsToUpdate = _ministryPlatformRest.UsingAuthenticationToken(apiToken).Search <MpConnectCommunication>(filter, columnList).ToList(); foreach (var communication in communicationsToUpdate) { //Update var dict = new Dictionary <string, object> { { "Connect_Communication_ID", communication.ConnectCommunicationId }, { "Communication_Status_ID", connection.CommunicationStatusId } }; var update = new List <Dictionary <string, object> > { dict }; _ministryPlatformRest.UsingAuthenticationToken(apiToken).Put("cr_Connect_Communications", update); } } _ministryPlatformRest.UsingAuthenticationToken(apiToken).Create(connection); } catch (Exception ex) { _logger.Error("RecordConnection error" + ex); } }
private void RecordConnectInteraction(int groupId, int fromContactId, int toContactId, int connectionType, int connectionStatus) { //only record anywhere group type interactions var group = _groupService.GetGroupDetails(groupId); if (group.GroupTypeId != _anywhereGroupType && group.GroupTypeId != _smallGroupTypeId) { return; } var connection = new MpConnectCommunication { GroupId = groupId, FromContactId = fromContactId, ToContactId = toContactId, CommunicationTypeId = connectionType, CommunicationStatusId = connectionStatus }; _finderRepository.RecordConnection(connection); }