コード例 #1
0
        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)));
        }
コード例 #2
0
        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));
        }