Update
This commit is contained in:
+309
-21
@@ -1,6 +1,6 @@
|
|||||||
using Microsoft.SharePoint;
|
using Microsoft.SharePoint;
|
||||||
using Microsoft.SharePoint.Client;
|
using Microsoft.SharePoint.Client;
|
||||||
using SP = Microsoft.SharePoint.Client;
|
using Microsoft.SharePoint.Client.DocumentSet;
|
||||||
using Microsoft.Online.SharePoint.TenantAdministration;
|
using Microsoft.Online.SharePoint.TenantAdministration;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
@@ -23,15 +23,17 @@ namespace SharePointOnlineUtils
|
|||||||
string svcUser = "svcItsSharePointAdmin@italsort.com";
|
string svcUser = "svcItsSharePointAdmin@italsort.com";
|
||||||
SecureString svcUserPsw = new NetworkCredential("", "$O,D1XBp1O5.OdjZt86#a=").SecurePassword;
|
SecureString svcUserPsw = new NetworkCredential("", "$O,D1XBp1O5.OdjZt86#a=").SecurePassword;
|
||||||
|
|
||||||
ProjectsByYearSite(siteCollection, svcUser, svcUserPsw);
|
//ProjectsByYearSite(siteCollection, svcUser, svcUserPsw);
|
||||||
|
//Project(siteCollection, svcUser, svcUserPsw);
|
||||||
|
SubProject(siteCollection, svcUser, svcUserPsw);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task ProjectsByYearSite(string siteCollection, string user, SecureString psw)
|
public static async Task ProjectsByYearSite(string siteCollection, string user, SecureString psw)
|
||||||
{
|
{
|
||||||
string year = DateTime.Now.Year.ToString();
|
string year = DateTime.Now.Year.ToString();
|
||||||
string projectsYear = "Commesse" + year;
|
string projectsYear = "Commesse" + year;
|
||||||
var listTitle = "Lista Commesse " + year;
|
string listTitle = "Lista Commesse " + year;
|
||||||
Uri site = new Uri(siteCollection + "/Commesse/" + projectsYear);
|
Uri site = new Uri(siteCollection + "/sites/" + projectsYear);
|
||||||
|
|
||||||
using (var authMgr = new AuthenticationManager())
|
using (var authMgr = new AuthenticationManager())
|
||||||
using (var ctx = authMgr.GetContext(site, user, psw))
|
using (var ctx = authMgr.GetContext(site, user, psw))
|
||||||
@@ -55,10 +57,64 @@ namespace SharePointOnlineUtils
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static async Task Project(string siteCollection, string user, SecureString psw)
|
||||||
|
{
|
||||||
|
string year = DateTime.Now.Year.ToString();
|
||||||
|
string projectsYear = $"Commesse{year}";
|
||||||
|
string listTitle = $"Lista Commesse {year}";
|
||||||
|
string ssProjectTitle = "CT0014";
|
||||||
|
|
||||||
|
Uri site = new Uri($"{siteCollection}/sites/{projectsYear}");
|
||||||
|
|
||||||
|
using (var authMgr = new AuthenticationManager())
|
||||||
|
using (var ctx = authMgr.GetContext(site, user, psw))
|
||||||
|
{
|
||||||
|
//if (SharePointCustomOperation.SiteExist(ctx)) //TODO: Controllo if sub site exist
|
||||||
|
SharePointCustomOperation.ProjectSubSite(ssProjectTitle, projectsYear, ctx);
|
||||||
|
SharePointCustomOperation.ProjectListEntry(ssProjectTitle, listTitle, projectsYear, ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
Uri subSite = new Uri($"{siteCollection}/sites/{projectsYear}/{ssProjectTitle}");
|
||||||
|
|
||||||
|
using (var authMgr = new AuthenticationManager())
|
||||||
|
using (var ctx = authMgr.GetContext(subSite, user, psw))
|
||||||
|
{
|
||||||
|
SharePointCustomOperation.ProjectDocLib(ssProjectTitle, ctx);
|
||||||
|
//view e field + edit short cut menu + set SottoProgetti view a homepage
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static async Task SubProject(string siteCollection, string user, SecureString psw)
|
||||||
|
{
|
||||||
|
string year = DateTime.Now.Year.ToString();
|
||||||
|
string projectsYear = $"Commesse{year}";
|
||||||
|
string listTitle = $"Lista Commesse {year}";
|
||||||
|
string ssProjectTitle = "CT0014";
|
||||||
|
string[] ssSubProjectTitle = { "CT0014-0001", "CT0014-0002", "CT0014-0003" };
|
||||||
|
|
||||||
|
Uri subSite = new Uri($"{siteCollection}/sites/{projectsYear}/{ssProjectTitle}");
|
||||||
|
|
||||||
|
Uri subProjList = new Uri($"{siteCollection}/sites/{projectsYear}/{ssProjectTitle}/SottoProgetti {ssProjectTitle}");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
using (var authMgr = new AuthenticationManager())
|
||||||
|
using (var ctx = authMgr.GetContext(subSite, user, psw))
|
||||||
|
{
|
||||||
|
using (var sCtx = authMgr.GetContext(subProjList, user, psw))
|
||||||
|
{
|
||||||
|
SharePointCustomOperation.SubProjectDocSet(ssProjectTitle, ssSubProjectTitle, ctx, sCtx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SharePointCustomOperation
|
public class SharePointCustomOperation
|
||||||
{
|
{
|
||||||
|
#region Check If Exist
|
||||||
public static bool SiteExist(ClientContext ctx)
|
public static bool SiteExist(ClientContext ctx)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -87,7 +143,9 @@ namespace SharePointOnlineUtils
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Projects Years Page Set Up
|
||||||
public static async Task ProjectsYSite(string year, Uri site, string user, SecureString psw)
|
public static async Task ProjectsYSite(string year, Uri site, string user, SecureString psw)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"> Inizializzata la fase di creazione del sito '../Commesse{year}'.");
|
Console.WriteLine($"> Inizializzata la fase di creazione del sito '../Commesse{year}'.");
|
||||||
@@ -132,11 +190,6 @@ namespace SharePointOnlineUtils
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task ProjectsYQuickMenu(ClientContext ctx)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static async Task ProjectsYList(string listTitle, ClientContext ctx)
|
public static async Task ProjectsYList(string listTitle, ClientContext ctx)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -181,24 +234,20 @@ namespace SharePointOnlineUtils
|
|||||||
Console.WriteLine($"> Inizializzata la fase di creazione dei campi '{listTitle}'.");
|
Console.WriteLine($"> Inizializzata la fase di creazione dei campi '{listTitle}'.");
|
||||||
|
|
||||||
Web web = ctx.Web;
|
Web web = ctx.Web;
|
||||||
List projectsList = web.Lists.GetByTitle(listTitle);
|
|
||||||
List list = web.Lists.GetByTitle(listTitle);
|
List list = web.Lists.GetByTitle(listTitle);
|
||||||
|
List projectsList = web.Lists.GetByTitle(listTitle);
|
||||||
|
|
||||||
ctx.Load(list, l => l.Fields);
|
ctx.Load(list, l => l.Fields);
|
||||||
ctx.Load(projectsList, b => b.Id);
|
ctx.Load(projectsList, b => b.Id);
|
||||||
ctx.ExecuteQuery();
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
string idProjField = @"<Field Type='URL' Name='PAL_ID_Project' StaticName='ID Progetto' DisplayName='ID Progetto' Required='TRUE' />";
|
string idProjField = @"<Field Type='URL' Name='PAL_ID_Project' StaticName='PAL_ID_Project' DisplayName='ID Progetto' Required='TRUE' />";
|
||||||
Field lookupIdProjField = list.Fields.AddFieldAsXml(idProjField, true, AddFieldOptions.DefaultValue);
|
Field lookupIdProjField = list.Fields.AddFieldAsXml(idProjField, true, AddFieldOptions.DefaultValue);
|
||||||
//lookupIdProjField.Update();
|
|
||||||
//ctx.Load(lookupIdProjField);
|
|
||||||
|
|
||||||
string clientField = @"<Field Type='Text' Name='PAL_Client' StaticName='Cliente' DisplayName='Cliente' Required='TRUE' />";
|
string clientField = @"<Field Type='Text' Name='PAL_Customer' StaticName='PAL_Customer' DisplayName='Cliente' Required='TRUE' />";
|
||||||
Field lookupClientField = list.Fields.AddFieldAsXml(clientField, true, AddFieldOptions.DefaultValue);
|
Field lookupClientField = list.Fields.AddFieldAsXml(clientField, true, AddFieldOptions.DefaultValue);
|
||||||
//lookupClientField.Update();
|
|
||||||
//ctx.Load(lookupClientField);
|
|
||||||
|
|
||||||
string dlvReasonField = @"<Field Type='Choice' Name='PAL_DlvReason' StaticName='Causale' DisplayName='Causale' Required='TRUE' Format='RadioButtons' >"
|
string dlvReasonField = @"<Field Type='Choice' Name='PAL_DlvReason' StaticName='PAL_DlvReason' DisplayName='Causale' Required='TRUE' Format='RadioButtons' >"
|
||||||
+ "<CHOICES>"
|
+ "<CHOICES>"
|
||||||
+ " <CHOICE>01 VENDITA MACCHINE / IMPIANTI</CHOICE>"
|
+ " <CHOICE>01 VENDITA MACCHINE / IMPIANTI</CHOICE>"
|
||||||
+ " <CHOICE>02 VENDITA RICAMBI</CHOICE>"
|
+ " <CHOICE>02 VENDITA RICAMBI</CHOICE>"
|
||||||
@@ -211,8 +260,6 @@ namespace SharePointOnlineUtils
|
|||||||
+ "</CHOICES>"
|
+ "</CHOICES>"
|
||||||
+ "</Field>";
|
+ "</Field>";
|
||||||
Field lookupDlvReasonField = list.Fields.AddFieldAsXml(dlvReasonField, true, AddFieldOptions.DefaultValue);
|
Field lookupDlvReasonField = list.Fields.AddFieldAsXml(dlvReasonField, true, AddFieldOptions.DefaultValue);
|
||||||
//lookupDlvReasonField.Update();
|
|
||||||
//ctx.Load(lookupDlvReasonField);
|
|
||||||
|
|
||||||
ctx.ExecuteQuery();
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
@@ -232,7 +279,6 @@ namespace SharePointOnlineUtils
|
|||||||
|
|
||||||
List list = ctx.Web.Lists.GetByTitle(listTitle);
|
List list = ctx.Web.Lists.GetByTitle(listTitle);
|
||||||
var views = list.Views;
|
var views = list.Views;
|
||||||
//ctx.Load(list, l => l.Views);
|
|
||||||
|
|
||||||
|
|
||||||
ViewCreationInformation viewCreation = new ViewCreationInformation();
|
ViewCreationInformation viewCreation = new ViewCreationInformation();
|
||||||
@@ -257,15 +303,257 @@ namespace SharePointOnlineUtils
|
|||||||
customView.Update();
|
customView.Update();
|
||||||
ctx.ExecuteQuery();
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
Console.WriteLine($"> MobileView set to true on ListView '{viewCreation.Title}'.");
|
Console.WriteLine($"> Abilitata la visualizzazione su mobile '{viewCreation.Title}'.");
|
||||||
|
|
||||||
|
ctx.Web.RootFolder.WelcomePage = $"Lists/{listTitle}/{listTitle}.aspx";
|
||||||
|
|
||||||
|
ctx.Web.RootFolder.Update();
|
||||||
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
|
Console.WriteLine($"> Impostata come HomePage di '{viewCreation.Title}'");
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"> Qualcosa è andato storto nella creazione della ListView. ( {ex.Message} )");
|
Console.WriteLine($"> Qualcosa è andato storto nella creazione della ListView. ( {ex.Message} )");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Project Page Set Up
|
||||||
|
public static async Task ProjectSubSite(string ssProjectTitle, string projectsYear, ClientContext ctx)
|
||||||
|
{
|
||||||
|
string ssProjectDescription = "TEST AUTOMATION";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Console.WriteLine($"> Il sito {ssProjectTitle} è in fase di creazione!");
|
||||||
|
|
||||||
|
WebCreationInformation wci = new WebCreationInformation();
|
||||||
|
|
||||||
|
wci.Url = ssProjectTitle;
|
||||||
|
wci.Title = ssProjectTitle;
|
||||||
|
wci.Description = ssProjectDescription;
|
||||||
|
wci.UseSamePermissionsAsParentSite = true;
|
||||||
|
wci.WebTemplate = "STS#1";
|
||||||
|
wci.Language = 1040;
|
||||||
|
|
||||||
|
Web web = ctx.Site.RootWeb.Webs.Add(wci);
|
||||||
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
|
Console.WriteLine($"> Il sito {ssProjectTitle} è stato creato con successo!");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine(ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static async Task ProjectListEntry(string ssProjectTitle, string listTitle, string projectsYear, ClientContext ctx)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
List list = ctx.Web.Lists.GetByTitle(listTitle);
|
||||||
|
|
||||||
|
ListItemCreationInformation itemCreateInfo = new ListItemCreationInformation();
|
||||||
|
ListItem oItem = list.AddItem(itemCreateInfo);
|
||||||
|
|
||||||
|
FieldUrlValue link = new FieldUrlValue();
|
||||||
|
link.Url = $"/sites/{projectsYear}/{ssProjectTitle}";
|
||||||
|
link.Description = ssProjectTitle;
|
||||||
|
|
||||||
|
oItem["ID_x0020_Progetto"] = link;
|
||||||
|
oItem["Cliente"] = "PAL";
|
||||||
|
oItem["Causale"] = "02 VENDITA RICAMBI";
|
||||||
|
|
||||||
|
oItem.Update();
|
||||||
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
|
Console.WriteLine($"> La Commessa {ssProjectTitle} è stata aggiunta alla lista {listTitle} con successo!");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine(ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static async Task ProjectDocLib(string ssProjectTitle, ClientContext ctx)
|
||||||
|
{
|
||||||
|
#region DocLib
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string[] docLibName = { $"Commerciale {ssProjectTitle}", $"Documenti {ssProjectTitle}", $"Media {ssProjectTitle}", $"SottoProgetti {ssProjectTitle}" };
|
||||||
|
|
||||||
|
foreach (string libName in docLibName)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"> Inizializzata la fase di creazione '{libName}'.");
|
||||||
|
|
||||||
|
Web web = ctx.Web;
|
||||||
|
ListCreationInformation lci = new ListCreationInformation();
|
||||||
|
|
||||||
|
lci.Title = libName;
|
||||||
|
lci.TemplateType = (int)ListTemplateType.DocumentLibrary;
|
||||||
|
List list = web.Lists.Add(lci);
|
||||||
|
|
||||||
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
|
if (libName == $"SottoProgetti {ssProjectTitle}")
|
||||||
|
{
|
||||||
|
list.ContentTypesEnabled = true;
|
||||||
|
list.AddContentTypeToListByName("Set di documenti");
|
||||||
|
|
||||||
|
list.Update();
|
||||||
|
ctx.ExecuteQuery();
|
||||||
|
}
|
||||||
|
|
||||||
|
var fld = list.Fields.GetByInternalNameOrTitle(libName);
|
||||||
|
if (fld != null)
|
||||||
|
{
|
||||||
|
fld.Required = false;
|
||||||
|
fld.SetShowInDisplayForm(false);
|
||||||
|
fld.SetShowInEditForm(false);
|
||||||
|
fld.SetShowInNewForm(false);
|
||||||
|
|
||||||
|
list.Update();
|
||||||
|
ctx.ExecuteQuery();
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine($"> '{libName}' è stato creato con successo.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"> Qualcosa è andato storto... {ex.Message}");
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Dir
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Dictionary<string, string> folderName = new Dictionary<string, string>
|
||||||
|
{
|
||||||
|
{ "01_Costificazioni", $"Commerciale {ssProjectTitle}" },
|
||||||
|
{ "02_Conferma_Ordine", $"Commerciale {ssProjectTitle}" },
|
||||||
|
{ "03_Amministrazione", $"Commerciale {ssProjectTitle}" },
|
||||||
|
{ "05_Documenti_di_Spedizione", $"Documenti {ssProjectTitle}" },
|
||||||
|
{ "07_Service", $"Documenti {ssProjectTitle}" },
|
||||||
|
{ "08_Specifiche_Tecniche_E_Meeting", $"Documenti {ssProjectTitle}" },
|
||||||
|
{ "10_Fornitori", $"Documenti {ssProjectTitle}" },
|
||||||
|
{ "11_Documenti_Tecnici", $"Documenti {ssProjectTitle}" }
|
||||||
|
};
|
||||||
|
|
||||||
|
foreach (KeyValuePair<string, string> kvp in folderName)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"> Inizializzata la fase di {kvp.Key} in {kvp.Value}.");
|
||||||
|
|
||||||
|
List list = ctx.Web.Lists.GetByTitle(kvp.Value);
|
||||||
|
ListItemCreationInformation info = new ListItemCreationInformation();
|
||||||
|
info.UnderlyingObjectType = FileSystemObjectType.Folder;
|
||||||
|
info.LeafName = kvp.Key;
|
||||||
|
ListItem newItem = list.AddItem(info);
|
||||||
|
newItem["Title"] = kvp.Key;
|
||||||
|
newItem.Update();
|
||||||
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
|
Console.WriteLine($"> {kvp.Key} creato con successo in {kvp.Value}.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"> Qualcosa è andato storto... ( {ex.Message} )");
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
public static async Task ProjectListField(string ssProjectTitle, ClientContext ctx) // Empty Da definire i campi che userà ITS
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string[] listTitle = { $"Commerciale {ssProjectTitle}", $"Documenti {ssProjectTitle}", $"Media {ssProjectTitle}", $"SottoProgetti {ssProjectTitle}" };
|
||||||
|
|
||||||
|
foreach(string title in listTitle)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"> Inizializzata la fase di creazione dei campi in '{title}'.");
|
||||||
|
|
||||||
|
Web web = ctx.Web;
|
||||||
|
List list = web.Lists.GetByTitle(title);
|
||||||
|
List projectsList = web.Lists.GetByTitle(title);
|
||||||
|
|
||||||
|
ctx.Load(list, l => l.Fields);
|
||||||
|
ctx.Load(projectsList, b => b.Id);
|
||||||
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
|
Field lookupField = list.Fields.AddFieldAsXml(@"<Field Type='Text' Name='PAL_Customer' StaticName='PAL_Customer' DisplayName='Cliente' Required='FALSE' />", true, AddFieldOptions.DefaultValue);
|
||||||
|
|
||||||
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
|
Console.WriteLine($"> Completata la fase di creazione dei campi in '{title}'.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"> Qualcosa è andato storto nella creazione delle colonne. ( {ex.Message} )");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static async Task ProjectListView(string ssProjectTitle, ClientContext ctx) // Empty
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region SubProject
|
||||||
|
public static async Task SubProjectDocSet(string ssProjectTitle, string[] ssSubProjectTitle, ClientContext ctx, ClientContext sCtx)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string[] folderName = { "09_Documenti_Tecnici", "12_Disegni_Costruttivi", "13_Manuali", "15_Documentazione_Elettrica", "16_Liste_Ricambi" };
|
||||||
|
|
||||||
|
foreach (string spt in ssSubProjectTitle)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"> Inizializzata la fase di creazione per {spt}.");
|
||||||
|
|
||||||
|
var list = ctx.Web.Lists.GetByTitle($"SottoProgetti {ssProjectTitle}");
|
||||||
|
ctx.Load(list, l => l.RootFolder, l => l.ContentTypes);
|
||||||
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
|
var ctData = list.ContentTypes.Where(c => c.Name == "Set di documenti");
|
||||||
|
var contentType = ctData.FirstOrDefault();
|
||||||
|
ctx.Load(contentType);
|
||||||
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
|
DocumentSet.Create(ctx, list.RootFolder, spt, contentType.Id);
|
||||||
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
|
Console.WriteLine($"> {spt} creato con successo in SottoProgetti {ssProjectTitle}.");
|
||||||
|
|
||||||
|
/*foreach (string f in folderName) Trovare il modo di creare delle cartelle nelle docset
|
||||||
|
{
|
||||||
|
Console.WriteLine($"> La cartella {f} è in fase di creazione in {spt}");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var subList = sCtx.Web.Lists.GetByTitle(spt);
|
||||||
|
|
||||||
|
ListItemCreationInformation info = new ListItemCreationInformation();
|
||||||
|
info.UnderlyingObjectType = FileSystemObjectType.Folder;
|
||||||
|
info.LeafName = f;
|
||||||
|
ListItem newItem = subList.AddItem(info);
|
||||||
|
newItem["Title"] = f;
|
||||||
|
newItem.Update();
|
||||||
|
ctx.ExecuteQuery();
|
||||||
|
|
||||||
|
Console.WriteLine($"> La cartella {f} è stata creata in {spt}");
|
||||||
|
}*/
|
||||||
|
|
||||||
|
Console.WriteLine($"> Il Sotto Progrtto {ssSubProjectTitle} è stato creato con successo.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"> Qualcosa è andato storto... ( {ex.Message} )");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
public class AuthenticationManager : IDisposable
|
public class AuthenticationManager : IDisposable
|
||||||
|
|||||||
Reference in New Issue
Block a user