zoukankan      html  css  js  c++  java
  • 如何在ProjectServer用代码修改用户属性?

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Net;
    using System.Windows.Forms;
    using System.Web.Services.Protocols;
    using PSLibrary = Microsoft.Office.Project.Server.Library;
    
    namespace Microsoft.Office.Project.Samples.UpdateResources
    {
       class Program
       {
           static void Main(string[] args)
          { 
             const string PROJECT_SERVER_URI    = "http://ServerName/ProjectServerName/";
             const string RESOURCE_SERVICE_PATH = "_vti_bin/psi/resource.asmx";
             
             try
             {
                // Set up the resource object and dataset
                ResourceWebSvc.Resource resourceSvc = new ResourceWebSvc.Resource();
                ResourceWebSvc.ResourceDataSet resourceDs = new ResourceWebSvc.ResourceDataSet();            
                resourceSvc.Url = PROJECT_SERVER_URI + RESOURCE_SERVICE_PATH;
                resourceSvc.Credentials = CredentialCache.DefaultCredentials;
    
                // Read read all the resources
                resourceDs = resourceSvc.ReadResources(string.Empty, false);
    
                // Check out the first resource for updating.
                //  - This assumes the resource is checked in.
                //  - An error occurs if the resource is already checked out.
                resourceSvc.CheckOutResources(new Guid[] { resourceDs.Resources[0].RES_UID });
    
                // Update the resource name of the first row.
                Console.WriteLine ("Modifying resource " + resourceDs.Resources[0].RES_ID + " (" + resourceDs.Resources[0].RES_NAME + ")");
                resourceDs.Resources[0].RES_NAME += " Modified at: " + DateTime.Now.ToShortTimeString();
    
                // Send the update to the server and automatically check in the changed row
                resourceSvc.UpdateResources(resourceDs, false, true);
             }
             catch (System.Web.Services.Protocols.SoapException ex)
             {
                string errMess = "";
                PSLibrary.PSClientError error = new PSLibrary.PSClientError(ex);
                PSLibrary.PSErrorInfo[] errors = error.GetAllErrors();
    
                for (int j = 0; j < errors.Length; j++)
                   errMess = errMess + errors[j].ErrId.ToString() + "\n";
                errMess = errMess + "\n" + ex.Message.ToString();
    
                MessageBox.Show(errMess, "Error", MessageBoxButtons.OK,
                   MessageBoxIcon.Error);
             }
             catch (WebException ex)
             {
                string message = ex.Message.ToString() +
                   "\n\nLog on, or check the Project Server Queuing Service";
                MessageBox.Show(message, "Project Creation Error",
                   MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
             catch (Exception ex)
             {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK,
             MessageBoxIcon.Error);
             }
          }
       }
    }
    

      

  • 相关阅读:
    BZOJ 2006: [NOI2010]超级钢琴 [ST表+堆 | 主席树]
    CF 741D. Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths [dsu on tree 类似点分治]
    CF 716E. Digit Tree [点分治]
    CF 291E. Tree-String Problem [dfs kmp trie图优化]
    CF 208E. Blood Cousins [dsu on tree 倍增]
    CF 246E. Blood Cousins Return [dsu on tree STL]
    CF 570D. Tree Requests [dsu on tree]
    [dsu on tree]【学习笔记】
    测试markdown
    BZOJ 1969: [Ahoi2005]LANE 航线规划 [树链剖分 时间倒流]
  • 原文地址:https://www.cnblogs.com/olay/p/2727020.html
Copyright © 2011-2022 走看看