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

Aspose.Tasks for .NET هي واجهة برمجة تطبيقات غنية بالميزات تتيح لك إنشاء ملفات MS Project (.mpp / .xml) برمجيًا باستخدام C# أو VB.NET. بالإضافة إلى ذلك ، فإنه يوفر ميزات متنوعة للعمل مع المهام والموارد والتقويمات. في هذه المقالة ، سأوضح لك كيفية استخدام Aspose.Tasks for .NET لإنشاء ملفات MS Project والعمل مع المهام والموارد باستخدام C#. يتم تقسيم بقية المقال إلى الأقسام التالية.

إنشاء ملفات مشروع MS باستخدام C#

MPP هو تنسيق ملف خاص بـ Microsoft يُستخدم لملفات MS Project. ومع ذلك ، يمكنك أيضًا الاحتفاظ ببيانات المشروع في ملفات XML لمشاركتها بين التطبيقات المختلفة. يعد إنشاء مشروع جديد من البداية مهمة بسيطة ويمكن القيام بها باستخدام الخطوات التالية:

توضح نماذج التعليمات البرمجية التالية كيفية إنشاء ملفات MS Project باستخدام C#.

حفظ ملفات مشروع MS باسم MPP

// أنشئ مشروعًا جديدًا
Project project = new Project();

// احفظه كملف .mpp
project.Save("New Project.mpp", SaveFileFormat.MPP);

احفظ ملفات مشروع MS بصيغة XML

// أنشئ مشروعًا جديدًا
Project project = new Project();

// احفظه كملف .xml
project.Save("EmptyProjectSaveXML_out.xml", SaveFileFormat.XML);

إضافة مهام إلى ملفات مشروع MS باستخدام C#

ملف MS Project الفارغ عديم الفائدة بدون مهام وموارد. لذلك دعونا نرى كيفية إنشاء المهام وإضافتها إلى المشروع. يمكن أن تكون المهمة مهمة واحدة أو مهمة موجزة تحتوي على مجموعة من المهام الفرعية فيها. فيما يلي خطوات إضافة مهام إلى ملف MS Project.

  • إنشاء وتهيئة كائن مشروع.
  • أضف مهمة موجزة جديدة إلى مجموعة المهام الخاصة بالمشروع باستخدام أسلوب Project.RootTask.Children.Add(string).
  • أضف مهمة فرعية إلى المهمة الموجزة باستخدام طريقة Task.Children.Add(string).
  • احفظ المشروع باستخدام طريقة Project.Save().

يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء المهام وإضافتها إلى ملفات MS Project باستخدام C#.

// أنشئ مشروعًا جديدًا
Project project = new Project();

// إضافة مهمة ومهمة فرعية
Task task = project.RootTask.Children.Add("Summary1");
Task subtask = task.Children.Add("Subtask1");

// احفظ الملف
project.Save("CreateTasks_out.xml", SaveFileFormat.XML);

يوضح نموذج التعليمات البرمجية التالي كيفية تعيين خصائص مختلفة للمهام مثل المدة وتاريخ / وقت البدء وما إلى ذلك.

// أنشئ مشروعًا
Project project = new Project();

// إضافة مهمة وتعيين خصائص المهمة
Task task = project.RootTask.Children.Add("Task1");
task.Set(Tsk.Start, project.RootTask.Get(Tsk.Start).AddDays(1));
task.Set(Tsk.Name, "new name");

إضافة موارد إلى ملفات مشروع MS باستخدام C#

الموارد هي الكيانات التي من المفترض أن تؤدي المهام في المشروع. ومن ثم ، لن يكون المشروع ممكناً بدون الموارد اللازمة للعمل عليه. لذلك دعونا نتحقق من كيفية إنشاء الموارد وإضافتها إلى المشروع. فيما يلي خطوات إضافة موارد إلى ملف MS Project.

  • قم بإنشاء مشروع جديد باستخدام فئة مشروع.
  • قم بإضافة مورد جديد إلى مجموعة الموارد الخاصة بالمشروع باستخدام أسلوب Project.Resources.Add(string).
  • احفظ المشروع باستخدام طريقة Project.Save().

