protected override DriverResult Editor(TwitterPostPart part, dynamic shapeHelper) { TwitterPostVM vm = new TwitterPostVM(); var mapperConfiguration = new MapperConfiguration(cfg => { cfg.CreateMap <TwitterPostPart, TwitterPostVM>(); }); IMapper _mapper = mapperConfiguration.CreateMapper(); _mapper.Map <TwitterPostPart, TwitterPostVM>(part, vm); TwitterPostPartSettingVM setting = part.Settings.GetModel <TwitterPostPartSettingVM>(); if (!string.IsNullOrEmpty(setting.Title)) { vm.ShowTitle = false; } if (!string.IsNullOrEmpty(setting.Description)) { vm.ShowDescription = false; } if (!string.IsNullOrEmpty(setting.Image)) { vm.ShowPicture = false; } if (setting.ShowTwitterCurrentLink) { vm.ShowTwitterCurrentLink = true; } else { vm.ShowTwitterCurrentLink = false; } List <TwitterAccountPart> listaccount = _TwitterService.GetValidTwitterAccount(); List <OptionList> optionList = new List <OptionList>(); var urlHelper = new UrlHelper(_orchardServices.WorkContext.HttpContext.Request.RequestContext); foreach (TwitterAccountPart fa in listaccount) { OptionList ol = new OptionList { Value = fa.Id.ToString(), Text = fa.AccountType + " - " + fa.DisplayAs, ImageUrl = urlHelper.Content("~/Media/" + _shellSettings.Name + "/twitter_" + fa.DisplayAs + ".jpg"), Selected = part.AccountList.Contains(fa.Id)?"selected=\"selected\"":"" }; optionList.Add(ol); } vm.ListOption = optionList; vm.SelectedList = part.AccountList.Select(x => x.ToString()).ToArray(); return(ContentShape("Parts_TwitterPost", () => shapeHelper.EditorTemplate(TemplateName: "Parts/TwitterPost", Model: vm, Prefix: Prefix))); }
protected override DriverResult Editor(TwitterPostPart part, IUpdateModel updater, dynamic shapeHelper) { TwitterPostVM vm = new TwitterPostVM(); updater.TryUpdateModel(vm, Prefix, null, null); Mapper.Initialize(cfg => { cfg.CreateMap <TwitterPostVM, TwitterPostPart> (); }); Mapper.Map <TwitterPostVM, TwitterPostPart>(vm, part); if (vm.SelectedList != null) { part.AccountList = vm.SelectedList.Select(x => Int32.Parse(x)).ToArray(); } else { part.AccountList = new Int32[] { } }; return(Editor(part, shapeHelper)); }