public IActionResult UpdateWidgetType(SlideShowWidget model) { if (ModelState.IsValid) { var existing = _widgetService.GetModel(model.Id); //if (string.IsNullOrEmpty(existing.SlideShowId)) //{ // // The widget has not been created yet (or is being created in this request), so this data should // // be ignored // return Ok(existing); //} //else //{ // existing.SlideShow = _slideShowService.Get(existing.SlideShowId); //} //// Copy type properties to the existing widget //existing.SlideShow.Type = model.SlideShow.Type; //existing.SlideShow.FormHeight = model.SlideShow.FormHeight; //existing.SlideShow.FormWidth = model.SlideShow.FormWidth; _widgetService.UpdateModel(existing); // Entity Framework isn't letting me attach a subclass return(Ok(existing)); } return(BadRequest(ModelState)); }
public IActionResult UpdateWidgetTitle(SlideShowWidget model, string templateId = null) { if (string.IsNullOrEmpty(templateId)) { templateId = null; } if (ModelState.IsValid) { var existing = _widgetService.GetModel(templateId ?? model.Id); if (existing != null) { existing.Title = model.Title; existing.Description = model.Description; existing.Duration = model.Duration; existing.BackgroundColor = model.BackgroundColor; existing.Transition = model.Transition; existing.Height = model.Height; } //if (!string.IsNullOrEmpty(model.SlideShowId)) //{ // existing.SlideShow = _slideShowService.Get(model.SlideShowId); // existing.SlideShowId = existing.SlideShow?.Id; // existing.SlideShow.Title = model.SlideShow?.Title ?? existing.SlideShow?.Title; // existing.SlideShow.Description = model.SlideShow?.Description ?? existing.SlideShow?.Description; //} //else if (!string.IsNullOrEmpty(templateId)) //{ // existing.SlideShow = _slideShowService.Get(templateId); // existing.SlideShow.Id = existing.SlideShowId = KeyGen.NewGuid(); //} //else if (!string.IsNullOrEmpty(existing.SlideShowId)) //{ // existing.SlideShow = _slideShowService.Get(model.SlideShowId); //} //else //{ // existing.SlideShow = new Models.SlideShow(); // existing.SlideShowId = existing.SlideShow.Id = KeyGen.NewGuid(); // existing.SlideShow.Title = model.SlideShow.Title; // existing.SlideShow.Description = model.SlideShow.Description; //} _widgetService.UpdateModel(existing); // Entity Framework isn't letting me attach a subclass return(Ok(model)); } return(BadRequest(ModelState)); }
public IActionResult UpdateWidgetDefaults(SlideShowWidget model) { if (ModelState.IsValid) { if (ModelState.IsValid) { var existing = _widgetService.GetModel(model.Id); // Copy type properties to the existing widget //existing.DefaultProgressBarColor = model.DefaultProgressBarColor; //existing.DefaultProgressBarHeight = model.DefaultProgressBarHeight; //existing.DefaultProgressBarIsActive = model.DefaultProgressBarIsActive; //existing.DefaultProgressBarOpacity = model.DefaultProgressBarOpacity; //existing.DefaultProgressBarPosition = model.DefaultProgressBarPosition; //existing.DefaultSlideShowBackgroundColor = model.DefaultSlideShowBackgroundColor; //existing.DefaultSlideShowDottedOverlaySize = model.DefaultSlideShowDottedOverlaySize; //existing.DefaultSlideShowDuration = model.DefaultSlideShowDuration; //existing.DefaultSlideShowImageSourceSize = model.DefaultSlideShowImageSourceSize; //existing.DefaultSlideShowImageUrl = model.DefaultSlideShowImageUrl; //existing.DefaultSlideShowInitializationDelay = model.DefaultSlideShowInitializationDelay; //existing.DefaultSlideShowIsLooped = model.DefaultSlideShowIsLooped; //existing.DefaultSlideShowIsPausedOnHover = model.DefaultSlideShowIsPausedOnHover; //existing.DefaultSlideShowIsRandomMode = model.DefaultSlideShowIsRandomMode; //existing.DefaultSlideShowMaximumLoops = model.DefaultSlideShowMaximumLoops; //existing.DefaultSlideShowPadding = model.DefaultSlideShowPadding; //existing.DefaultSlideShowShadowType = model.DefaultSlideShowShadowType; //existing.DefaultSlideShowTransitions = model.DefaultSlideShowTransitions; _widgetService.UpdateModel(existing); // Entity Framework isn't letting me attach a subclass return(Ok(existing)); } return(BadRequest(ModelState)); } return(BadRequest(ModelState)); }
public async Task <IViewComponentResult> InvokeAsync(SlideShowWidget model) { return(await Task.Run(() => View(model))); }