コード例 #1
0
        private static void SetGetContextSPWeb()
        {
            ShimSPContext.GetContextSPWeb = (SPWeb web) =>
            {
                var httpContext = HttpContext.Current;

                if (httpContext != null)
                {
                    var simcontext = SimSPContext.FromInstance(SPContext.GetContext(httpContext));
                    simcontext.Web = web;

                    return(simcontext.Instance);
                }
                else
                {
                    var simweb = SimSPWeb.FromInstance(web);
                    if (simweb.SPContext == null)
                    {
                        var spcontext = new SimSPContext {
                            Web = web
                        };
                        simweb.SPContext = spcontext;
                    }

                    return(simweb.SPContext.Instance);
                }
            };
        }
コード例 #2
0
        public void Delete(string webUrl)
        {
            var simWeb = this[webUrl];

            if (simWeb.Exists)
            {
                var simSPWeb2 = SimSPWeb.FromInstance(simWeb.ParentWeb);
                simSPWeb2.Webs.Remove(simWeb.Instance);
                return;
            }
            throw new FileNotFoundException();
        }
コード例 #3
0
        public SimSPWeb this[Guid id]
        {
            get
            {
                var web = this.FirstOrDefault((SPWeb w) => w.ID == id);
                if (web == null)
                {
                    throw new ArgumentException();
                }

                return(SimSPWeb.FromInstance(web));
            }
        }
コード例 #4
0
ファイル: SimSPSite.cs プロジェクト: serenabenny/SPEmulators
        public SimSPWeb OpenWeb(Guid webId)
        {
            using (IEnumerator <SPWeb> enumerator = (
                       from web in this.AllWebs
                       where web.ID == webId
                       select web).GetEnumerator())
            {
                if (enumerator.MoveNext())
                {
                    SPWeb current = enumerator.Current;
                    return(SimSPWeb.FromInstance(current));
                }
            }

            throw new FileNotFoundException();
        }
コード例 #5
0
        public SimSPWeb this[string url]
        {
            get
            {
                var      simWeb = this.ParentWeb;
                string[] array  = url.Split(new char[] { '/' });
                for (int i = 0; i < array.Length; i++)
                {
                    var webName = array[i];
                    var web     = simWeb.Webs.FirstOrDefault((SPWeb w) => w.Name == webName);
                    if (web == null)
                    {
                        var simWeb2 = this.Add(webName);
                        simWeb2.Exists = false;
                        web            = simWeb2.Instance;
                    }

                    simWeb = SimSPWeb.FromInstance(web);
                }

                return(simWeb);
            }
        }
コード例 #6
0
ファイル: SimSPSite.cs プロジェクト: serenabenny/SPEmulators
        public SimSPWeb OpenWeb(string url)
        {
            Uri      baseUri = new Uri(this.Url);
            Uri      uri     = new Uri(baseUri, url);
            SimSPWeb result;

            foreach (SPWeb current in this.AllWebs)
            {
                if (uri == new Uri(current.Url))
                {
                    result = SimSPWeb.FromInstance(current);
                    return(result);
                }
            }
            result = new SimSPWeb
            {
                Site   = base.Instance,
                Name   = url,
                Title  = url,
                Exists = false
            };
            return(result);
        }