Example #1
0
        /// <summary>
        /// Indexes this instance.
        /// </summary>
        /// <returns>return All subscription</returns>
        public IActionResult Index()
        {
            if (Convert.ToBoolean(applicationConfigRepository.GetValuefromApplicationConfig(MainMenuStatusEnum.IsLicenseManagementEnabled.ToString())) == true)
            {
                this.TempData["ShowLicensesMenu"] = true;
            }
            SubscriptionLicensesModel subscriptionLicenses = new SubscriptionLicensesModel();

            subscriptionLicenses.SubscriptionList = new SelectList(this.subscriptionRepository.Get().Where(s => s.SubscriptionStatus == Convert.ToString(SubscriptionStatusEnum.Subscribed)), "Id", "Name");
            List <SubscriptionLicensesViewModel> subscriptionlist = new List <SubscriptionLicensesViewModel>();
            var getsubscriptionList = this.subscriptionLicensesRepository.GetLicensesForSubscriptions(Convert.ToString(SubscriptionStatusEnum.Subscribed));

            foreach (var item in getsubscriptionList)
            {
                SubscriptionLicensesViewModel subscription = new SubscriptionLicensesViewModel();
                subscription.Id = item.Id;
                subscription.AmpsubscriptionId = Convert.ToString(item.Subscription.AmpsubscriptionId);
                subscription.LicenseKey        = item.LicenseKey;
                subscription.PlanName          = item.Subscription?.AmpplanId;
                subscription.SubscriptionName  = item.Subscription?.Name;
                subscription.Status            = item.IsActive.GetValueOrDefault();
                subscription.SubScriptionID    = item.SubscriptionId ?? 0;
                subscriptionlist.Add(subscription);
            }
            subscriptionLicenses.Licenses = subscriptionlist;
            return(this.View(subscriptionLicenses));
            //return this.View(subscriptionlist);
        }
Example #2
0
        public static string ProcessTemplate(SubscriptionResult Subscription, IEmailTemplateRepository emailTemplateRepository, IApplicationConfigRepository applicationConfigRepository)
        {
            string    body            = emailTemplateRepository.GetTemplateBody(Subscription.SaasSubscriptionStatus.ToString());
            string    applicationName = applicationConfigRepository.GetValuefromApplicationConfig("ApplicationName");
            Hashtable hashTable       = new Hashtable();

            hashTable.Add("ApplicationName", applicationName);
            hashTable.Add("CustomerEmailAddress", Subscription.CustomerEmailAddress);
            hashTable.Add("CustomerName", Subscription.CustomerName);
            hashTable.Add("Id", Subscription.Id);
            hashTable.Add("SubscriptionName", Subscription.Name);
            hashTable.Add("SaasSubscriptionStatus", Subscription.SaasSubscriptionStatus);

            ExtendedProperties p = new ExtendedProperties();

            VelocityEngine v = new VelocityEngine();

            v.Init(p);

            VelocityContext context = new VelocityContext(hashTable);
            StringWriter    writer  = new StringWriter();

            v.Evaluate(context, writer, string.Empty, body);
            return(writer.ToString());
        }
Example #3
0
        public static void SendEmail(SubscriptionResult Subscription, IApplicationConfigRepository applicationConfigRepository, IEmailTemplateRepository emailTemplateRepository)
        {
            MailMessage mail     = new MailMessage();
            string      FromMail = applicationConfigRepository.GetValuefromApplicationConfig("SMTPFromEmail");
            string      password = applicationConfigRepository.GetValuefromApplicationConfig("SMTPPassword");
            string      username = applicationConfigRepository.GetValuefromApplicationConfig("SMTPUserName");
            string      Subject  = emailTemplateRepository.GetSubject(Subscription.SaasSubscriptionStatus.ToString());
            bool        smtpSsl  = bool.Parse(applicationConfigRepository.GetValuefromApplicationConfig("SMTPSslEnabled"));

            mail.From = new MailAddress(FromMail);

            mail.Subject = Subject;

            string body = TemplateService.ProcessTemplate(Subscription, emailTemplateRepository, applicationConfigRepository);

            mail.Body       = body;
            mail.IsBodyHtml = true;
            if (!string.IsNullOrEmpty(emailTemplateRepository.GetToRecipients(Subscription.SaasSubscriptionStatus.ToString())))
            {
                string[] ToEmails = (emailTemplateRepository.GetToRecipients(Subscription.SaasSubscriptionStatus.ToString())).Split(';');
                foreach (string Multimailid in ToEmails)
                {
                    mail.To.Add(new MailAddress(Multimailid));
                }
            }


            if (!string.IsNullOrEmpty(emailTemplateRepository.GetCCRecipients(Subscription.SaasSubscriptionStatus.ToString())))
            {
                string[] CcEmails = (emailTemplateRepository.GetCCRecipients(Subscription.SaasSubscriptionStatus.ToString())).Split(';');
                foreach (string Multimailid in CcEmails)
                {
                    mail.CC.Add(new MailAddress(Multimailid));
                }
            }

            if (!string.IsNullOrEmpty(emailTemplateRepository.GetBccRecipients(Subscription.SaasSubscriptionStatus.ToString())))
            {
                string[] BccEmails = (emailTemplateRepository.GetBccRecipients(Subscription.SaasSubscriptionStatus.ToString())).Split(';');
                foreach (string Multimailid in BccEmails)
                {
                    mail.Bcc.Add(new MailAddress(Multimailid));
                }
            }
            SmtpClient smtp = new SmtpClient();

            smtp.Host = applicationConfigRepository.GetValuefromApplicationConfig("SMTPHost");
            smtp.Port = int.Parse(applicationConfigRepository.GetValuefromApplicationConfig("SMTPPort"));
            smtp.UseDefaultCredentials = false;
            smtp.Credentials           = new NetworkCredential(
                username, password);
            smtp.EnableSsl = smtpSsl;
            smtp.Send(mail);
        }
