コード例 #1
0
		public void Execute(IWikiRepository repository, WikiBuilderTask task, IConsoleLogHost logger) {
			this.brail = new BooViewEngine();
			brail.Options = new MonoRailViewEngineOptions();
			brail.Options.BaseType = "Castle.MonoRail.Views.Brail.WikiBrailBase";
			this.render = new WikiRender();
			var srcpages = new List<WikiPage>();
			foreach (var src in task.Sources)
			{
				foreach (var p in repository.Search(src))
				{
					srcpages.Add(p);
				}

			}
			foreach (var target in task.Targets) {
				var outfile = myapp.files.Resolve(target,false);
				
				var parameters = new Dictionary<string, object>()
				                 	{
				                 		{"task", task},
				                 		{"logger", logger},
				                 		{"repository", repository},
				                 		{"render", render},
				                 		{"pages", srcpages.ToArray()},
				                 	};
				var sw = new StringWriter();
				 brail.Process(task.View,task.Layout,sw, parameters);
				File.WriteAllText(outfile,sw.ToString());

			}
		}
コード例 #2
0
 public WikiSeeder(WikiContext ctx, IHostingEnvironment hosting, UserManager <ApplicationUser> userManager, IWikiRepository repository)
 {
     _ctx             = ctx;
     _hosting         = hosting;
     this.userManager = userManager;
     this.repository  = repository;
 }
コード例 #3
0
 public ArticleController(UserManager <ApplicationUser> userManager, IMapper mapper, WikiContext appDbContext, IWikiRepository repository)
 {
     _userManager    = userManager;
     _mapper         = mapper;
     _appDbContext   = appDbContext;
     this.repository = repository;
 }
コード例 #4
0
ファイル: WikiRender.cs プロジェクト: Qorpent/comdiv.oldcore
		private void generateNewWiki(string wikiname, IMvcContext context, IWikiRepository repo)
		{
			var executor = context.Application.MvcFactory.GetAction(context);
			try {
				var sb = new StringBuilder();
				sb.AppendFormat("<h1>JSONAPI: {0}</h1>", context.ActionName);
				sb.AppendFormat("<ul><li>{0}</li></ul>", executor.GetType().FullName);

				sb.AppendLine("<p>Документация на данный момент отсутствует. Данный файл сформирован автоматически</p>");
				var page = new WikiPage
				           	{
				           		Level = FileLevel.sys,
				           		Code = wikiname,
				           		Content = sb.ToString(),
				           		Properties = new Dictionary<string, string>
				           		             	{
				           		             		{"type", "quickdoc"},
				           		             		{"quickname", context.ActionName},
				           		             	}
				           	};
				repo.Save(page);
			}finally {
				context.Application.MvcFactory.ReleaseAction(context);
			}
		}
コード例 #5
0
        public void GetIdentifiers_StandardProcedure_AListOfStringsIsReturned()
        {
            bool found = false;

            WikiAccount account = new WikiAccount();

            account.AccountName = "foobar";
            account.LoginName   = "barfoo";
            account.Password    = "******";
            account.WikiUrl     = new Uri("http://some.where.over/the/Rainbow");

            IWikiRepository repository       = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          targetIdentifier = repository.Store <WikiAccount>(account);

            foreach (string identifier in repository.GetIdentifiers())
            {
                Assert.IsFalse(String.IsNullOrEmpty(identifier));
                if (targetIdentifier == identifier)
                {
                    found = true;
                    break;
                }
            }

            Assert.IsTrue(found);
        }
コード例 #6
0
		public override void InitProperties(Framework.IEngineContext myContext, Framework.IController myController, Framework.IControllerContext controllerContext)
		{
			base.InitProperties(myContext, myController, controllerContext);
			this.repository = controllerContext.PropertyBag["repository"] as IWikiRepository;
			this.wikirender = controllerContext.PropertyBag["render"] as IWikiRenderService;
			this.task = controllerContext.PropertyBag["task"] as WikiBuilderTask;
			this.pages = controllerContext.PropertyBag["pages"] as WikiPage[];
			this.workrender = this.wikirender.Start();
		}
