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);
             }
          }
       }
    }
    

      

  • 相关阅读:
    light_oj 1197 区间素数筛
    light_oj 1213
    light_oj 1220 素数分解
    bestcoder#43 1002 在数组中找两个数的和取模的最大值 二分
    6月7日 bc总结
    省赛总结
    二分图最大点权独立集 二分图最大点权覆盖
    终于能理解kmp算法了
    hduoj2087 统计串t在串s中出现的次数,重叠不算 KMP
    带权二分图的最大权匹配 KM算法模版
  • 原文地址:https://www.cnblogs.com/olay/p/2727020.html
Copyright © 2011-2022 走看看