/// <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); }
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()); }
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); }
/// <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)); }
/// <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")); } }