public ActionResult CreateDocumentSet() { AddDocumentSetViewModel model = new AddDocumentSetViewModel() { ContentTypeName = CONTENTTYPENAME, DocumentLibName = DOCUMENTLIBNAME }; for (int i = 0; i < 5; i++) { model.FieldNames.Add(String.Format("{0}{1}", FIELDNAME, i + 1)); } return(View("AddDocumentSet", model)); }
public ActionResult CreateDocumentSet([Bind(Include = "DocumentLibName,FieldNames,ContentTypeName")] AddDocumentSetViewModel model) { var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext); using (var clientContext = spContext.CreateUserClientContextForSPHost()) { List <Field> fields = new List <Field>(); foreach (string fieldName in model.FieldNames) { Field field = CreateDocumentSetField(clientContext, fieldName); fields.Add(field); } ContentType ctTestSow = CreateDocumentSetContentType(clientContext, model.ContentTypeName, fields); DocumentSetTemplate docSetTemplate = DocumentSetTemplate.GetDocumentSetTemplate(clientContext, ctTestSow); clientContext.Load(docSetTemplate, d => d.SharedFields, d => d.WelcomePageFields); clientContext.ExecuteQuery(); if (!docSetTemplate.SharedFields.Contains(fields[0])) { docSetTemplate.SharedFields.Add(fields[0]); docSetTemplate.Update(true); clientContext.ExecuteQuery(); } if (!docSetTemplate.WelcomePageFields.Contains(fields[0])) { docSetTemplate.WelcomePageFields.Add(fields[0]); docSetTemplate.Update(true); clientContext.ExecuteQuery(); } // List listTestDoc = GetTestDocDocumentLibrary(clientContext, ctTestSow, model.DocumentLibName); clientContext.Load(listTestDoc.RootFolder); clientContext.ExecuteQuery(); ClientResult <string> result = DocumentSet.Create(clientContext, listTestDoc.RootFolder, DOCUMENTSETNAME, ctTestSow.Id); clientContext.ExecuteQuery(); } return(RedirectToAction("Index", new { SPHostUrl = SharePointContext.GetSPHostUrl(HttpContext.Request).AbsoluteUri })); }