ALPECIN

(0)

Alpecin Caffeine Shampoo C1

20648
PIECE
د.ل.‏ 130,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_c36abd7fd8b94826bacbf909803b4b54 : 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 Caffeine Shampoo C1
S0001
In stock (34 qty)
Choose you store to:
Access its contact details, opening hours, services, etc.
View all available products and commercial offers

Description

A powerful shampoo infused with caffeine, designed to stimulate hair roots, promote hair growth, and strengthen hair, helping to combat hair loss.

More Information

Alpecin Caffeine Shampoo C1 is a specially formulated shampoo designed to help combat hair loss and promote stronger, healthier hair. Enriched with caffeine, this shampoo works to stimulate the scalp and invigorate the hair roots, improving hair growth and reducing hair thinning.

The unique caffeine complex penetrates deep into the scalp, providing direct stimulation to the hair follicles and improving the circulation of the scalp. This helps to prevent hair loss caused by weak roots and boosts the hair’s natural growth cycle. Additionally, zinc and niacin in the formula support the nourishment of hair and scalp, while also ensuring the hair is thoroughly cleansed.

Free from parabens and silicones, this shampoo provides a thorough cleanse without weighing the hair down, leaving it feeling fresh and revitalized. It is dermatologically tested and ideal for sensitive scalps.

Application

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

2. Lather well and leave the shampoo on the scalp for 2-3 minutes.

3. Rinse thoroughly.

4. For optimal results, use regularly.

You Might Like also

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