public async Task <HomeViewModel> GetHomeViewModel() { var settings = await _settings.Get(); var catalog = new List <CatalogModel>(); var categories = await _categoryService.GetAllPublishedWithProductsAndStyles(); foreach (var category in categories) { var catalogModel = new CatalogModel(category.Name); var categoryProducts = category.ProductCategories.Select(x => x.Product).OrderBy(x => x.ProductName); foreach (var product in categoryProducts) { catalogModel.Products.Add(new ProductsAzViewModel { Id = product.Id, Name = product.ProductName, Slug = product.Slug, Price = $"{product.Styles?.FirstOrDefault()?.Price:n2}", ImgSource = "images/" + product.Slug + ".jpg" }); } catalog.Add(catalogModel); } return(new HomeViewModel { Catalog = catalog, SiteTitle = settings?.SiteTitle ?? "NEW SITE", Description = settings?.Description ?? "NEW SITE DESCRIPTION" }); }
public async Task <string> Start(string sessionId, Uri requestUri, bool isSandbox) { var settings = await _siteSettingsService.Get(); var cart = await _cartService.GetCartViewModel(sessionId); var invoiceId = DateTime.Now.Ticks; var paymentRequest = new PaymentRequest(requestUri, settings, cart.Items, invoiceId, isSandbox); var redirectUrl = _paypalService.PayWithPaypal(paymentRequest); return(redirectUrl); }
public async Task SendEmailConfirmationLink(HttpRequest request, string username) { var user = await _userManager.FindByEmailAsync(username); var token = await GetEncodedEmailConfirmToken(user); var callbackUrl = $"{request?.Scheme}://{request?.Host}{request?.PathBase}/Account/ConfirmEmail/{user.Id}?code={token}"; var settings = await _settings.Get(); var htmlBody = $"Please confirm your account by clicking <a href=\"{callbackUrl}\">here</a>"; var smtpRequest = new SmtpRequest(settings, htmlBody, callbackUrl, user.Email, Subject); await _emailSender.SendEmail(smtpRequest); }
public async Task <string> Start(string sessionId, Uri requestUri, bool isSandbox) { var settings = await _siteSettingsService.Get(); var profile = await _siteSettingsService.GetSiteProfile(); var cart = await _cartService.GetCartViewModel(sessionId); var paymentRequestOptions = new PaymentRequestOptions(profile, settings, requestUri, isSandbox); var paymentRequest = new PaymentRequest(cart.Items, paymentRequestOptions); var redirectUrl = _paypalService.PayWithPaypal(paymentRequest); return(redirectUrl); }
public async Task GetApiContext_GivenAPaymentRequestWithValidApiCredentials_ReturnsAnApiContextWithAValidRequestId() { //arrange var settings = await _settings.Get(); var sut = _fixture.Resolve <IPaypalService>(); var paymentRequest = new PaymentRequest(_fixture.ProductionCheckoutUri, settings, CartViewStubs.Get(), 123); //act var apiContext = sut.GetApiContext(paymentRequest); //assert Assert.Equal(36, apiContext.RequestId.Length); }
/// <summary> /// 根据当前请求获取主题。 /// </summary> /// <param name="context">请求上下文。</param> /// <returns> /// 主题选择结果。 /// </returns> public ThemeSelectorResult GetTheme(RequestContext context) { return(new ThemeSelectorResult { ThemeName = _siteSettingsService.Get().Result.ThemeName }); }
public async Task <ActionResult> ListHome(int pageIndex) { ViewBag.AppendTenantName = false; var siteSettings = await _siteSettingsService.Get(); return(List(pageIndex, _postService.GetHomeList(), siteSettings.Seo, true)); }
private async Task <SmtpRequest> GetSmtpRequest(Order order) { var settings = await _siteSettingsService.Get(); var textBody = EmailHelper.GetOrderConfirmationTextBody(order, order.IsGuestOrder); var htmlBody = EmailHelper.GetOrderConfirmationHtmlBody(order); return(new SmtpRequest(settings, htmlBody, textBody, order.Email, Orders.EmailSubject)); }
public async Task Subscribe(string email) { var settings = await _siteSettingsService.Get(); var mc = new MailChimpManager(settings.MailChimpApiKey); var member = new Member { EmailAddress = email, StatusIfNew = Status.Subscribed }; await mc.Members.AddOrUpdateAsync(settings.MailChimpListId, member); }
private async Task <SmtpRequest> GetSmtpRequest(Order order) { var settings = await _siteSettingsService.Get(); var user = await _users.Find(order.Email); var textBody = EmailTemplates.GetOrderConfirmationTextBody(order, user != null); var htmlBody = EmailTemplates.GetOrderConfirmationHtmlBody(order); return(new SmtpRequest(settings, htmlBody, textBody, order.Email, Orders.EmailSubject)); }
public async Task <IActionResult> Get(string email) { try { var request = EmailHelper.GetTestEmailRequest(await _siteSettingsService.Get(), email, _sessionService.SessionId(), TestEmailSubject); await _emailService.SendEmail(request); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <decimal> Calculate(decimal subtotal) { if (subtotal == 0.00m) { return(0.00m); } var settings = await _siteSettingsService.Get(); var freeShippingThreshold = settings?.FreeShippingThreshold ?? 0.0m; var flatShippingRate = settings?.FlatShippingRate ?? 0.0m; return(subtotal >= freeShippingThreshold ? 0.00m : flatShippingRate); }
public async Task <JObject> SiteSettings() => JObject.FromObject(await _siteSettingsService.Get());
public async Task <SiteSetting> Get() => await _siteSettingsService.Get();
public async Task <IActionResult> GetSite([FromQuery] string id) => OkOrBadRequest(await siteService.Get(id, UserId));
public async Task <ActionResult> Index() { var model = (SiteSettingsViewModel)await _siteSettingsService.Get(); return(View(model)); }
/// <summary> /// 获取当前租户设置。 /// </summary> /// <returns> /// 当前租户设置实例。 /// </returns> public ITenant GetTenantSettings() { return(new DefaultTenant(_siteSettingsService.Get().Result.Name)); }
public async Task <SiteSettingsViewModel> Get() => new SiteSettingsViewModel { SiteSettings = await _siteSettingsService.Get(), SiteProfile = await _siteSettingsService.GetSiteProfile() };
public FeedController(IThemePostService postService, ISiteSettingsService siteSettingsService) { _postService = postService; _siteSettings = siteSettingsService.Get().Result; }