/// <summary> /// Updates bonus point and score. /// </summary> /// <param name="point">Extra point to bonus and score.</param> public void UpdatePoint(int point) { try { var email = _customerService.GetCurrentContact()?.Email; if (string.IsNullOrEmpty(email)) { return; } var currentRecipientListId = GetRecipientListId(recipientName); // Get current point of recipient var currentPoints = _campaignRecipient.GetRecipientDetails(currentRecipientListId, email, new List <string>() { bonusPoints, score }).ToArray(); // Update recipient if (currentRecipientListId != -1) { var b = long.TryParse(currentPoints[0], out var oldBonusPoints); var s = long.TryParse(currentPoints[1], out var oldScore); var data = new Dictionary <string, string> { { bonusPoints, (oldBonusPoints + point).ToString() }, { score, (oldScore + point).ToString() }, { "Email", email } }; AddOrUpdateRecipient(data, currentRecipientListId); } } catch (Exception ex) { LogManager.GetLogger(GetType()).Error(ex.Message, ex.StackTrace); } }