示例#1
0
        public IActionResult Edit(SlideViewModel slidevm, IFormFile uploadedFilePhoto, IFormFile uploadedFileVideo)
        {
            ViewBag.Slider = new SelectList(sliderService.GetSliders(), "Id", "Name");
            if (ModelState.IsValid)
            {
                Slide slide = slideService.GetSlide(slidevm.Id);
                slide.SliderId         = slide.SliderId;
                slide.Title            = slidevm.Title;
                slide.SubTitle         = slidevm.SubTitle;
                slide.Description      = slidevm.Description;
                slide.CallToActionText = slidevm.CallToActionText;
                slide.CallToActionUrl  = slidevm.CallToActionUrl;
                slide.DisplayTexts     = slidevm.DisplayTexts;
                slide.SliderId         = slidevm.SliderId;
                slide.Position         = slideService.CountSlide() + 1;
                slide.AddedBy          = slidevm.AddedBy;
                slide.AddedDate        = slidevm.AddedDate;
                slide.ModifiedBy       = User.Identity.Name ?? "username";
                slide.ModifiedDate     = DateTime.Now;
                slide.Photo            = slidevm.Photo;
                slide.Video            = slidevm.Video;



                slideService.UpdateSlide(slide);
                slideService.SaveSlide();
                return(RedirectToAction("Index"));
            }
            return(View(slidevm));
        }
示例#2
0
 public ActionResult Edit(SlideModel model)
 {
     try
     {
         var slide = _slideService.GetSlideById(model.Id);
         if (slide == null)
         {
             return(RedirectToAction("List"));
         }
         if (!ModelState.IsValid)
         {
             return(View(model));
         }
         var currentUser = Session[Values.USER_SESSION] as UserModel;
         model.UpdatedBy       = currentUser.Id;
         model.UpdatedDateTime = DateTime.Now;
         _slideService.UpdateSlide(model);
         SuccessNotification("Update slider successfully!");
         return(model.ContinueEditing ? RedirectToAction("Edit", new { id = model.Id }) : RedirectToAction("List"));
     }
     catch (Exception e)
     {
         ErrorNotification("Update slider failed!");
         return(View(model));
     }
 }
        public IHttpActionResult UpdateSlide(int id, [FromBody] SlideDto slideDto)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var result = _slideService.UpdateSlide(id, slideDto);
                if (result == null)
                {
                    return(BadRequest("An error occurred when updating slide. Please try again."));
                }
                return(Ok(result));
            }
            catch (System.Exception e)
            {
                return(InternalServerError(e));
            }
        }
示例#4
0
        public virtual IActionResult Edit(SlideModel model, bool continueEditing)
        {
            //redirect customer on accessdenied view, if client has no permissions
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageWidgets))
            {
                return(AccessDeniedView());
            }

            var slide = _slideService.GetSlideById(model.Id);

            if (slide == null)
            {
                throw new Exception($"Slide by id: {model.Id} isn't exist.");
            }

            //return on slide creation page if model invalid
            if (!ModelState.IsValid)
            {
                //prepare model mappings
                _slideModelFactory.PrepareAclModel(model, null, true);
                _slideModelFactory.PrepareStoreMapping(model, null);

                return(View("~/Plugins/Widgets.qBoSlider/Views/Admin/Slide/Edit.cshtml", model));
            }

            //set values
            slide.Description      = model.Description;
            slide.HyperlinkAddress = model.Hyperlink;
            slide.PictureId        = model.PictureId;
            slide.StartDateUtc     = model.StartDateUtc;
            slide.EndDateUtc       = model.EndDateUtc;
            slide.Published        = model.Published;
            slide.LimitedToStores  = model.SelectedStoreIds.Any();
            slide.SubjectToAcl     = model.SelectedCustomerRoleIds.Any();

            _slideService.UpdateSlide(slide);

            //update slide locales
            UpdateSlideLocales(slide, model);

            //process slide stores
            UpdateStoreMapping(slide, model);

            //ACL (customer roles)
            //Set catalogsettings.ignoreacl = True to use ALC
            SaveCustomerRolesAcl(slide, model);

            //notify admin
            _notificationService.SuccessNotification(_localizationService.GetResource("Nop.Plugin.Baroque.Widgets.qBoSlider.Admin.Slide.UpdatedSuccessfully"));

            if (!continueEditing)
            {
                return(RedirectToAction("List"));
            }

            //ACL
            _slideModelFactory.PrepareAclModel(model, slide, true);

            //prepare store mappings
            _slideModelFactory.PrepareStoreMapping(model, slide);

            return(Edit(model.Id));
        }
示例#5
0
        public IActionResult EditSlidePopup(SlideModel model, string btnId, string formId)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageWidgets))
            {
                return(AccessDeniedView());
            }

            var slide = _slideService.GetSlideById(model.Id);

            //parent form data for refresh
            ViewBag.btnId  = btnId;
            ViewBag.formId = formId;

            if (slide == null)
            {
                ViewBag.RefreshPage = true;
                View("~/Plugins/Widgets.qBoSlider/Views/qBoSlider/EditSlidePopup.cshtml", model);
            }

            var validator        = new SlideValidator(_localizationService);
            var validationResult = validator.Validate(model);

            if (validationResult.IsValid)
            {
                //set default values
                slide.Description      = model.Description;
                slide.HyperlinkAddress = model.Hyperlink;
                slide.PictureId        = model.PictureId;
                slide.StartDateUtc     = model.StartDateUtc;
                slide.EndDateUtc       = model.EndDateUtc;
                slide.Published        = model.Published;
                slide.DisplayOrder     = model.DisplayOrder;
                slide.LimitedToStores  = model.SelectedStoreIds.Any();

                //1.0.5 all with Alc
                slide.SubjectToAcl = model.SelectedCustomerRoleIds.Count > 0;

                _slideService.UpdateSlide(slide);

                //update slide locales
                UpdateSlideLocales(slide, model);

                //process slide stores
                UpdateStoreMapping(slide, model);

                //ACL (customer roles)
                //Set catalogsettings.ignoreacl = True to use ALC
                SaveCustomerRolesAcl(slide, model);

                ViewBag.RefreshPage = true;
            }

            //ACL
            PrepareAclModel(model, slide, true);

            //Store mappings
            PrepareStoreMapping(slide, model);


            return(View("~/Plugins/Widgets.qBoSlider/Views/Admin/EditSlidePopup.cshtml", model));
        }