ALPECIN

(0)

Alpecin Double-Effect Caffeine Shampoo

20647
PIECE
د.ل.‏ 125,000 OutOfStock
Error compiling template "/Designs/Swift/Paragraph/Custom_MultiBuyDiscounts.cshtml"
Line 43: 'CurrencyService.CurrencyService()' is obsolete: 'This is no longer suitable for manual construction. Please either use constructor injection or Dynamicweb.Ecommerce.Services.Currencies.'

1 // <auto-generated/> 2 #pragma warning disable 1591 3 namespace CompiledRazorTemplates.Dynamic 4 { 5 #line hidden 6 using System.Threading.Tasks; 7 using System; 8 using System.Collections.Generic; 9 using System.Linq; 10 using Dynamicweb.Ecommerce.ProductCatalog; 11 using Dynamicweb.Ecommerce.International; 12 using CustomServices.Services; 13 using CustomServices.Models; 14 using Newtonsoft.Json; 15 internal class RazorEngine_97b77b18c8824b32a31131ab5fd90cff : Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 16 { 17 #pragma warning disable 1998 18 public async override global::System.Threading.Tasks.Task ExecuteAsync() 19 { 20 21 ProductViewModel product = null; 22 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 23 { 24 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 25 } 26 else if (Pageview.Page.Item["DummyProduct"] != null && Pageview.IsVisualEditorMode) 27 { 28 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(Pageview.Page); 29 ProductListViewModel productList = pageViewModel.Item.GetValue("DummyProduct") != null ? pageViewModel.Item.GetValue("DummyProduct") as ProductListViewModel : new ProductListViewModel(); 30 31 if (productList?.Products is object) 32 { 33 product = productList.Products[0]; 34 } 35 } 36 int discountNumber = Model.Item.GetInt32("Discount_Count"); ; 37 WriteLiteral("\r\n"); 38 if (product is object) 39 { 40 DiscountService discountService = new DiscountService(); 41 string res = JsonConvert.SerializeObject(discountService.ReturnDiscountsMultiBuy(product.Id, product.VariantId, discountNumber, product, Dynamicweb.Ecommerce.Common.Context.Cart, product.Discontinued, product.NeverOutOfstock)); 42 List<DiscountView> results = JsonConvert.DeserializeObject<List<DiscountView>>(res); 43 CurrencyService currencyService = new CurrencyService(); 44 Currency currency = currencyService.GetCurrency(product.Price.CurrencyCode); 45 string currencySymbol = currency.Symbol; 46 if (results.Count > 0) 47 { 48 WriteLiteral("\t\t<div>\r\n\t\t\t<div class=\"cus-discount-title\">"); 49 Write(Translate("Discounts:")); 50 WriteLiteral(" </div>\r\n\t\t\t<div class=\"cus-discounts-buttons\">\r\n"); 51 foreach (var result in results) 52 { 53 WriteLiteral("\t\t\t\t\t<div>\r\n"); 54 if (result.percentage > 0) 55 { 56 WriteLiteral("\t\t\t\t\t\t\t<div>"); 57 Write(Translate("Buy")); 58 WriteLiteral(" "); 59 Write(result.disQuantity); 60 WriteLiteral(" "); 61 Write(Translate("get")); 62 WriteLiteral(" "); 63 Write(result.percentage); 64 WriteLiteral(" % "); 65 Write(Translate("off")); 66 WriteLiteral("</div>\r\n"); 67 } 68 if (result.amount > 0) 69 { 70 WriteLiteral("\t\t\t\t\t\t\t<div>"); 71 Write(Translate("Buy")); 72 WriteLiteral(" "); 73 Write(result.disQuantity); 74 WriteLiteral(" "); 75 Write(Translate("get")); 76 WriteLiteral(" "); 77 Write(result.amount); 78 WriteLiteral(" "); 79 Write(currencySymbol); 80 WriteLiteral(" "); 81 Write(Translate("off")); 82 WriteLiteral("</div>\r\n"); 83 } 84 WriteLiteral("\t\t\t\t\t</div>\r\n"); 85 } 86 WriteLiteral("\t\t\t</div>\r\n\t\t</div>\r\n"); 87 } 88 } 89 else if (Pageview.IsVisualEditorMode) 90 { 91 WriteLiteral("\t<div class=\"alert alert-warning\">"); 92 Write(Translate("No products available")); 93 WriteLiteral("</div>\r\n"); 94 } 95 } 96 #pragma warning restore 1998 97 } 98 } 99 #pragma warning restore 1591 100

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Ecommerce.ProductCatalog 3 @using Dynamicweb.Ecommerce.International 4 @using CustomServices.Services 5 @using CustomServices.Models 6 @using Newtonsoft.Json 7 @{ 8 ProductViewModel product = null; 9 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 10 { 11 product = (ProductViewModel)Dynamicweb.Context.Current.Items["ProductDetails"]; 12 } 13 else if (Pageview.Page.Item["DummyProduct"] != null && Pageview.IsVisualEditorMode) 14 { 15 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(Pageview.Page); 16 ProductListViewModel productList = pageViewModel.Item.GetValue("DummyProduct") != null ? pageViewModel.Item.GetValue("DummyProduct") as ProductListViewModel : new ProductListViewModel(); 17 18 if (productList?.Products is object) 19 { 20 product = productList.Products[0]; 21 } 22 } 23 int discountNumber = Model.Item.GetInt32("Discount_Count"); ; 24 } 25 26 @if (product is object) 27 { 28 DiscountService discountService = new DiscountService(); 29 string res = JsonConvert.SerializeObject(discountService.ReturnDiscountsMultiBuy(product.Id, product.VariantId, discountNumber, product, Dynamicweb.Ecommerce.Common.Context.Cart, product.Discontinued, product.NeverOutOfstock)); 30 List<DiscountView> results = JsonConvert.DeserializeObject<List<DiscountView>>(res); 31 CurrencyService currencyService = new CurrencyService(); 32 Currency currency = currencyService.GetCurrency(product.Price.CurrencyCode); 33 string currencySymbol = currency.Symbol; 34 @if (results.Count > 0) 35 { 36 <div> 37 <div class="cus-discount-title">@Translate("Discounts:") </div> 38 <div class="cus-discounts-buttons"> 39 @foreach (var result in results) 40 { 41 <div> 42 @if (result.percentage > 0) 43 { 44 <div>@Translate("Buy") @result.disQuantity @Translate("get") @result.percentage % @Translate("off")</div> 45 } 46 @if (result.amount > 0) 47 { 48 <div>@Translate("Buy") @result.disQuantity @Translate("get") @result.amount @currencySymbol @Translate("off")</div> 49 } 50 </div> 51 } 52 </div> 53 </div> 54 } 55 } 56 else if (Pageview.IsVisualEditorMode) 57 { 58 <div class="alert alert-warning">@Translate("No products available")</div> 59 } 60