يُظهر نموذج التعليمات البرمجية التالي كيفية إضافة موارد إلى ملف MS Project باستخدام C#.

// أنشئ مشروعًا
Project project = new Project();

// أضف الموارد
Resource resource = project.Resources.Add("Rsc");

// احفظ المشروع
project.Save("CreateResources_out.xml", SaveFileFormat.XML);

يعيّن نموذج التعليمات البرمجية التالي خصائص مورد مثل تاريخ / وقت البدء والنوع وما إلى ذلك.

// أنشئ مشروعًا
Project project = new Project();

// أضف الموارد
Resource resource = project.Resources.Add("Rsc");

// احفظ المشروع
project.Save("CreateResources_out.xml", SaveFileFormat.XML);

تعيين المهام لمورد في مشروع باستخدام C#

بمجرد الانتهاء من إضافة المهام والموارد في المشروع ، يمكنك تحديد المهمة التي سيتم تنفيذها بواسطة المورد. وبالتالي ، ستقوم بتعيين المهمة (المهام) لكل مورد. فيما يلي خطوات تعيين المهام إلى الموارد الموجودة في المشروع.

  • قم بإنشاء أو تحميل مشروع باستخدام فئة مشروع.
  • أضف موارد جديدة إلى المشروع وقم بتعيين خصائصها مثل تنسيق التاريخ وتاريخ البدء وما إلى ذلك.
  • إضافة مهام جديدة إلى المشروع وتعيين خصائصها مثل تاريخ / وقت البدء والمدة وما إلى ذلك.
  • تنفيذ تعيين المهام عن طريق إضافة المهمة والمورد الخاص بها إلى مجموعة Project.ResourceAssignments.
  • احفظ المشروع باستخدام طريقة Project.Save().

ما يلي هو نموذج التعليمات البرمجية الكامل لكيفية إنشاء المهام وتعيينها إلى الموارد في ملف MS Project.

// أنشئ مشروعًا
Project project = new Project("New Project.mpp")
{
    CalculationMode = CalculationMode.Automatic
};

// تعيين الخصائص
project.Set(Prj.DateFormat, DateFormat.DateDddMmDdYy);
project.Set(Prj.StartDate, new DateTime(2019, 9, 16, 9, 0, 0));
project.Set(Prj.NewTasksAreManual, false);
project.Set(Prj.ActualsInSync, false);

// أضف الموارد
Resource workResource = project.Resources.Add("Servente (Work)");
workResource.Set(Rsc.Name, "Servente (Work)");
workResource.Set(Rsc.Initials, "S");
workResource.Set(Rsc.Type, ResourceType.Work);
workResource.Set(Rsc.StandardRateFormat, RateFormatType.Hour);
workResource.Set(Rsc.Code, "1503");

Resource materialResource = project.Resources.Add("Tijolo (Material)");
materialResource.Set(Rsc.Name, "Tijolo (Material)");
materialResource.Set(Rsc.Initials, "T");
materialResource.Set(Rsc.Type, ResourceType.Material);
materialResource.Set(Rsc.StandardRateFormat, RateFormatType.MaterialResourceRate);
materialResource.Set(Rsc.Code, "21341");

// أضف المهام
Task task1 = project.RootTask.Children.Add("Task - 01");
task1.Set(Tsk.IsRollup, new NullableBool(true));
task1.Set(Tsk.IsPublished, new NullableBool(false));
Task task2 = task1.Children.Add("Task - 01.01");
task2.Set(Tsk.IsRollup, new NullableBool(true));
task2.Set(Tsk.IsPublished, new NullableBool(false));
Task task3 = task2.Children.Add("Task - 01.01.001");
task3.Set(Tsk.IsEstimated, new NullableBool(false));
task3.Set(Tsk.Start, new DateTime(2019, 9, 16, 9, 0, 0));
task3.Set(Tsk.Duration, project.GetDuration(10, TimeUnitType.Day));
task3.Set(Tsk.Work, project.GetDuration(10, TimeUnitType.Day));
task3.Set(Tsk.IsRollup, new NullableBool(true));
task3.Set(Tsk.IsPublished, new NullableBool(false));