Example #4
0
        /// <summary>
        /// Indexes this instance.
        /// </summary>
        /// <returns>
        /// return get all subscription
        /// </returns>
        public IActionResult Index()
        {
            if (Convert.ToBoolean(applicationConfigRepository.GetValuefromApplicationConfig(MainMenuStatusEnum.IsLicenseManagementEnabled.ToString())) == true)
            {
                this.TempData["ShowLicensesMenu"] = true;
            }
            List <SubscriptionLicensesViewModel> getAllSubScriptionData = new List <SubscriptionLicensesViewModel>();

            this.TempData["ShowWelcomeScreen"] = "True";
            var currentUserDetail = usersRepository.GetPartnerDetailFromEmail(this.CurrentUserEmailAddress);

            if (currentUserDetail != null)
            {
                getAllSubScriptionData = this.subscriptionLicensesService.GetSubScriptionLicensesbyUser(currentUserDetail.UserId);
            }
            return(this.View(getAllSubScriptionData));
        }
Example #5
0
        /// <summary>
        /// Get All Subscription List for Current Logged in User
        /// </summary>
        /// <param name="token">The MS Token<see cref="string" /></param>
        /// <returns>
        /// The <see cref="IActionResult" />
        /// </returns>
        public IActionResult Index(string token = null)
        {
            try
            {
                this.logger.LogInformation($"Landing page with token {token}");
                SubscriptionResultExtension subscriptionDetail = new SubscriptionResultExtension();

                if (User.Identity.IsAuthenticated)
                {
                    if (Convert.ToBoolean(applicationConfigRepository.GetValuefromApplicationConfig(MainMenuStatusEnum.IsLicenseManagementEnabled.ToString())) == true)
                    {
                        this.TempData["ShowLicensesMenu"] = true;
                    }
                    var userId        = this.userService.AddPartnerDetail(GetCurrentUserDetail());
                    var currentUserId = this.userService.GetUserIdFromEmailAddress(this.CurrentUserEmailAddress);
                    this.subscriptionService = new SubscriptionService(this.subscriptionRepository, this.planRepository, userId);

                    this.logger.LogInformation("User authenticated successfully");

                    if (!string.IsNullOrEmpty(token))
                    {
                        this.TempData["ShowWelcomeScreen"] = null;
                        token = token.Replace(' ', '+');
                        var newSubscription = this.apiClient.ResolveAsync(token).ConfigureAwait(false).GetAwaiter().GetResult();
                        if (newSubscription != null && newSubscription.SubscriptionId != default)
                        {
                            var subscriptionPlanDetail = this.apiClient.GetAllPlansForSubscriptionAsync(newSubscription.SubscriptionId).ConfigureAwait(false).GetAwaiter().GetResult();
                            this.subscriptionService.AddPlanDetailsForSubscription(subscriptionPlanDetail);
                            // GetSubscriptionBy SubscriptionId
                            var subscriptionData = this.apiClient.GetSubscriptionByIdAsync(newSubscription.SubscriptionId).ConfigureAwait(false).GetAwaiter().GetResult();
                            subscriptionData.Quantity = 0;
                            var subscribeId = this.subscriptionService.AddUpdatePartnerSubscriptions(subscriptionData);
                            if (subscribeId > 0 && subscriptionData.SaasSubscriptionStatus == SubscriptionStatusEnum.PendingFulfillmentStart)
                            {
                                SubscriptionAuditLogs auditLog = new SubscriptionAuditLogs()
                                {
                                    Attribute      = Convert.ToString(SubscriptionLogAttributes.Status),
                                    SubscriptionId = subscribeId,
                                    NewValue       = SubscriptionStatusEnum.PendingFulfillmentStart.ToString(),
                                    OldValue       = "None",
                                    CreateBy       = currentUserId,
                                    CreateDate     = DateTime.Now
                                };
                                this.subscriptionLogRepository.Add(auditLog);
                            }
                            var serializedParent = JsonConvert.SerializeObject(subscriptionData);
                            subscriptionDetail = JsonConvert.DeserializeObject <SubscriptionResultExtension>(serializedParent);
                            subscriptionDetail.ShowWelcomeScreen    = false;
                            subscriptionDetail.CustomerEmailAddress = this.CurrentUserEmailAddress;
                            subscriptionDetail.CustomerName         = this.CurrentUserName;
                        }
                    }
                    else
                    {
                        this.TempData["ShowWelcomeScreen"]   = "True";
                        subscriptionDetail.ShowWelcomeScreen = true;
                        return(this.View(subscriptionDetail));
                    }
                }
                else
                {
                    if (!string.IsNullOrEmpty(token))
                    {
                        return(this.Challenge(new AuthenticationProperties {
                            RedirectUri = "/?token=" + token
                        }, OpenIdConnectDefaults.AuthenticationScheme));
                    }
                    else
                    {
                        this.TempData["ShowWelcomeScreen"]   = "True";
                        subscriptionDetail.ShowWelcomeScreen = true;
                        return(this.View(subscriptionDetail));
                    }
                }
                return(this.View(subscriptionDetail));
            }
            catch (Exception ex)
            {
                logger.LogInformation("Message:{0} :: {1}   ", ex.Message, ex.InnerException);
                return(View("Error"));
            }
        }