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 void GetAccountSubscriptions_InvalidKey() { IAlertsDal dal = PrepareAlertsDal(); IAlertsDalGetAccountSubscriptionsParams getGetSubsParams = dal.CreateGetAccountSubscrParams(); getGetSubsParams.AccountKey = ConfigurationManager.AppSettings["InvalidAccountKey"]; var getSubsResult = dal.GetAccountSubscriptions(getGetSubsParams); Assert.IsTrue(getSubsResult.Success); Assert.IsNotNull(getSubsResult.Subscriptions != null); Assert.IsEmpty(getSubsResult.Subscriptions); }
public void GetAccountSubscriptions_Success() { RunInitSql("000.GetAccountSubscriptions_Success", _conn); IAlertsDal dal = PrepareAlertsDal(); IAlertsDalGetAccountSubscriptionsParams getGetSubsParams = dal.CreateGetAccountSubscrParams(); getGetSubsParams.AccountKey = ConfigurationManager.AppSettings["AccountKey"]; var getSubsResult = dal.GetAccountSubscriptions(getGetSubsParams); RunFinalizeSql("000.GetAccountSubscriptions_Success", _conn); Assert.IsTrue(getSubsResult.Success); Assert.IsNotNull(getSubsResult.Subscriptions != null); Assert.IsNotEmpty(getSubsResult.Subscriptions); }
public void RemoveAlertSubscription_Success() { RunInitSql("030.RemoveAccountSubscription_Success", _conn); IAlertsDal dal = PrepareAlertsDal(); IAlertsDalGetAccountSubscriptionsParams getGetSubsParams = dal.CreateGetAccountSubscrParams(); getGetSubsParams.AccountKey = ConfigurationManager.AppSettings["AccountKey"]; var getSubsResult = dal.GetAccountSubscriptions(getGetSubsParams); IAlertsDalRemoveAccountSubscrParams remSubParam = dal.CreateRemoveAccountSubscrParams(); remSubParam.SubscriptionIds.Add(getSubsResult.Subscriptions[0].Id); IAlertsDalRemoveAccountSubscrResult updSubsResult = dal.RemoveAlertSubscription(remSubParam); RunFinalizeSql("030.RemoveAccountSubscription_Success", _conn); Assert.IsTrue(updSubsResult.Success); }
public void SetAlertSubscriptionStatus_Success() { RunInitSql("040.SetAccountSubscriptionStatus_Success", _conn); IAlertsDal dal = PrepareAlertsDal(); IAlertsDalGetAccountSubscriptionsParams getGetSubsParams = dal.CreateGetAccountSubscrParams(); getGetSubsParams.AccountKey = ConfigurationManager.AppSettings["AccountKey"]; var getSubsResult = dal.GetAccountSubscriptions(getGetSubsParams); IAlertsDalSetAlertStatusParams updSubParam = dal.CreateSetAlertStatusParams(); getSubsResult.Subscriptions[0].StatusId = Int32.Parse(ConfigurationManager.AppSettings["Status_Id_Disabled"]); updSubParam.Subscriptions.Add(getSubsResult.Subscriptions[0]); IAlertsDalSetAlertStatusResult updSubsResult = dal.SetAlertSubscriptionStatus(updSubParam); RunFinalizeSql("040.SetAccountSubscriptionStatus_Success", _conn); Assert.IsTrue(updSubsResult.Success); }
public IAlertsDalGetAccountSubscriptionsResult GetAccountSubscriptions(IAlertsDalGetAccountSubscriptionsParams getSubsParams) { IAlertsDalGetAccountSubscriptionsResult result = new MSSQL.AlertsDalGetAccountSubscriptionsResult(); string spName = "[SP_Get_Account_Subscriptions]"; SqlConnection conn = OpenConnection(connName); SqlParameter paramAccountKey = new SqlParameter("@SubscriberAccountKey", SqlDbType.NVarChar, 255, ParameterDirection.Input, true, 0, 0, "", DataRowVersion.Current, getSubsParams.AccountKey); SqlCommand cmd = new SqlCommand(); cmd.CommandText = schema + "." + spName; cmd.CommandType = CommandType.StoredProcedure; cmd.Connection = conn; cmd.Parameters.Add(paramAccountKey); try { DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; da.Fill(ds); if (ds != null && ds.Tables != null && ds.Tables.Count > 0) { foreach (DataRow r in ds.Tables[0].Rows) { Subscription subs = new Subscription(); subs.Id = (long)r["Alert_Subscription_Id"]; subs.Name = !DBNull.Value.Equals(r["Alert_Subscription_Name"]) ? (string)r["Alert_Subscription_Name"] : null; subs.AccountKey = !DBNull.Value.Equals(r["Subscriber_Account_Key"]) ? (string)r["Subscriber_Account_Key"] : null; subs.TypeId = (long)r["Alert_Type_Id"]; subs.TypeName = !DBNull.Value.Equals(r["Alert_Type_Name"]) ? (string)r["Alert_Type_Name"] : null; subs.NotificationTypeId = (long)r["Notification_Type_Id"]; subs.NotificationTypeName = !DBNull.Value.Equals(r["Alert_Notification_Type_Value"]) ? (string)r["Alert_Notification_Type_Value"] : null; subs.SubscribedDttm = (DateTime)r["Subscribed_Dttm"]; subs.StatusId = (long)r["Alert_Subscription_Status_Id"]; subs.StatusName = !DBNull.Value.Equals(r["Alert_Subscription_Status_Value"]) ? (string)r["Alert_Subscription_Status_Value"] : null; if (ds.Tables.Count > 1) { // from second table reading values for this subscription foreach (var v in ds.Tables[1].Select(string.Format("Alert_Subscription_Id = {0}", subs.Id))) { subs.SubscriptionData.Add((string)v["Subscription_Property_Name"], (string)v["Subscription_Property_Value"]); } } result.Subscriptions.Add(subs); } } } catch (Exception ex) { result.Success = false; result.Errors.Add(new Interfaces.Error() { Code = Interfaces.EErrorCodes.AlertsSourceFail, Type = Interfaces.EErrorType.Error, Message = ex.Message }); } conn.Close(); return(result); }
public object Any(GetAccountAlerts request) { GetAccountAlertsResponse response = new GetAccountAlertsResponse(); TransferHeader(request, response); try { if (IsValidSessionToken(request)) { IAlertsDalGetAccountSubscriptionsParams getSubsParams = _dal.CreateGetAccountSubscrParams(); getSubsParams.AccountKey = request.AccountKey; var getSubsResult = _dal.GetAccountSubscriptions(getSubsParams); if (getSubsResult.Success) { response.Payload.AccountKey = request.AccountKey; foreach (var s in getSubsResult.Subscriptions) { AlertSubscription alertSub = new AlertSubscription() { AlertTypeId = s.TypeId, ID = s.Id, Name = s.Name, NotificationTypeId = (long)s.NotificationTypeId, Subscribed = (DateTime)s.SubscribedDttm, StatusId = s.StatusId }; foreach (var p in s.SubscriptionData) { alertSub.Properties.Add(new AlertSubscriptionProperty() { Name = p.Key, Value = p.Value }); } response.Payload.Alerts.Add(alertSub); } response.Success = true; } else { response.Success = false; response.Errors.AddRange(getSubsResult.Errors); } } 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); }