/// <summary> /// Parse the Subscription /// </summary> /// <typeparam name="TModel"></typeparam> /// <param name="module"></param> /// <param name="model"></param> /// <returns></returns> public SubscriptionTemplateResponseModel ParseSubscription <TModel>(SubscriptionEnums.SubscriptionModule module, TModel model) { var subscriptionTemlate = _subscriptionTemplateRepository.FetchFirst(e => e.Module == module); return(ParseSubscription(subscriptionTemlate, model)); }
/// <summary> /// Get subscription by module and parameters /// </summary> /// <param name="module"></param> /// <param name="email"></param> /// <param name="parameters"></param> /// <returns></returns> public SubscriptionModel GetSubscription(SubscriptionEnums.SubscriptionModule module, string email, string parameters) { if (parameters != null) { var data = Fetch(s => s.Active && s.Module == module && s.Email.Equals(email)).ToList(); if (data.Any()) { var subscriptions = data.Select(s => new SubscriptionModel(s)); switch (module) { case SubscriptionEnums.SubscriptionModule.Page: var param = SerializeUtilities.Deserialize <SubscriptionPageParameterModel>(parameters); var subscription = subscriptions.FirstOrDefault( s => ((SubscriptionPageParameterModel)s.Parameters).Id == param.Id); if (subscription != null) { return(subscription); } break; } } } return(null); }
/// <summary> /// Get notification email model assembly name /// </summary> /// <param name="module"></param> /// <returns></returns> public string GetNotificationEmailModelAssemblyName(SubscriptionEnums.SubscriptionModule module) { switch (module) { case SubscriptionEnums.SubscriptionModule.Page: return(typeof(List <PageSubscriptionEmailModel>).AssemblyQualifiedName); } return(string.Empty); }
public JsonResult GeneratePropertyDropdown(SubscriptionEnums.SubscriptionModule module) { var type = _subscriptionTemplateService.GetNotificationEmailModelAssemblyName(module); var model = _widgetService.GetPropertyListFromType(type); return(Json(new ResponseModel { Success = true, Data = RenderPartialViewToString("Partials/_PropertyDropdown", model) })); }
/// <summary> /// Generate subscription model /// </summary> /// <param name="module"></param> /// <param name="email"></param> /// <param name="parameters"></param> /// <returns></returns> public SubscriptionWidget GenerateSubscription(SubscriptionEnums.SubscriptionModule module, string email, dynamic parameters) { var model = new SubscriptionWidget(); if (parameters == null) { return(model); } model.Parameters = SerializeUtilities.Serialize(parameters); model.Module = module; model.Email = email; // Check subscription existed or not var currentSubscription = GetSubscription(module, email, parameters); if (currentSubscription != null) { model.Id = currentSubscription.Id; } return(model); }
public SubscriptionLogManageModel(SubscriptionEnums.SubscriptionModule module, dynamic parameters) : this() { Module = module; Parameters = SerializeUtilities.Serialize(parameters); }
public SubscriptionLogManageModel(SubscriptionEnums.SubscriptionModule module, string parameters) : this() { Module = module; Parameters = parameters; }