Project Server dan Project Online di C# ASP.NET

Project Online dan Project Server adalah proyek kaya fitur dan solusi manajemen portofolio yang disediakan oleh Microsoft. Kedua solusi tersebut menawarkan fitur yang hampir serupa untuk membuat dan mengelola proyek, namun keduanya berbeda berdasarkan solusi mana yang sesuai dengan kebutuhan Anda. Misalnya, jika Anda menginginkan solusi lokal dengan kontrol lebih besar atas perangkat keras dan perangkat lunak, maka Anda dapat memilih Project Server. Di sisi lain, Project Online berfungsi sebagai instans Project Server berbasis cloud tanpa memerlukan infrastruktur Anda sendiri.

Mungkin ada kasus ketika perlu mengakses informasi proyek dari Project Server/Online dari dalam aplikasi Anda. Untuk menangani kasus seperti itu, dalam artikel ini, saya akan menunjukkan cara membuat/membaca proyek di/dari Project Server atau Project Online dalam aplikasi .NET (ASP.NET, dll.) atau layanan web menggunakan C# .

C# API untuk Server Proyek/Online

Untuk membuat proyek baru dan membaca yang sudah ada dari Project Server/Online, kami akan menggunakan Aspose.Tasks for .NET. Ini adalah pustaka kelas lintas platform untuk membaca dan menulis file MS Project secara terprogram dalam aplikasi .NET Standard atau .NET Core. API dihosting di NuGet serta tersedia sebagai paket MSI dan zip DLL di bagian Unduhan.

Bekerja dengan Server Proyek

Di bagian ini, saya akan menunjukkan kepada Anda cara terhubung ke Server Proyek dan membaca atau membuat proyek. Untuk terhubung ke Project Server, Anda perlu mengetahui detail berikut:

Baca Proyek dari Project Server di C#

Berikut ini adalah langkah-langkah untuk terhubung ke Project Server dan mengambil daftar proyek darinya.

Contoh kode berikut menunjukkan cara membaca proyek dari Project Server di C#.

string url = "https://contoso.sharepoint.com";
string domain = "CONTOSO.COM";
string userName = "Administrator";
string password = "MyPassword";

NetworkCredential windowsCredentials = new NetworkCredential(userName, password, domain);
ProjectServerCredentials projectServerCredentials = new ProjectServerCredentials(url, windowsCredentials);
ProjectServerManager manager = new ProjectServerManager(projectServerCredentials);

var list = manager.GetProjectList();
foreach (var projectInfo in list)
{
    Console.WriteLine("{0} - {1} - {2}", projectInfo.Id, projectInfo.CreatedDate, projectInfo.Name);
}

Buat Proyek di Server Proyek di C#

Membuat proyek di Project Server sangat sederhana. Cukup sambungkan ke Project Server dengan cara yang sama seperti yang Anda lakukan pada contoh sebelumnya, muat file proyek (.mpp) menggunakan kelas Project dan panggil metode ProjectServerManager.CreateNewProject().

Contoh kode berikut menunjukkan cara membuat proyek baru di Project Server di C#.

Project project = new Project("New Project.mpp");
NetworkCredential windowsCredentials = new NetworkCredential("Administrator", "MyPassword", "CONTOSO.COM");
ProjectServerCredentials projectServerCredentials = new ProjectServerCredentials("https://contoso.sharepoint.com", windowsCredentials);
ProjectServerManager manager = new ProjectServerManager(projectServerCredentials);
manager.CreateNewProject(project);

Bekerja dengan Proyek Online

Bekerja dengan Project Online sangat mirip dengan bekerja dengan Project Server dan hanya berbeda dalam membuat koneksi. Untuk terhubung ke Project Online, Anda perlu mengetahui detail berikut:

  • URL
  • Nama belakang
  • Kata sandi

Baca Proyek dari Project Online di C#

Berikut langkah-langkah untuk membaca project dari Project Online:

Contoh kode berikut menunjukkan cara mengambil daftar proyek dari Project Online.

const string SharepointDomainAddress = "https://contoso.sharepoint.com";
const string UserName = "admin@contoso.onmicrosoft.com";
const string Password = "MyPassword";

ProjectServerCredentials credentials = new ProjectServerCredentials(SharepointDomainAddress, UserName, Password);
ProjectServerManager manager = new ProjectServerManager(credentials);
IEnumerable<ProjectInfo> list = manager.GetProjectList();

foreach (var info in list)
{
    Project project = manager.GetProject(info.Id);
    Console.WriteLine("{0} - {1} - {2}", info.Name, info.CreatedDate, info.LastSavedDate);
    Console.WriteLine("Resources count: {0}", project.Resources.Count);

    // pengguna dapat membaca proyek sebagai aliran data mentah
    var stream = manager.GetProjectRawData(info.Id);

    // bekerja dengan data proyek mentah
}

Buat Proyek di Project Online di C#

Berikut langkah-langkah membuat project baru di Project Online:

Contoh kode berikut menunjukkan cara membuat proyek baru di Project Online di C#.

string sharepointDomainAddress = "https://contoso.sharepoint.com";
string userName = "admin@contoso.onmicrosoft.com";
string password = "MyPassword";

ProjectServerCredentials credentials = new ProjectServerCredentials(sharepointDomainAddress, userName, password);

Project project = new Project("New Project.mpp");

ProjectServerManager manager = new ProjectServerManager(credentials);
manager.CreateNewProject(project);

Pelajari selengkapnya tentang Aspose.Tasks for .NET

Anda dapat mempelajari lebih lanjut tentang manajemen proyek menggunakan Aspose.Tasks for .NET dari dokumentasi.