public void UpdateAlertSubscription_Success() { RunInitSql("020.UpdateAccountSubscriptions_Success", _conn); IAlertsDal dal = PrepareAlertsDal(); IAlertsDalGetAccountSubscriptionsParams getGetSubsParams = dal.CreateGetAccountSubscrParams(); getGetSubsParams.AccountKey = ConfigurationManager.AppSettings["AccountKey"]; var getSubsResult = dal.GetAccountSubscriptions(getGetSubsParams); IAlertsDalUpdateAccountSubscrParams updSubParam = dal.CreateUpdateAccountSubscrParams(); updSubParam.SubscriptonDetails = new Subscription(); updSubParam.SubscriptonDetails.Id = getSubsResult.Subscriptions[0].Id; updSubParam.SubscriptonDetails.AccountKey = ConfigurationManager.AppSettings["AccountKey"]; updSubParam.SubscriptonDetails.Name = "Test Subscription 02 Updated"; updSubParam.SubscriptonDetails.NotificationTypeId = Int32.Parse(ConfigurationManager.AppSettings["NotificatioType_Id_CustomUrl"]); updSubParam.SubscriptonDetails.SubscribedDttm = DateTime.UtcNow; updSubParam.SubscriptonDetails.SubscriptionData.Add("Url", "http://customurl.com/"); IAlertsDalUpdateAccountSubscrResult updSubsResult = dal.UpdateAlertSubscription(updSubParam); RunFinalizeSql("020.UpdateAccountSubscriptions_Success", _conn); Assert.IsTrue(updSubsResult.Success); }
public object Any(UpdateAccountAlerts request) { UpdateAccountAlertsResponse response = new UpdateAccountAlertsResponse(); TransferHeader(request, response); try { if (IsValidSessionToken(request)) { IAlertsDalUpdateAccountSubscrParams updSubParams = _dal.CreateUpdateAccountSubscrParams(); foreach (var a in request.Alerts) { updSubParams.SubscriptonDetails = new Subscription() { Id = a.ID, AccountKey = request.AccountKey, Name = a.Name, NotificationTypeId = a.NotificationTypeId, SubscribedDttm = DateTime.UtcNow, TypeId = a.AlertTypeId }; foreach (var p in a.Properties) { updSubParams.SubscriptonDetails.SubscriptionData.Add(p.Name, p.Value); } var updSubResult = _dal.UpdateAlertSubscription(updSubParams); if (updSubResult.Success) { response.Errors.Add(new Error() { Type = EErrorType.Info, Code = EErrorCodes.Success, Message = string.Format("Alert subscription {0}, {1} updated", a.ID, a.Name) }); } else { response.Errors.Add(new Error() { Type = EErrorType.Warning, Code = EErrorCodes.AlertsSourceFail, Message = string.Format("Failed to update alert subscription {0}, {1}", a.ID, a.Name) }); } } response.Success = response.Errors.Find(e => e.Type == EErrorType.Error) == null; } else { response.Success = false; response.Errors.Add(new Error() { Code = EErrorCodes.InvalidSession, Type = EErrorType.Error, Message = "Invalid session token" }); } } catch (Exception ex) { response.Success = false; response.Errors.Add(new Interfaces.Error() { Code = Interfaces.EErrorCodes.GeneralError, Type = Interfaces.EErrorType.Error, Message = ex.Message }); } return(response); }