Пример #1
0
        internal IFacadeUpdateResult <SubsiteData> SaveSubsite(SubsiteData dto)
        {
            ArgumentValidator.IsNotNull("dto", dto);

            FacadeUpdateResult <SubsiteData> result = new FacadeUpdateResult <SubsiteData>();
            ISubsiteService service  = UnitOfWork.GetService <ISubsiteService>();
            Subsite         instance = RetrieveOrNew <SubsiteData, Subsite, ISubsiteService>(result.ValidationResult, dto.Id);

            if (result.IsSuccessful)
            {
                instance.Address    = dto.Address;
                instance.Phone      = dto.Phone;
                instance.Fax        = dto.Fax;
                instance.Email      = dto.Email;
                instance.Website    = dto.Website;
                instance.BackColor  = dto.BackColor;
                instance.TitleColor = dto.TitleColor;
                instance.BannerUrl  = dto.BannerUrl;
                if (dto.SubsiteFolderId != null)
                {
                    instance.SubsiteFolderId = dto.SubsiteFolderId;
                }
                instance.DefaultLanguageId = dto.DefaultLanguageId;
                instance.DefaultLocationId = dto.DefaultLocationId;
                instance.BannerHeight      = dto.BannerHeight;
                instance.IsPublished       = dto.IsPublished;

                var saveQuery = service.Save(instance);

                result.AttachResult(instance.RetrieveData <SubsiteData>());
                result.Merge(saveQuery);
            }

            return(result);
        }
        public void GetSubsitesInfo_ReturnList()
        {
            ISubsiteService service = UnitOfWork.GetService <ISubsiteService>();
            IServiceQueryResultList <SubsiteBriefData> result = service.GetSubsites();
            List <SubsiteBriefData> list = result.DataList.ToList();

            if (list != null)
            {
            }
        }
Пример #3
0
        internal TDto GetSubsiteInfo <TDto>(object instanceId, IDataConverter <SubsiteInfoData, TDto> converter)
            where TDto : class
        {
            ISubsiteService service = UnitOfWork.GetService <ISubsiteService>();
            var             query   = service.GetSubsiteInfo(instanceId);

            if (query.HasResult)
            {
                return(query.DataToDto(converter));
            }

            return(null);
        }
Пример #4
0
        internal List <TDto> GetSubsites <TDto>(IDataConverter <SubsiteBriefData, TDto> converter, bool isPublished = false)
            where TDto : class
        {
            ISubsiteService service = UnitOfWork.GetService <ISubsiteService>();
            var             query   = service.GetSubsites(isPublished);

            if (query.HasResult)
            {
                return(query.DataToDtoList(converter).ToList());
            }

            return(null);
        }
Пример #5
0
        internal TDto RetrieveOrNewSubsite <TDto>(object instanceId, IDataConverter <SubsiteData, TDto> converter)
            where TDto : class
        {
            ArgumentValidator.IsNotNull("converter", converter);
            ISubsiteService service = UnitOfWork.GetService <ISubsiteService>();
            FacadeUpdateResult <SubsiteData> result = new FacadeUpdateResult <SubsiteData>();
            Subsite instance = RetrieveOrNew <SubsiteData, Subsite, ISubsiteService>(result.ValidationResult, instanceId);

            if (result.IsSuccessful)
            {
                return(converter.Convert(instance.RetrieveData <SubsiteData>()));
            }
            else
            {
                return(null);
            }
        }
Пример #6
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;
            }
        }
Пример #7
0
        internal IFacadeUpdateResult <SubsiteData> DeleteSubsite(object instanceId)
        {
            ArgumentValidator.IsNotNull("instanceId", instanceId);

            FacadeUpdateResult <SubsiteData> result = new FacadeUpdateResult <SubsiteData>();
            ISubsiteService service = UnitOfWork.GetService <ISubsiteService>();
            var             query   = service.Retrieve(instanceId);

            if (query.HasResult)
            {
                Subsite instance  = query.ToBo <Subsite>();
                var     saveQuery = instance.Delete();
                result.Merge(saveQuery);
            }
            else
            {
                AddError(result.ValidationResult, "SubsiteCannotBeFound");
            }

            return(result);
        }
Пример #8
0
        public void Initilize()
        {
            IGeneralService service = ServiceLocator.Current.GetInstance <IGeneralService>();

            StaticMetadataList = service.GetMetadata();
            HeaderMenus        = service.GetHeaderMenus().ToList();
            FooterMenus        = service.GetFooterMenus().ToList();
            IEnumerable <LanguageDto> availableLanguages = service.GetLanguages().ToList();

            foreach (LanguageDto language in availableLanguages)
            {
                LanguageDic.Add(language.Id, language);
                LanguageDicByCulture.Add(language.Culture, language);
            }

            DefaultLanguage = LanguageDic[DefaultLanguageId];

            ISubsiteService subsiteService         = ServiceLocator.Current.GetInstance <ISubsiteService>();
            IEnumerable <SubsiteBriefDto> subsites = subsiteService.GetSubsites(true);

            foreach (SubsiteBriefDto item in subsites)
            {
                // Set Subsite redirection dictionary
                string key = string.Format("/{0}", item.Slug.ToLower());
                string value;
                if (WebContext.Current.IsMultiLanguageSupported)
                {
                    value = string.Format("/{0}/{1}", item.Culture, item.Slug);
                }
                else
                {
                    value = string.Format("/{0}", item.Slug);
                }
                SubsiteRedirectDic.Add(key, value);
            }

            InitAdSlotSize();

            InitRecipeKeywordsAndCategories();
        }
Пример #9
0
 public SubsiteController()
 {
     Service = ServiceLocator.Current.GetInstance <ISubsiteService>();
 }