protected override DriverResult Editor(FacebookPostPart part, IUpdateModel updater, dynamic shapeHelper) { FacebookPostPartSettingVM setting = part.Settings.GetModel <FacebookPostPartSettingVM>(); var tokens = new Dictionary <string, object> { { "Content", part.ContentItem } }; FacebookPostVM vm = new FacebookPostVM(); updater.TryUpdateModel(vm, Prefix, null, null); var mapperConfiguration = new MapperConfiguration(cfg => { cfg.CreateMap <FacebookPostVM, FacebookPostPart>(); }); IMapper _mapper = mapperConfiguration.CreateMapper(); _mapper.Map(vm, part); if (_orchardServices.WorkContext.HttpContext.Request.Form["FacebookType"] != null && _orchardServices.WorkContext.HttpContext.Request.Form["FacebookType"] == "1") { part.FacebookType = FacebookType.Post; } else { part.FacebookType = FacebookType.ShareLink; } if (vm.SelectedList != null && vm.SelectedList.Count() > 0) { part.AccountList = vm.SelectedList.Select(x => Int32.Parse(x)).ToArray(); } return(Editor(part, shapeHelper)); }
protected override DriverResult Editor(FacebookPostPart part, dynamic shapeHelper) { var urlHelper = new UrlHelper(_orchardServices.WorkContext.HttpContext.Request.RequestContext); FacebookPostVM vm = new FacebookPostVM(); var mapperConfiguration = new MapperConfiguration(cfg => { cfg.CreateMap <FacebookPostPart, FacebookPostVM>(); }); IMapper _mapper = mapperConfiguration.CreateMapper(); _mapper.Map(part, vm); if (string.IsNullOrEmpty(vm.FacebookType.ToString())) { vm.FacebookType = FacebookType.Post; } FacebookPostPartSettingVM setting = part.Settings.GetModel <FacebookPostPartSettingVM>(); var tokens = new Dictionary <string, object> { { "Content", part.ContentItem } }; if (!string.IsNullOrEmpty(setting.FacebookCaption)) { vm.ShowFacebookCaption = false; } if (!string.IsNullOrEmpty(setting.FacebookDescription)) { vm.ShowFacebookDescription = false; } if (!string.IsNullOrEmpty(setting.FacebookLink)) { vm.ShowFacebookLink = false; } if (!string.IsNullOrEmpty(setting.FacebookMessage)) { vm.ShowFacebookMessage = false; } if (!string.IsNullOrEmpty(setting.FacebookName)) { vm.ShowFacebookName = false; } if (!string.IsNullOrEmpty(setting.FacebookPicture)) { vm.ShowFacebookPicture = false; } else { vm.FacebookPicture = part.FacebookPicture; } List <FacebookAccountPart> listaccount = _facebookService.GetValidFacebookAccount(); // List<SelectListItem> lSelectList = new List<SelectListItem>(); List <OptionList> optionList = new List <OptionList>(); foreach (FacebookAccountPart fa in listaccount) { // lSelectList.Insert(0, new SelectListItem() { Value = fa.Id.ToString(), Text = fa.AccountType + " - " + fa.DisplayAs }); OptionList ol = new OptionList { Value = fa.Id.ToString(), Text = fa.AccountType + " - " + fa.DisplayAs, ImageUrl = urlHelper.Content("~/Media/" + _shellSettings.Name + "/facebook_" + fa.UserIdFacebook + ".jpg"), Selected = part.AccountList.Contains(fa.Id) ? "selected=\"selected\"" : "" }; optionList.Add(ol); } vm.ListOption = optionList; return(ContentShape("Parts_FacebookPost", () => shapeHelper.EditorTemplate(TemplateName: "Parts/FacebookPost", Model: vm, Prefix: Prefix))); }