You need a prescription to purchase this product. Book an appointment with our doctors.

In-store stock availability
Alpecin Double-Effect Caffeine Shampoo
S0001
In stock (29 qty)
Choose you store to:
Access its contact details, opening hours, services, etc.
View all available products and commercial offers

Description

A two-in-one shampoo that not only cleanses the hair but also stimulates the scalp with caffeine to help combat hair loss and promote healthy hair growth.

More Information

Alpecin Double-Effect Caffeine Shampoo is a powerful and effective shampoo designed to cleanse the hair and scalp while delivering the benefits of caffeine to promote hair growth and combat hair loss. The unique dual-action formula has two key benefits:

1. Cleansing Action: The shampoo thoroughly cleanses the scalp and hair, removing excess oil and impurities, creating an optimal environment for healthy hair growth.

2. Caffeine Complex: The shampoo is enriched with a high concentration of caffeine, which penetrates deep into the scalp to stimulate hair follicles, improving circulation and promoting healthy, natural hair growth.

The formula also contains zinc and niacin, which nourish and strengthen hair roots, improving hair resilience. Regular use of this shampoo helps reduce hair thinning, supports hair growth, and strengthens the hair from the roots, making it more resistant to everyday damage.

Application

1. Apply to wet hair and gently massage into the scalp.

2. Lather and leave the shampoo on the scalp for 2-3 minutes to allow the caffeine to absorb into the hair follicles.

3. Rinse thoroughly.

4. For best results, use daily and follow with Alpecin Caffeine Liquid or Hair Booster.

You Might Like also

;
By clicking 'Accept All' you consent that we may collect information about you for various purposes, including: Statistics and Marketing