Project Server و Project Online في C# ASP.NET

Project Online و Project Server هما مشروعان غنيان بالميزات وحلول إدارة قوائم المشاريع التي توفرها Microsoft. يقدم كلا الحلين مجموعة متشابهة من الميزات لإنشاء وإدارة المشاريع ، ومع ذلك ، يختلفان بناءً على الحل الذي يتناسب تمامًا مع متطلباتك. على سبيل المثال ، إذا كنت تريد الحل المحلي مع مزيد من التحكم في الأجهزة والبرامج ، فيمكنك اختيار Project Server. من ناحية أخرى ، يعمل Project Online كمثيل قائم على السحابة من Project Server دون الحاجة إلى البنية التحتية الخاصة بك.

قد تكون هناك حالة عندما تحتاج إلى الوصول إلى معلومات المشاريع من Project Server / Online من داخل تطبيقاتك. للتعامل مع مثل هذه الحالات ، في هذه المقالة ، سأوضح لك كيفية إنشاء / قراءة المشاريع على / من Project Server أو Project Online ضمن تطبيقات .NET (ASP.NET ، وما إلى ذلك) أو خدمات الويب باستخدام C# .

C# API لخادم المشروع / عبر الإنترنت

لإنشاء المشاريع الجديدة وقراءة المشاريع الحالية من Project Server / Online ، سنستخدم Aspose.Tasks for .NET. إنها مكتبة فئة متعددة الأنظمة الأساسية لقراءة ملفات MS Project وكتابتها برمجيًا في تطبيقات .NET Standard أو .NET Core. تمت استضافة واجهة برمجة التطبيقات على NuGet بالإضافة إلى توفرها كحزمة MSI ومكتبة DLL مضغوطة في قسم التنزيلات.

العمل مع خادم المشروع

في هذا القسم ، سأوضح لك كيفية الاتصال بخادم Project وقراءة المشاريع أو إنشائها. للاتصال بخادم المشروع ، تحتاج إلى معرفة التفاصيل التالية:

قراءة المشاريع من Project Server في C#

فيما يلي خطوات الاتصال بخادم Project واسترداد قائمة المشاريع منه.

يُظهر نموذج التعليمات البرمجية التالي كيفية قراءة المشاريع من Project Server في 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);
}

إنشاء مشروع على خادم Project في C#

يعد إنشاء مشروع على خادم Project أمرًا بسيطًا مثل الفطيرة. ما عليك سوى الاتصال بخادم Project بنفس الطريقة التي اتبعتها في المثال السابق ، قم بتحميل ملف المشروع (.mpp) باستخدام فئة Project واستدعاء طريقة ProjectServerManager.CreateNewProject().

يُظهر نموذج التعليمات البرمجية التالي كيفية إنشاء مشروع جديد على خادم Project في 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);

العمل مع Project Online

يشبه العمل مع Project Online تمامًا العمل مع Project Server ويختلف فقط في إنشاء الاتصال. للاتصال بـ Project Online ، تحتاج إلى معرفة التفاصيل التالية:

  • URL
  • اسم المستخدم
  • كلمة المرور

قراءة المشاريع من Project Online في C#

فيما يلي خطوات قراءة المشاريع من Project Online:

يُظهر نموذج التعليمات البرمجية التالي كيفية استرداد قائمة المشاريع من 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);

    // يمكن للمستخدم قراءة المشروع على أنه تدفق بيانات خام
    var stream = manager.GetProjectRawData(info.Id);

    // العمل مع بيانات المشروع الأولية
}

إنشاء مشروع على Project Online في C#

فيما يلي خطوات إنشاء مشروع جديد على Project Online:

يُظهر نموذج التعليمات البرمجية التالي كيفية إنشاء مشروع جديد على Project Online في 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);

تعرف على المزيد حول Aspose.Tasks for .NET

يمكنك معرفة المزيد حول إدارة المشروع باستخدام Aspose.Tasks for .NET من التوثيق.