EIVA A/S

To use this site, please enable javascript

Upcoming EIVA hardware operator courses

Upcoming EIVA hardware operator courses

Combining hands-on practice with expert guidance and advice

EIVA hosts hardware operator courses designed to deliver participants the skills and knowledge to ensure you get the most out of EIVA's ROTV solutions, ScanFish and ViperFish. 

Featuring classroom work, ​technical workshops covering hardware repair and maintenance, and practical training at sea, EIVA hardware operator courses provide a comprehensive platform for expanding your competences.

If you can't find what you were looking for in the list below of upcoming courses, or you would like to learn more, feel free to reach out

Looking to learn the ropes of ViperFish?
Please note that we do not currently have any ViperFish courses on the calender, but we are working on getting them in there.

Upcoming courses

SUPPLIERS
Type of work
Sale or rental
Online sale
Shows 1 of 1 products

Error executing template "Designs/Eiva/Paragraph/CategoryElement.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_b13e7b0e39504941bf9d32dd7ed49465.Execute() in E:\Webroot\Eiva.com\Web\Files\Templates\Designs\Eiva\Paragraph\CategoryElement.cshtml:line 60
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 @using Dynamicweb.Content 2 @using Dynamicweb.Content.Items 3 @using Dynamicweb.Ecommerce 4 @using Dynamicweb.Ecommerce.Prices 5 @using Dynamicweb.Ecommerce.Products 6 @using Eiva.CustomModules.Helpers 7 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 8 9 @*<fieldset> 10 <legend>Category Element - @GetString("ParagraphHeader")</legend> 11 </fieldset>*@ 12 <div class="o-category-element__outer" id="@GetString("Global.ParagraphId")"> 13 <div class="container-fluid o-category-element"> 14 <div class="row"> 15 <div class="col-xs-12"> 16 <div class="container"> 17 @* HEADING *@ 18 <div class="row"> 19 <div class="col-xs-12"> 20 <h1 class="o-category-element__header">@GetString("Item.Header")</h1> 21 <p class="o-category-element__subHeader">@GetString("Item.Subheader")</p> 22 </div> 23 </div> 24 </div> 25 </div> 26 </div> 27 <div class="row"> 28 <div class="col-xs-12"> 29 <div class="container"> 30 <div class="row"> 31 <div class="col-md-6 col-left"> 32 @* CONTENT *@ 33 <div class="o-category-element__content"> 34 <div class="o-category-element__text m-rich-text-editor"> 35 @GetString("Item.Content") 36 </div> 37 38 <div class="o-category-element__iconBox"> 39 <svg class="a-svgIcon o-category-element__iconHolder"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/frontend/dist/icons/icons.svg#app-link__@GetString("Item.Icon.Icon").ToLower()"></use></svg> 40 </div> 41 </div> 42 43 @* FEATURED PRODUCTS *@ 44 <div class="o-category-element__list hidden-sm-down"> 45 <h2 class="o-category-element__listHeading">@GetString("Item.ProductsHeader")</h2> 46 47 <div class="row"> 48 @{ 49 Item thisItem = Dynamicweb.Extensibility.ServiceLocator.Current.GetParagraphService().GetParagraph(GetInteger("ParagraphID")).Item; 50 string productPageId = Pageview.Area.Item["Productpage_Id"].ToString(); 51 var itemprod = thisItem["Products"] == null ? string.Empty : thisItem["Products"].ToString(); 52 if (!string.IsNullOrWhiteSpace(itemprod)) 53 { 54 var productList = itemprod.Split(','); 55 56 foreach (var ie in productList) 57 { 58 string prodId = ie.Substring(2).TrimEnd(':'); 59 var prod = Dynamicweb.Ecommerce.Services.Products.GetProductById(prodId, "", true); 60 string prodCurrency = prod.Price.Currency.Code; 61 string prodLink = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl("default.aspx?id=" + productPageId + "&groupId=" + prod.PrimaryGroupId + "&productId=" + prodId); 62 string prodImageSmall = "/Files/Images/Products/" + prod.Number + ".jpg"; 63 64 <div class="o-category-element__productCardHolder col-md-6 col-sm-6 col-xs-12"> 65 <a href="@prodLink" title="@prod.Name" property="url" class="m-product-card o-category-element__cardItem"> 66 <div class="m-product-card__image-holder" title="@prod.Name"> 67 <img class="lazyload lazyload-measure lazyload-bg a-image m-cardImageText__image" 68 src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" 69 alt="@prod.Name" 70 property="contentUrl" 71 data-src="@prodImageSmall" 72 data-query-obj='{ "mode":"crop" , "quality":"80", "upscale":false }'> 73 <noscript> 74 <img src="@prodImageSmall?mode=crop&width=400" 75 alt="@prod.Name"> 76 </noscript> 77 </div> 78 <div class="m-product-card__content"> 79 <h4 class="m-product-card__header">@prod.Name</h4> 80 <p class="m-product-card__subheader">@prod.ShortDescription</p> 81 </div> 82 <div class="m-product-card__btnPriceHolder"> 83 <div class="m-product-card__btn-holder"> 84 <span class="a-button a-button--s a-button--green m-product-card__btn ">@Translate("More info", "More info")</span> 85 </div> 86 87 @if (!bool.Parse(new ProductService().GetProductFieldValue(prod, "RequestPrice").ToString())) 88 { 89 <div class="m-product-card__priceHolder"> 90 @Helpers.GetListPrice(prod) 91 </div> 92 } 93 94 </div> 95 </a> 96 </div> 97 } 98 99 } 100 } 101102 </div> 103104 <div class="o-category-element__productBtnHolder"> 105 <button type="button" class="a-button a-button--cta o-category-element__product-btn o-category-element__product-btn--white" onclick="window.location.href='@GetString("Item.AllProductsLink.Link")'"> 106 @GetString("Item.AllProductsLink.Title") 107 </button> 108 </div> 109110 </div> 111 </div> 112 <div class="col-md-6 col-right"> 113 @* SLIDER *@ 114 <div class="o-category-element__content"> 115 <div class="o-category-element__slider"> 116 <div class="slider js-slider"> 117 @foreach (var image in GetLoop("Item.Images")) 118 { 119 <div class="slider__item" title="@image.GetString("Item.Images.AltText")" style="background-image: url(@image.GetString("Item.Images.Image")?quality=70)"></div> 120 } 121 </div> 122 </div> 123 </div> 124 @* HIGHLIGHTED FEATURES *@ 125 <div class="o-category-element__features"> 126 <h2 class="o-category-element__featureHeading">@GetString("Item.FeaturesHeader")</h2> 127 <div class="m-rich-text-editor m-rich-text-editor--darkBackground o-category-element__feature-rte"> 128 @GetString("Item.FeaturesContent") 129 </div> 130 <div class="o-category-element__btnsHolder"> 131 @if (!string.IsNullOrEmpty(GetString("Item.Link_1.Link"))) 132 { 133 <button type="button" class="a-button a-button--cta o-category-element__featureBtn o-category-element__featureBtn--white" onclick="window.location.href='@GetString("Item.Link_1.Link")'"> 134 @GetString("Item.Link_1.Title") 135 </button> 136 } 137 @if (!string.IsNullOrEmpty(GetString("Item.Link_2.Link"))) 138 { 139 <a href="@GetString("Item.Link_2.Link")" title="@GetString("Item.Link_2.Title")" class="o-category-element__featureLink" property="url">@GetString("Item.Link_2.Title") &rsaquo;</a> 140 } 141 </div> 142 </div> 143 </div> 144 <div class="col-xs-12 hidden-md-up"> 145 @* FEATURED PRODUCTS *@ 146 <div class="o-category-element__list"> 147 <h2 class="o-category-element__listHeading">@GetString("Item.ProductsHeader")</h2> 148149 <div class="row"> 150 @{ 151 if (!string.IsNullOrWhiteSpace(itemprod)) 152 { 153 var productList = itemprod.Split(','); 154155 foreach (var ie in productList) 156 { 157 string prodId = ie.Substring(2).TrimEnd(':'); 158 var prod = Dynamicweb.Ecommerce.Services.Products.GetProductById(prodId, "", true); 159 string prodCurrency = prod.Price.Currency.Code; 160 string prodLink = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl("default.aspx?id=" + productPageId + "&groupId=" + prod.PrimaryGroupId + "&productId=" + prodId); 161 string prodImageSmall = "/Files/Images/Products/" + prod.Number + ".jpg"; 162163 <div class="o-category-element__productCardHolder col-md-6 col-sm-6 col-xs-12"> 164 <a href="@prodLink" title="@prod.Name" property="url" class="m-product-card o-category-element__cardItem"> 165 <div class="m-product-card__image-holder" title="@prod.Name"> 166 <img class="lazyload lazyload-measure lazyload-bg a-image m-cardImageText__image" 167 src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" 168 alt="@prod.Name" 169 property="contentUrl" 170 data-src="@prodImageSmall" 171 data-query-obj='{ "mode":"crop" , "quality":"80", "upscale":false }'> 172 <noscript> 173 <img src="@prodImageSmall?mode=crop&width=400" 174 alt="@prod.Name"> 175 </noscript> 176 </div> 177 <div class="m-product-card__content"> 178 <h4 class="m-product-card__header">@prod.Name</h4> 179 <p class="m-product-card__subheader">@prod.ShortDescription</p> 180 </div> 181 <div class="m-product-card__btnPriceHolder"> 182 <div class="m-product-card__btn-holder"> 183 <span class="a-button a-button--s a-button--green m-product-card__btn ">@Translate("More info", "More info")</span> 184 </div> 185186 @if (!bool.Parse(new ProductService().GetProductFieldValue(prod, "RequestPrice").ToString())) 187 { 188 <div class="m-product-card__priceHolder"> 189 @Helpers.GetListPrice(prod) 190 </div> 191 } 192193 </div> 194 </a> 195 </div> 196 } 197198 } 199 } 200201 </div> 202203 <div class="o-category-element__productBtnHolder"> 204 <button type="button" class="a-button a-button--cta o-category-element__product-btn o-category-element__product-btn--white" onclick="window.location.href='@GetString("Item.AllProductsLink.Link")'"> 205 @GetString("Item.AllProductsLink.Title") 206 </button> 207 </div> 208209 </div> 210 </div> 211 </div> 212 </div> 213 </div> 214 </div> 215 </div> 216 </div> 217 </div> 218 @*<div class="container o-category-element" id="@GetString("Global.ParagraphId")"> 219220221222223 <div class="o-category-element__content"> 224 <div class="o-category-element__text"> 225 @GetString("Item.Content") 226 </div> 227228 <div class="o-category-element__iconBox"> 229 <svg class="a-svgIcon o-category-element__iconHolder"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/frontend/dist/icons/icons.svg#app-link__@GetString("Item.Icon.Icon").ToLower()"></use></svg> 230 </div> 231232 <div class="o-category-element__slider"> 233 <div class="slider js-slider"> 234 @foreach (var image in GetLoop("Item.Images")) 235 { 236 <div class="slider__item" title="@image.GetString("Item.Images.AltText")" style="background-image: url(@image.GetString("Item.Images.Image")?quality=70)"></div> 237 } 238239 </div> 240241 </div> 242243 </div> 244245 <div class="o-category-element__bottom"> 246 <div class="o-category-element__list"> 247 <h2 class="o-category-element__listHeading">@GetString("Item.ProductsHeader")</h2> 248249 <div class="row"> 250 @{ 251 Item thisItem = Dynamicweb.Extensibility.ServiceLocator.Current.GetParagraphService().GetParagraph(GetInteger("ParagraphID")).Item; 252 string productPageId = Pageview.Area.Item["Productpage_Id"].ToString(); 253 var itemprod = thisItem["Products"] == null ? string.Empty : thisItem["Products"].ToString(); 254 if (!string.IsNullOrWhiteSpace(itemprod)) 255 { 256 var productList = itemprod.Split(','); 257258 foreach (var ie in productList) 259 { 260 string prodId = ie.Substring(2).TrimEnd(':'); 261 var prod = Services.Products.GetProductById(prodId, "", true); 262 string prodCurrency = prod.Price.Currency.Code; 263 string prodLink = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl("default.aspx?id=" + productPageId + "&groupId=" + prod.PrimaryGroupId + "&productId=" + prodId); 264 string prodImageSmall = "/Files/Images/Products/" + prod.Number + ".jpg"; 265266 <div class="o-category-element__productCardHolder col-md-6 col-sm-6 col-xs-12"> 267 <a href="@prodLink" title="@prod.Name" property="url" class="m-product-card o-category-element__cardItem"> 268 <div class="m-product-card__image-holder" title="@prod.Name"> 269 <img class="lazyload lazyload-measure lazyload-bg a-image m-cardImageText__image" 270 src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" 271 alt="@prod.Name" 272 property="contentUrl" 273 data-src="@prodImageSmall" 274 data-query-obj='{ "mode":"crop" , "quality":"80", "upscale":false }'> 275 <noscript> 276 <img src="@prodImageSmall?mode=crop&width=400" 277 alt="@prod.Name"> 278 </noscript> 279 </div> 280 <div class="m-product-card__content"> 281 <h4 class="m-product-card__header">@prod.Name</h4> 282 <p class="m-product-card__subheader">@prod.ShortDescription</p> 283 </div> 284 <div class="m-product-card__btnPriceHolder"> 285 <div class="m-product-card__btn-holder"> 286 <span class="a-button a-button--s a-button--green m-product-card__btn ">@Translate("More info", "More info")</span> 287 </div> 288289 @if (!bool.Parse(new ProductService().GetProductFieldValue(prod, "RequestPrice").ToString())) 290 { 291 <div class="m-product-card__priceHolder"> 292 @Helpers.GetListPrice(prod) 293 </div> 294 } 295296 </div> 297 </a> 298 </div> 299 } 300301 } 302 } 303304 </div> 305306 <div class="o-category-element__productBtnHolder"> 307 <button type="button" class="a-button a-button--cta o-category-element__product-btn o-category-element__product-btn--white" onclick="window.location.href='@GetString("Item.AllProductsLink.Link")'"> 308 @GetString("Item.AllProductsLink.Title") 309 </button> 310 </div> 311312 </div> 313314 <div class="o-category-element__features"> 315 <h2 class="o-category-element__featureHeading">@GetString("Item.FeaturesHeader")</h2> 316 <div class="m-rich-text-editor m-rich-text-editor--darkBackground o-category-element__feature-rte"> 317 @GetString("Item.FeaturesContent") 318 </div> 319 <div class="o-category-element__btnsHolder"> 320 @if (!string.IsNullOrEmpty(GetString("Item.Link_1.Link"))) 321 { 322 <button type="button" class="a-button a-button--cta o-category-element__featureBtn o-category-element__featureBtn--white" onclick="window.location.href='@GetString("Item.Link_1.Link")'"> 323 @GetString("Item.Link_1.Title") 324 </button> 325 } 326 @if (!string.IsNullOrEmpty(GetString("Item.Link_2.Link"))) 327 { 328 <a href="@GetString("Item.Link_2.Link")" title="@GetString("Item.Link_2.Title")" class="o-category-element__featureLink" property="url">@GetString("Item.Link_2.Title") &rsaquo;</a> 329 } 330 </div> 331 </div> 332333 </div> 334 </div>*@ 335336337