Error executing template "Designs/Swift/Paragraph/Swift_ProductComponentParagraph.cshtml"
System.ArgumentException: Could not write parsed file: C:\inetpub\solutions\Goecker-2022-Prod\Files\Templates\Designs\Swift\_parsed\Swift_ProductComponentEdit.parsed.cshtml System.IO.IOException: The process cannot access the file 'C:\inetpub\solutions\Goecker-2022-Prod\Files\Templates\Designs\Swift\_parsed\Swift_ProductComponentEdit.parsed.cshtml' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost)
   at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
   at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
   at Dynamicweb.Core.Helpers.TextFileHelper.WriteTextFile(String value, String path, Boolean appendToFile, Encoding encoding)
   at Dynamicweb.Rendering.Designer.Parser.Parse(Layout l)
   at Dynamicweb.Rendering.Designer.Parser.Parse(Layout l)
   at Dynamicweb.Rendering.Designer.Layout.CheckParsed()
   at Dynamicweb.Rendering.Designer.Layout..ctor(FileInfo f, Design design)
   at Dynamicweb.Rendering.Designer.Layout.GetLayoutByLocation(String path)
   at Dynamicweb.Content.Layouts.LayoutLocator.FindLayout(Page page, String layoutName)
   at Dynamicweb.Frontend.Content.GetLayoutForDevice(Page page, DeviceType device)
   at Dynamicweb.Frontend.Content.CreateGridContent(Int32 contentId, Boolean ignoreVisualEdit)
   at Dynamicweb.Frontend.Content.RenderExternalGrid(Int32 pageId, String container)
   at CompiledRazorTemplates.Dynamic.RazorEngine_a9b11c75cbed4fda9f487fc3daa8641b.Execute() in C:\inetpub\solutions\Goecker-2022-Prod\Files\Templates\Designs\Swift\Paragraph\Swift_ProductComponentParagraph.cshtml:line 39
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 3 @{ 4 int itemSourcePageId = Convert.ToInt32(Model.Item.GetRawValueString("ComponentSource", "0")); 5 6 var pageService = new Dynamicweb.Content.PageService(); 7 itemSourcePageId = itemSourcePageId > 0 && pageService.GetPageOrLanguage(itemSourcePageId, Pageview.AreaID) != null ? pageService.GetPageOrLanguage(itemSourcePageId, Pageview.AreaID).ID : itemSourcePageId; 8 } 9 10 @if (itemSourcePageId != 0) { 11 var page = Dynamicweb.Content.Services.Pages.GetPage(itemSourcePageId); 12 13 if (page != null) { 14 var pageViewModel = Dynamicweb.Frontend.ContentViewModelFactory.CreatePageInfoViewModel(page); 15 string itemTheme = !string.IsNullOrWhiteSpace(pageViewModel.Item.GetRawValueString("Theme")) ? " theme " + pageViewModel.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : string.Empty; 16 17 string contentPadding = pageViewModel.Item.GetRawValueString("ContentPadding", ""); 18 contentPadding = contentPadding == "none" ? "p-0" : contentPadding; 19 contentPadding = contentPadding == "small" ? "p-2 p-md-3" : contentPadding; 20 contentPadding = contentPadding == "large" ? "p-4 p-md-5" : contentPadding; 21 contentPadding = contentPadding == "small-x" ? "px-2 px-md-3" : contentPadding; 22 contentPadding = contentPadding == "large-x" ? "px-4 px-md-5" : contentPadding; 23 24 string layout = Model.Item.GetRawValueString("Layout", "top"); 25 switch (layout) 26 { 27 case "top": 28 case "alignLeftMiddle": 29 layout = ""; 30 break; 31 case "center": 32 case "alignLeft": 33 layout = "d-flex align-items-center text-start"; 34 break; 35 } 36 37 <div class="@contentPadding @itemTheme @(layout) h-100 item_@Model.Item.SystemName.ToLower()"> 38 <div class="w-100"> 39 @RenderGrid(itemSourcePageId) 40 </div> 41 </div> 42 } else if (Pageview.IsVisualEditorMode) { 43 <div class="alert alert-dark m-0" role="alert"> 44 <span>@Translate("The selected component does not exist anymore")</span> 45 </div> 46 } 47 } else if (Pageview.IsVisualEditorMode) { 48 <div class="alert alert-dark m-0" role="alert"> 49 <span>@Translate("Product component: The component will be shown here, if any")</span> 50 </div> 51 } 52

Beskrivning

Kowa Spotting scope TSN-66S Prominar

  • 66 mm frontlins
  • Avancerad optik
  • Låg vikt utan att kompromissa med bildkvaliteten
  • Ren fluoritkristalloptik och hög transmission
  • Precisionsteknik med den smidigaste och mest exakta fokuseringen
  • Robust kropp i 100% magnesiumlegering
  • KR-beläggning på objektivlinsen

Kowas populära Prominar-serie är känd för att leverera exceptionell prestanda med enastående färgprecision och den ultrakompakta TSN-66 är inget undantag.

Trots att den bara väger 1500 g och mäter 365 mm (inklusive okular) ger den nya tubkikaren fågelskådare och friluftsentusiaster tillgång till en detaljnivå och klarhet som normalt bara finns i större, tyngre tubkikare. Med en kompakt och lätt kropp och 66 mm objektiv är TSN-66 Prominar det perfekta verktyget för dem som vill resa lätt, utan att kompromissa med bildkvaliteten när de anländer till sin favoritplats.

TSN-66 har flera optiska konstruktioner och smarta uppgraderingar som tidigare utvecklats för de senaste TSN-88/99-modellerna med stora objektiv. En förbättrad optisk beläggning och en lins av fluoritkristall säkerställer en hög transmission genom alla våglängder av synligt ljus och ger en bild fri från kromatisk aberration och negativa optiska distraktioner. Kowas unika KR-beläggning på frontlinsen avvisar aktivt smuts, fukt och damm från att fastna på linsen.

Stommen är tillverkad av en magnesiumlegering och har flera av de funktioner som kännetecknar Prominar-serien såsom dubbelfokusering, dubbelt stativfäste och en fästbar siktesplats. Med Kowas dubbla fokus är det enkelt att snabbt få en skarp bild varje gång. Snabbfokus gör motivet detaljerat med bara några mjuka varv medan finfokus ger fingertoppskänsla och ultimat fokuseringsnoggrannhet. Höljet i magnesiumlegering ger inte bara robusthet utan också en lätt design. Med ett helt förseglat ytterhölje är kikaren 100% vattentät och kvävefylld, vilket gör den ogenomtränglig för väder och vind. Framsidan har en 72 mm filtergänga som gör det enkelt att fästa skyddsfilter och har ett smidigt vridbart solskydd med förbättrad siktpunkt för att snabbare hitta ett motiv.

Spottkikaren finns i två versioner, TSN-66A (vinklad) och TSN-66S (rak). Korskompatibilitet är en grundläggande egenskap hos alla Kowa Prominar-spottingkikare och TSN-66 är inget undantag. Tillbehörskragen och bajonettfattningen är 100% kompatibla med hela Kowa System-tillbehörssortimentet, vilket gör det till ett mycket mångsidigt spottingcope.

Specifikationer

Tillverkare Kowa
Kategori Spotting scope