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_b1e6b23652464c29a15d30d71a73401a.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

Personlig rådgivning

Få hjælp af vores specialister

Butik & showroom

Se og prøv udstyret i København og Aarhus

Fri fragt over 500 kr.

På ordrer leveret i Danmark

Over 160 års erfaring

Foto og video siden 1862

Beskrivelse

360 Levelling Mirror

This mirror was custom made for us: 1 100mm diameter circle, with 6mm thick glass and safety edges to avoid you cutting yourself. It is unframed, so the perfect flatness of the mirror is preserved.

A mirror is an essential tool for scanning film, regardless of the rest of your setup. It will help you very precisely see if your scanning system is out of alignment, and help you adjust with ease to get perfect results every time.

To level your camera using a mirror:

  1. Get ready to scan with all the right things in the right place.
  2. Place the VALOI Levelling Mirror on-top of your whole setup (on-top of your Holder).
  3. Your camera should now 'see itself'.
  4. Turn on live-view on your camera/look through the viewfinder and focus on the front part of the lens.
  5. Adjust the camera position (tilt and pan) until the middle of the screen/viewfinder of the camera is in the middle of the aperture of the lens' reflection. The film and camera are perfectly parallel when the middle of the camera sensor sees the middle of the reflected aperture.
  6. (If you own the Advancer or the Adapter 104, use the levelling feet for micro-adjustments for a perfect result).
  7. Making sure not to change anything, remove the mirror, refocus on the film and scan your images.
  8. We recommend re-checking using this procedure every time you start scanning, and through-out a longer scanning session.

In the Box:

  • 1 x VALOI Levelling Mirror

Specifikationer

Producent VALOI
Kategori Scanning