Bonjour,
Encore un post de synapsjérémy ^^.
Comme je galére pas mal et si cela peux aider je post mes codes et écoute vos remarques pour améliorer le code.
Le but de cette WP est de générer automatiquement une arbo de dossier pour l'ensemble de mes clients.
Voila ce que j'ai fait (pour le moment je n'ai pas défini les subfolder mais le principe est le même.)
Code Behind
Code Visual
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 public partial class VisualWebPart1UserControl : UserControl { protected void Page_Load(object sender, EventArgs e) { } public int Retourner_Num_Client(string nomclient) { int numclient = 0; SPWeb home = SPContext.Current.Web; SPList clientsSPList = home.Lists["Clients"]; foreach (SPListItem clients in clientsSPList.Items) { if (clients["Raison social"].ToString() == nomclient) { numclient = Convert.ToInt32(clients["Numéro client"].ToString()); } } return numclient; } public void CreerDossierClients() { SPWeb web = SPContext.Current.Web; SPSite site; SPDocumentLibrary library = (SPDocumentLibrary)web.Lists["Docs_Clients"]; SPList clientsSPList = web.Lists["Clients"]; string numclient; string doc_clientsurl = "http://srvintra/Docs_Clients/"; web.AllowUnsafeUpdates = true; using (site = new SPSite(doc_clientsurl)) { foreach (SPListItem clients in clientsSPList.Items) { numclient = Retourner_Num_Client(clients["Raison social"].ToString()).ToString(); web.Folders.Add(doc_clientsurl + numclient); library.Update(); } } } protected void Click_BtnCreerDossier(object sender, EventArgs e) { CreerDossierClients(); } }
J'aimerais bien avoir une barre d'avancement ou un etat de vérification puis récapitulatif des fichier à créer avant la création afin d'avoir un controle et pas tout casser.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %> <%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %> <%@ Import Namespace="Microsoft.SharePoint" %> <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="WPSynAdmin.VisualWebPart1.VisualWebPart1UserControl" %> <asp:Button ID="BtnCreerDossier" runat="server" Text="Génération Dossiers Clients" OnClick=Click_BtnCreerDossier/>
L'etape d'aprés est l'ajout de droit sur ces dossiers. Si quelqu'un à une idée.
La liste Doc_Clients n'hérite pas des droits du site bien entendu
jérémy
Partager