コード例 #7
0
        public void Delete_SaveAndThenDeleteAWikiPage_ShouldBeDoneWithoutErrors()
        {
            WikiAccount account     = new WikiAccount();
            Wikipage    pageToStore = new Wikipage(account);

            pageToStore.WikiPageName    = "delete.php";
            pageToStore.WikiPageContent = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr sed diam nonumy eirmod tempor invidunt ut labore et dolore ...";

            IWikiRepository repository     = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          pageIdentifier = repository.Store <Wikipage>(pageToStore);

            repository.Delete(pageIdentifier);
        }
コード例 #8
0
        public void Store_StoreAWikiPage_BusinessObjectShouldBeStoredWithoutErrors()
        {
            WikiAccount account = new WikiAccount();
            Wikipage    page    = new Wikipage(account);

            page.WikiPageContent = "ölkjölkfsajdölkjafsd";
            page.WikiPageName    = "start.php";

            IWikiRepository repository = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          identifier = repository.Store <Wikipage>(page);

            Assert.IsFalse(String.IsNullOrEmpty(identifier));
            Assert.AreEqual(identifier, page.ObjectIdentifier);
        }
コード例 #9
0
        public void GetIdenitfiers_NoIdentifiersAtAll_WikiRepositoryExceptionIsThrown()
        {
            IWikiRepository repository = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);

            //Possible that there are already wiki objects loaded, because of the other tests.
            //If not the exception is already thrown here.
            foreach (string identifier in repository.GetIdentifiers())
            {
                repository.Delete(identifier);
            }

            //Now it should definitly throw the exception
            repository.GetIdentifiers();
        }
コード例 #10
0
        public void Constructor_RepositoryIsCreated_CreationWithoutErrors()
        {
            IWikiRepository repository = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);

            try
            {
                foreach (string identifier in repository.GetIdentifiers())
                {
                    Console.WriteLine("Loaded business object with identifier: {0}" + identifier);
                }
            }
            catch (WikiRepositoryException wre)
            {
                Console.WriteLine(wre.Message);
            }
        }
コード例 #11
0
        public void Store_StoreAModifiedWikiAccount_IdentifierShouldStayTheSame()
        {
            WikiAccount account     = new WikiAccount();
            Wikipage    pageToStore = new Wikipage(account);

            pageToStore.WikiPageName    = "first.php";
            pageToStore.WikiPageContent = "Lorem ipsum dolor sit amet";

            IWikiRepository repository      = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          firstIdentifier = repository.Store <Wikipage>(pageToStore);

            pageToStore.WikiPageContent = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr," +
                                          " sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.";
            string secondIdentifier = repository.Store <Wikipage>(pageToStore);

            Assert.AreEqual(firstIdentifier, secondIdentifier);
        }
コード例 #12
0
        public void Load_LoadAWikiAccount_IsLoadedWithoutErrors()
        {
            WikiAccount expectedAccount = new WikiAccount();

            expectedAccount.AccountName = "doodle";
            expectedAccount.LoginName   = "Dödel";
            expectedAccount.Password    = "******";
            expectedAccount.WikiUrl     = new Uri("http://www.doodle.ch/tinyurl/349");

            IWikiRepository repository       = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          targetIdenitfier = repository.Store <WikiAccount>(expectedAccount);

            WikiAccount targetAccount = repository.Load <WikiAccount>(targetIdenitfier);

            Assert.AreEqual(targetAccount, expectedAccount);
            Assert.IsTrue(targetAccount.Equals(expectedAccount));
        }
コード例 #13
0
        public void Store_StoreAWikiObjectUsingItsOwnIdenitfier_ShouldBeDoneWithoutErrors()
        {
            WikiAccount myOwnAccount = new WikiAccount();

            myOwnAccount.LoginName = "jfdsah";
            myOwnAccount.Password  = "******";
            myOwnAccount.WikiUrl   = new Uri("ftp://ftp.google.com/");

            IWikiRepository repository = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          accountId  = "MyOwnAccount";

            repository.Store <WikiAccount>(myOwnAccount, accountId);

            WikiAccount reloadedAccount = repository.Load <WikiAccount>(accountId);

            Assert.IsNotNull(reloadedAccount);
            Assert.AreEqual(myOwnAccount, reloadedAccount);
        }
