public void AddAlertSubscription_Success() { RunInitSql("010.AddAccountSubscriptions_Success", _conn); IAlertsDal dal = PrepareAlertsDal(); IAlertsDalAddAccountSubscrParams addSubParam = dal.CreateAddAccountSubscrParams(); addSubParam.SubscriptonDetails = new Subscription(); addSubParam.SubscriptonDetails.AccountKey = ConfigurationManager.AppSettings["AccountKey"]; addSubParam.SubscriptonDetails.Name = ConfigurationManager.AppSettings["TestSubscriptionName"]; addSubParam.SubscriptonDetails.NotificationTypeId = Int32.Parse(ConfigurationManager.AppSettings["NotificatioType_Id_CustomUrl"]); addSubParam.SubscriptonDetails.TypeId = Int32.Parse(ConfigurationManager.AppSettings["Alert_Id_10K"]); addSubParam.SubscriptonDetails.SubscribedDttm = DateTime.UtcNow; addSubParam.SubscriptonDetails.SubscriptionData.Add("Url", "http://customurl.com/"); IAlertsDalAddAccountSubscrResult addSubsResult = dal.AddAlertSubscription(addSubParam); RunFinalizeSql("010.AddAccountSubscriptions_Success", _conn); Assert.IsTrue(addSubsResult.Success); }
public object Any(AddAccountAlerts request) { AddAccountAlertsResponse response = new AddAccountAlertsResponse(); TransferHeader(request, response); try { if (IsValidSessionToken(request)) { IAlertsDalAddAccountSubscrParams addSubParams = _dal.CreateAddAccountSubscrParams(); foreach (var a in request.Alerts) { addSubParams.SubscriptonDetails = new Subscription() { AccountKey = request.AccountKey, Name = a.Name, NotificationTypeId = a.NotificationTypeId, SubscribedDttm = DateTime.UtcNow, TypeId = a.AlertTypeId }; foreach (var p in a.Properties) { addSubParams.SubscriptonDetails.SubscriptionData.Add(p.Name, p.Value); } var addSubResult = _dal.AddAlertSubscription(addSubParams); if (addSubResult.Success) { response.Errors.Add(new Error() { Type = EErrorType.Info, Code = EErrorCodes.Success, Message = string.Format("Alert subscription {0} added", a.Name) }); } else { response.Errors.Add(new Error() { Type = EErrorType.Warning, Code = EErrorCodes.AlertsSourceFail, Message = string.Format("Failed to add alert subscription {0}", 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); }