示例#1
0
        public ViewResult Edit(int id)
        {
            SubsiteInfoDto        instance = Service.GetSubsiteInfo(id);
            InstanceEditViewModel model    = new InstanceEditViewModel(InstanceTypes.Subsite, instance);

            return(View(model));
        }
示例#2
0
 public IFacadeUpdateResult <SubsiteData> SaveSubsite(SubsiteInfoDto instance)
 {
     using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CMSDataStoreKey))
     {
         SubsiteFacade facade = new SubsiteFacade(uow);
         IFacadeUpdateResult <SubsiteData> result = facade.SaveSubsite(SubsiteInfoConverter.ConvertToData(instance));
         return(result);
     }
 }
示例#3
0
 public SubsiteInfoDto GetSubsiteInfo(object instanceId)
 {
     using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CMSDataStoreKey))
     {
         SubsiteFacade  facade = new SubsiteFacade(uow);
         SubsiteInfoDto result = facade.GetSubsiteInfo(instanceId, new SubsiteInfoConverter());
         return(result);
     }
 }
示例#4
0
        public void PopulateSubsite(SubsiteInfoDto subsite)
        {
            IsSubsite     = true;
            SubsiteHeader = new SubsiteHeaderViewModel();
            SubsiteHeader.SubsiteTitleColor = subsite.TitleColor;
            SubsiteHeader.Address           = subsite.Address;
            SubsiteHeader.Phone             = subsite.Phone;
            SubsiteHeader.Fax               = subsite.Fax;
            SubsiteHeader.Website           = subsite.Website;
            SubsiteHeader.Email             = subsite.Email;
            SubsiteHeader.BannerHeightPixel = 120;
            SubsiteHeader.SubsiteBackColor  = subsite.BackColor;
            BodyBackgroundColor             = subsite.BackColor;
            SubsiteHeader.SubsiteBannerUrl  = subsite.BannerUrl;
            if (subsite.SubsiteLanguagesDic.ContainsKey(CurrentLanguage.Id))
            {
                SubsiteHeader.SubsiteTitle = subsite.SubsiteLanguagesDic[CurrentLanguage.Id].Name;
            }
            else
            {
                SubsiteHeader.SubsiteTitle = subsite.Name;
            }
            // Set meta title for subsite
            Metadata.Title = string.Format("{0} | {1}", SubsiteHeader.SubsiteTitle, Metadata.Title);
            // Setup sub site menus
            SubsiteHeader.SubsiteMenus = new List <MenuItemViewModel>();
            int   menuItems    = subsite.Menus.Count();
            float widthPercent = 100 / menuItems;

            foreach (SubsiteMenuDto item in subsite.Menus.OrderBy(o => o.Sort))
            {
                MenuItemViewModel newItem = new MenuItemViewModel();
                SubsiteHeader.SubsiteMenus.Add(newItem);
                if (item.SubsiteMenuLanguagesDic.ContainsKey(CurrentLanguage.Id))
                {
                    newItem.MenuText = item.SubsiteMenuLanguagesDic[CurrentLanguage.Id].MenuText;
                }
                else
                {
                    newItem.MenuText = item.MenuText;
                }
                newItem.NavigateUrl  = item.NavigateUrl.ToLower();
                newItem.WidthPercent = widthPercent;
            }
            // Set current selected menu item
            foreach (MenuItemViewModel item in SubsiteHeader.SubsiteMenus.Reverse())
            {
                item.IsCurrent = RequestedUrl.AbsolutePath.StartsWith(item.NavigateUrl);
                if (item.IsCurrent)
                {
                    // As soon as we find one, skip the loop
                    break;
                }
            }
        }
示例#5
0
        public ViewResult Detail(int id)
        {
            SubsiteInfoDto          instance = Service.GetSubsiteInfo(id);
            InstanceDetailViewModel model    = new InstanceDetailViewModel(InstanceTypes.Subsite, instance);
            // Add action for explore subsite
            UIAction explore = new UIAction("Explore", FolderController.ControllerName, FolderController.ExplorerAction);

            explore.AddParameter(FolderController.FolderId, instance.SubsiteFolderId.ToString());
            explore.AddParameter(FolderController.SubsiteIdStateKey, instance.SubsiteFolderId.ToString());
            model.AddAction(explore);
            return(View(model));
        }
        public void TestAll()
        {
            SubsiteFacade  facade = new SubsiteFacade(UnitOfWork);
            SubsiteInfoDto item   = facade.GetSubsiteInfo <SubsiteInfoDto>(8, new SubsiteInfoConverter());

            if (item != null)
            {
            }

            List <SubsiteBriefDto> result = facade.GetSubsites <SubsiteBriefDto>(new SubsiteBriefConverter());

            if (result != null)
            {
            }
        }
示例#7
0
        //[OutputCache(Duration = 300)]
        public ViewResult Index(string urlAlias)
        {
            try
            {
                if (urlAlias.EndsWith("/"))
                {
                    urlAlias = urlAlias.TrimEnd('/');
                }
                ReferenceInfoDto reference = null;
                if (CurrentLanguage.Id == WebContext.Current.DefaultLanguage.Id)
                {
                    reference = Service.GetReference(urlAlias, null);
                }
                else
                {
                    reference = Service.GetReference(urlAlias, CurrentLanguage.Id);
                }
                if (reference == null)
                {
                    throw new HttpException(404, string.Format("Page {0} doesn't exist.", HttpContext.Request.RawUrl));
                }

                PageViewModel model = new PageViewModel(reference, HttpContext.Request.Url, PageIndex, CurrentLanguage);
                model.Populate();

                // Set info for subsite
                if (reference.SubsiteId != null)
                {
                    ISubsiteService subsiteService = ServiceLocator.Current.GetInstance <ISubsiteService>();
                    SubsiteInfoDto  subsite        = subsiteService.GetSubsiteInfo(reference.SubsiteId);
                    // Setup sub site parameters
                    model.PopulateSubsite(subsite);
                }

                return(View(model));
            }
            catch
            {
                throw;
            }
        }
示例#8
0
        public ActionResult Edit(int id, FormCollection formData)
        {
            SubsiteInfoDto        instance = Service.GetSubsiteInfo(id);
            InstanceEditViewModel model    = new InstanceEditViewModel(InstanceTypes.Subsite, instance);

            UpdateModel(instance, formData);
            if (ModelState.IsValid)
            {
                IFacadeUpdateResult <SubsiteData> result = Service.SaveSubsite(instance);
                if (result.IsSuccessful)
                {
                    return(RedirectToAction(DetailAction, new { id = id }));
                }
                else
                {
                    ProcUpdateResult(result.ValidationResult, result.Exception);
                }
            }

            return(View(model));
        }