// اسناد المهمات
ResourceAssignment assignment1 = project.ResourceAssignments.Add(task3, materialResource);
assignment1.Set(Asn.Delay, project.GetDuration(40, TimeUnitType.Hour));
assignment1.Set(Asn.Start, new DateTime(2019, 9, 23, 9, 0, 0));
assignment1.Set(Asn.Finish, new DateTime(2019, 9, 27, 18, 0, 0));
ResourceAssignment assignment2 = project.ResourceAssignments.Add(task3, workResource);
assignment2.Set(Asn.Work, project.GetDuration(56, TimeUnitType.Hour));
assignment2.Set(Asn.Start, new DateTime(2019, 9, 16, 9, 0, 0));
assignment2.Set(Asn.Finish, new DateTime(2019, 9, 24, 18, 0, 0));

// لمطابقة MPP المتوقعة تمامًا
assignment2.Set(Asn.WorkContour, WorkContourType.Contoured);
task3.Set(Tsk.IsManual, new NullableBool(true));
task1.Set(Tsk.IsManual, new NullableBool(true));

// احفظ المشروع
project.Save("Assignment_Dates.mpp", SaveFileFormat.MPP);

أضف التقويم إلى مشروع باستخدام C#

تعد التقويمات أيضًا أحد الكيانات الرئيسية للمشاريع التي يتم استخدامها لتحديد الجدول الزمني للمشروع. يجعل التقويم من الممكن لمديري المشروع إنشاء جدول زمني لمشروع. فيما يلي خطوات إضافة تقويم إلى مشروع.

  • قم بإنشاء أو تحميل مشروع باستخدام فئة مشروع.
  • أضف [تقويم] جديد 18 إلى مجموعة Project.Calendars.
  • قم بإنشاء الجدول الزمني باستخدام كائن التقويم.
  • احفظ المشروع.

يُظهر نموذج التعليمات البرمجية التالي كيفية إضافة تقويم إلى مشروع باستخدام C#.

// قم بإنشاء مثيل المشروع
Project project = new Project();

// تحديد التقويم
Calendar cal = project.Calendars.Add("Calendar1");

// أضف أيام العمل من الاثنين إلى الخميس بالتوقيت الافتراضي
cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday));
cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday));
cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday));
cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Thursday));
cal.WeekDays.Add(new WeekDay(DayType.Saturday));
cal.WeekDays.Add(new WeekDay(DayType.Sunday));

// تعيين يوم الجمعة على أنه يوم عمل قصير
WeekDay myWeekDay = new WeekDay(DayType.Friday);

// يحدد وقت العمل. جزء الوقت فقط من DateTime مهم
WorkingTime wt1 = new WorkingTime();
wt1.FromTime = new DateTime(1, 1, 1, 9, 0, 0, 0);
wt1.ToTime = new DateTime(1, 1, 1, 12, 0, 0, 0);
WorkingTime wt2 = new WorkingTime();
wt2.FromTime = new DateTime(1, 1, 1, 13, 0, 0, 0);
wt2.ToTime = new DateTime(1, 1, 1, 16, 0, 0, 0);
myWeekDay.WorkingTimes.Add(wt1);
myWeekDay.WorkingTimes.Add(wt2);
myWeekDay.DayWorking = true;
cal.WeekDays.Add(myWeekDay);

// احفظ المشروع
project.Save("Project_DefineCalendarWeekdays_out.xml", SaveFileFormat.XML);

تنزيل أو تثبيت

يمكنك تنزيل Aspose.Tasks لـ .NET DLL أو تثبيته في مشروعك باستخدام NuGet.

جرب Aspose.Tasks for .NET مجانًا

تقدم Aspose ترخيصًا مؤقتًا مجانيًا لتجربة منتجاتها دون قيود تجريبية. يمكنك الحصول على واحد من هنا.

أنظر أيضا