Exemple #1
0
        public void AddRequest(SiteRequestInformation siteRequest, ClientContext ctx)
        {
            Web _web = ctx.Web;
            List _list = _web.Lists.GetByTitle(Lists.SiteRepositoryTitle);
            ListItemCreationInformation _listItemCreation = new ListItemCreationInformation();
            ListItem _record = _list.AddItem(_listItemCreation);

            _record[SiteRequestFields.Title] = siteRequest.Title;
            _record[SiteRequestFields.Description] = siteRequest.Description;
            _record[SiteRequestFields.Template] = siteRequest.Template;
            _record[SiteRequestFields.State] = siteRequest.RequestStatus;
            _record[SiteRequestFields.Url] = siteRequest.Url;
            _record[SiteRequestFields.TimeZone] = siteRequest.TimeZoneId;
            FieldUserValue _siteOwner = FieldUserValue.FromUser(siteRequest.SiteOwner.Email);
            _record[SiteRequestFields.Owner] = _siteOwner;

            _record.Update();
            ctx.ExecuteQuery();
        }
Exemple #2
0
        protected void btnCreate_Click(object sender, EventArgs e)
        {
            var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);
            string newWebUrl = string.Empty;
            using (ClientContext ctx = spContext.CreateUserClientContextForSPHost())
            {

                SharePointUser currentUser;
                ctx.Load(ctx.Web.CurrentUser);
                ctx.ExecuteQuery();

                var user = ctx.Web.CurrentUser;
                currentUser = new SharePointUser()
                {
                    Email = user.Email,
                    Login = user.LoginName,
                    Name = user.Title
                };

                var siteRequestInfo = new SiteRequestInformation()
                {
                    Title = this.txtTitle.Text,
                    Description = this.txtDescription.Text,
                    EnumStatus = SiteRequestStatus.New,
                    Template = "STS#0",
                    SiteOwner = currentUser,

                };

                siteRequestInfo.Url = string.Format(@"{0}{1}", this.lblBasePath.Text, siteRequestInfo.Title);
                LabHelper _helper = new LabHelper();
                _helper.AddRequest(siteRequestInfo, ctx);
            }

            Response.Redirect(Page.Request["SPHostUrl"]);
        }