private CarouselWidgetForm ToCarouselWidgetFormModel(IFormCollection formCollection) { var model = new CarouselWidgetForm(); model.Name = formCollection["name"]; model.WidgetZoneId = int.Parse(formCollection["widgetZoneId"]); int numberOfItems = int.Parse(formCollection["numberOfItems"]); for (var i = 0; i < numberOfItems; i++) { var item = new CarouselWidgetItemForm(); item.Caption = formCollection[$"items[{i}][caption]"]; item.TargetUrl = formCollection[$"items[{i}][targetUrl]"]; item.Image = formCollection[$"items[{i}][image]"]; item.UploadImage = formCollection.Files[$"items[{i}][uploadImage]"]; model.Items.Add(item); } return model; }
public IActionResult Get(long id) { var widgetInstance = _widgetInstanceRepository.Query().FirstOrDefault(x => x.Id == id); var model = new CarouselWidgetForm { Id = widgetInstance.Id, Name = widgetInstance.Name, WidgetZoneId = widgetInstance.WidgetZoneId, Items = JsonConvert.DeserializeObject<IList<CarouselWidgetItemForm>>(widgetInstance.Data) }; foreach(var item in model.Items) { item.ImageUrl = _mediaService.GetMediaUrl(item.Image); } return Json(model); }