コード例 #14
0
        public void Load_LoadAPersistedWikiPage_ShouldBeLoadedWithoutErrors()
        {
            WikiAccount account     = new WikiAccount();
            Wikipage    pageToStore = new Wikipage(account);

            pageToStore.WikiPageName    = "first.php";
            pageToStore.WikiPageContent = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr ...";

            IWikiRepository repository     = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          pageIdentifier = repository.Store <Wikipage>(pageToStore);

            repository = null;
            repository = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);

            Wikipage loadedPage = repository.Load <Wikipage>(pageIdentifier);

            Assert.AreEqual(pageToStore, loadedPage);
        }
コード例 #15
0
        public void Load_LoadAManualPersistedWikiObject_IsLoadedAndAddedInRepository()
        {
            WikiAccount manualStoredAccount = new WikiAccount();

            manualStoredAccount.AccountName = "doodleidu";
            manualStoredAccount.LoginName   = "Dödeldidu";
            manualStoredAccount.Password    = "******";
            manualStoredAccount.WikiUrl     = new Uri("http://www.doodle.ch/tinyurl/987436219874");

            IWikiRepository repository       = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          targetIdenitfier = manualStoredAccount.Serialize(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "//DokuWikiStore//", ".wiki");

            WikiAccount loadedAccount = repository.Load <WikiAccount>(targetIdenitfier);

            Assert.IsNotNull(loadedAccount);
            Assert.AreEqual(manualStoredAccount, loadedAccount);

            string addedIdentifier = repository.GetIdentifiers().First(x => x.Equals(targetIdenitfier));

            Assert.AreEqual(addedIdentifier, targetIdenitfier);
        }
コード例 #16
0
 public WikiCategoriesController(IWikiRepository repository, UserManager <ApplicationUser> userManager, WikiContext wikiContext)
 {
     this.repository  = repository;
     this.userManager = userManager;
     this.wikiContext = wikiContext;
 }
コード例 #17
0
 public TitleLinkRenderer(UrlHelper urlHelper, IWikiRepository wikiRepository)
 {
     this.urlHelper = urlHelper;
     this.wikiRepository = wikiRepository;
 }
コード例 #18
0
 public SdlWikiDocumentSearch(IOptionsMonitor <SdlWikiDocumentSearchSettings> optionsMonitor, IWikiRepository repo, ISdlWikiDownloader downloader)
 {
     _settings   = optionsMonitor.CurrentValue;
     _repo       = repo;
     _downloader = downloader;
 }
コード例 #19
0
 public WikiController(IWikiRepository wikiRepository, IPageRepository repository, ILogger <WikiController> logger)
 {
     _wikiRepository = wikiRepository;
     _repository     = repository;
     _logger         = logger;
 }
コード例 #20
0
 public TeamCategoriesController(IWikiRepository repository, UserManager <ApplicationUser> userManager, WikiContext appDbContext)
 {
     this.repository   = repository;
     this.userManager  = userManager;
     this.appDbContext = appDbContext;
 }
コード例 #21
0
 public HomeWikiController(IWikiRepository repository, IWikiEngine wikiEngine)
 {
     this.repository = repository;
     this.wikiEngine = wikiEngine;
 }
コード例 #22
0
 public WikiController(IWikiRepository wikiRepository, IEntryRepository entryRepository)
 {
     _wikiRepository = wikiRepository;
     _entryRepository = entryRepository;
 }
コード例 #23
0
ファイル: WikiService.cs プロジェクト: khoanguyen84/C0520G1
 public WikiService(IWikiRepository wikiRepository)
 {
     this.wikiRepository = wikiRepository;
 }
コード例 #24
0
        public void Delete_TryToDeleteAWikiObjectWhichDoesNotExists_AWikiRepositoryExceptionShouldBeThrown()
        {
            IWikiRepository repository = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);

            repository.Delete("foo_bar_li");
        }