/// <summary> /// Install plugin /// </summary> public override void Install() { //settings var settings = new qBoSliderSettings { }; _settingService.SaveSetting(settings); var widgetZone = new WidgetZone() { AutoPlay = true, AutoPlayInterval = 3000, SlideDuration = 500, MinDragOffsetToSlide = 20, MinSlideWidgetZoneWidth = 200, MaxSlideWidgetZoneWidth = 1920, SlideSpacing = 0, BulletNavigationDisplayingTypeId = 2, ArrowNavigationDisplayingTypeId = 1, Name = "Main homepage slider", SystemName = "home_page_top", Published = true }; _widgetZoneService.InsertWidgetZone(widgetZone); //install simple data //get sample pictures path var sampleImagesPath = CommonHelper.DefaultFileProvider.MapPath("~/Plugins/Widgets.qBoSlider/Content/sample-images/"); var picture1 = _pictureService.InsertPicture(File.ReadAllBytes(string.Format("{0}banner1.jpg", sampleImagesPath)), "image/pjpeg", "qboslide-1").Id; var slide1 = new Slide() { Description = "<div style='color: #111; margin-top: 5%; margin-left: 5%; font-size: 16pt; font-family: arial,helvetica,sans-serif;'>" + "<p style='margin: 0px;'><span style='font-family: tahoma,arial,helvetica,sans-serif;'><strong>NEW COMFORT MOUSE<br /></strong></span></p>" + "<p style='margin-top: 10px; margin-bottom: 0px;'><span style='font-size: 12pt; font-family: tahoma,arial,helvetica,sans-serif;'><strong>CHOOSE FROM HUNDREDS<br /></strong></span></p>" + "<p style='margin-top: 5px; margin-bottom: 0px;'><span style='font-size: 12pt; font-family: tahoma,arial,helvetica,sans-serif;'><strong>OF MODELS</strong></span></p>" + "<p style='margin-top: 25px; color: #44b4f4; font-weight: bold;'><span style='font-size: 15pt; font-family: tahoma,arial,helvetica,sans-serif;'>FROM ONLY $59.00</span></p>" + "<p style='margin-top: 10px;'><span style='font-size: 10pt; padding: 5px 10px; background: none repeat scroll 0% 0% #44b4f4; color: #ffffff; border-radius: 5px; font-family: tahoma,arial,helvetica,sans-serif;'><strong>SHOP NOW</strong></span></p></div>", PictureId = picture1, Published = true }; _slideService.InsertSlide(slide1); var picture2 = _pictureService.InsertPicture(File.ReadAllBytes(string.Format("{0}banner2.jpg", sampleImagesPath)), "image/pjpeg", "qboslide-2").Id; var slide2 = new Slide() { Description = "<div style='color: #111; margin-top: 5%; margin-left: 5%; font-size: 16pt; font-family: arial,helvetica,sans-serif;'>" + "<p style='margin: 0px;'><span style='font-family: tahoma,arial,helvetica,sans-serif;'><strong>HD PRO WEBCAM H320<br /></strong></span></p>" + "<p style='margin-top: 10px; margin-bottom: 0px;'><span style='font-size: 12pt; font-family: tahoma,arial,helvetica,sans-serif;'><strong>720P FOR TRUE HD-QUALITY<br />VIDEO CHAT<br /></strong></span></p>" + "<p style='margin-top: 25px; color: #44b4f4; font-weight: bold;'><span style='font-size: 15pt; font-family: tahoma,arial,helvetica,sans-serif;'>ONLY $79.00</span></p>" + "<p style='margin-top: 10px;'><span style='font-size: 10pt; padding: 5px 10px; background: none repeat scroll 0% 0% #44b4f4; color: #ffffff; border-radius: 5px; font-family: tahoma,arial,helvetica,sans-serif;'><strong>SHOP NOW</strong></span></p></div>", PictureId = picture2, Published = true, }; _slideService.InsertSlide(slide2); var picture3 = _pictureService.InsertPicture(File.ReadAllBytes(string.Format("{0}banner3.jpg", sampleImagesPath)), "image/pjpeg", "qboslide-3").Id; var slide3 = new Slide() { Description = "<div style='color: #111; margin-top: 5%; margin-left: 5%; font-size: 16pt; font-family: arial,helvetica,sans-serif;'>" + "<p style='margin: 0px;'><span style='font-family: tahoma,arial,helvetica,sans-serif;'><strong>COMPACT CAMERA SP120</strong></span></p>" + "<p style='margin-top: 10px; margin-bottom: 0px;'><span style='font-size: 12pt; font-family: tahoma,arial,helvetica,sans-serif;'><strong>20X WIDE ZOOM, 2.5 LCD, </strong></span></p>" + "<p style='margin-top: 5px; margin-bottom: 0px;'><span style='font-size: 12pt; font-family: tahoma,arial,helvetica,sans-serif;'><strong>720P HD VIDEO</strong></span></p>" + "<p style='margin-top: 25px; color: #44b4f4; font-weight: bold;'><span style='font-size: 15pt; font-family: tahoma,arial,helvetica,sans-serif;'>ONLY $159.00</span></p>" + "<p style='margin-top: 10px;'><span style='font-size: 10pt; padding: 5px 10px; background: none repeat scroll 0% 0% #44b4f4; color: #ffffff; border-radius: 5px; font-family: tahoma,arial,helvetica,sans-serif;'><strong>SHOP NOW</strong></span></p>" + "</div>", PictureId = picture3, Published = true }; _slideService.InsertSlide(slide3); _widgetZoneSlideService.InsertWidgetZoneSlide(new WidgetZoneSlide() { SlideId = slide1.Id, WidgetZoneId = widgetZone.Id, DisplayOrder = 0 }); _widgetZoneSlideService.InsertWidgetZoneSlide(new WidgetZoneSlide() { SlideId = slide2.Id, WidgetZoneId = widgetZone.Id, DisplayOrder = 5 }); _widgetZoneSlideService.InsertWidgetZoneSlide(new WidgetZoneSlide() { SlideId = slide3.Id, WidgetZoneId = widgetZone.Id, DisplayOrder = 10 }); base.Install(); }
public virtual IActionResult Create(WidgetZoneModel model, bool continueEditing) { //return access denied page if customer has no permissions if (!_permissionService.Authorize(StandardPermissionProvider.ManageWidgets)) { return(AccessDeniedView()); } //return view if model state isn't valid if (!ModelState.IsValid) { //prepare model values model = _widgetZoneModelFactory.PrepareWidgetZoneModel(model, null); //prepare widget zone ACL _widgetZoneModelFactory.PrepareAclModel(model, null); //prepare widget zone store mappings _widgetZoneModelFactory.PrepareStoreMappings(model, null); return(View("~/Plugins/Widgets.qBoSlider/Views/Admin/WidgetZone/Create.cshtml", model)); } var widgetZone = new WidgetZone() { //put slider properties ArrowNavigationDisplayingTypeId = model.ArrowNavigationDisplayingTypeId, BulletNavigationDisplayingTypeId = model.BulletNavigationDisplayingTypeId, AutoPlay = model.AutoPlay, AutoPlayInterval = model.AutoPlayInterval, MinDragOffsetToSlide = model.MinDragOffsetToSlide, MinSlideWidgetZoneWidth = model.MinSlideWidgetZoneWidth, MaxSlideWidgetZoneWidth = model.MaxSlideWidgetZoneWidth, SlideDuration = model.SlideDuration, SlideSpacing = model.SlideSpacing, //put widget zone properties Name = model.Name, SystemName = model.SystemName, LimitedToStores = model.SelectedStoreIds.Any(), SubjectToAcl = model.SelectedCustomerRoleIds.Any(), Published = model.Published, }; //insert new widget zone _widgetZoneService.InsertWidgetZone(widgetZone); //save acl SaveWidgetZoneAcl(model, widgetZone); //save store mappings SaveWidgetZoneStoreMappings(model, widgetZone); //clear cache _settingService.ClearCache(); //notify admin _notificationService.SuccessNotification(_localizationService.GetResource("Nop.Plugin.Baroque.Widgets.qBoSlider.Admin.WidgetZone.CreatedSuccessfully")); //redirect on widget zone list page if customer don't want's to contiu editing if (!continueEditing) { return(RedirectToAction("List")); } return(RedirectToAction("Edit", new { id = widgetZone.Id })); }