Exemple #1
0
        /// <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));
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
        /// <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);
        }
Exemple #4
0
        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)
            }));
        }
Exemple #5
0
        /// <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);
        }
Exemple #6
0
 public SubscriptionLogManageModel(SubscriptionEnums.SubscriptionModule module, dynamic parameters) : this()
 {
     Module     = module;
     Parameters = SerializeUtilities.Serialize(parameters);
 }
Exemple #7
0
 public SubscriptionLogManageModel(SubscriptionEnums.SubscriptionModule module, string parameters) : this()
 {
     Module     = module;
     Parameters = parameters;
 }