Naptípus-gyűjtemény kezelése az Aspose.Tasks-ban

Bevezetés

Az Aspose.Tasks for .NET robusztus funkcionalitást biztosít a nap típusú gyűjtemények kezeléséhez, ami kulcsfontosságú a heti naptári kivételek meghatározásához projektmenedzsment alkalmazásokban. Ebben az oktatóanyagban megvizsgáljuk, hogyan használhatjuk aDayTypeCollection osztályt hatékonyan.

Előfeltételek

Mielőtt folytatnánk az oktatóanyagot, győződjön meg arról, hogy rendelkezik a következő előfeltételekkel:

  1. Visual Studio: Győződjön meg arról, hogy a Visual Studio telepítve van a rendszeren.
  2. Aspose.Tasks for .NET: Töltse le és telepítse az Aspose.Tasks for .NET könyvtárat innenitt.
  3. C# alapismeretek: C# programozási nyelv és .NET keretrendszer fogalmak ismerete.

Névterek importálása

A kezdéshez importálnia kell a szükséges névtereket a C# projektbe:

using Aspose.Tasks;
using System;

Most bontsuk fel a megadott példát több lépésre:

1. lépés: Töltse be a projektet és a naptárat

var project = new Project(DataDir + "WeeklyDayTypeException.mpp");
var calendar = project.Calendars.GetByUid(1);

Ez a lépés inicializál egy új projektpéldányt, és lekéri a naptárt az UID alapján.

2. lépés: Ismételje meg a naptári kivételeket

foreach (var calendarException in calendar.Exceptions)
{
    Console.WriteLine("Exception Name: " + calendarException.Name);
    Console.WriteLine("Days of week count: " + calendarException.DaysOfWeek.Count);
    foreach (var dayType in calendarException.DaysOfWeek)
    {
        Console.WriteLine("Day type: " + dayType);
    }
    Console.WriteLine();
}

Itt végigfutjuk az egyes naptárkivételeket, és kinyomtatjuk a nevét és a kapcsolódó naptípusokat.

3. lépés: Módosítsa a naptári kivételeket

var exc1 = calendar.Exceptions.ToList()[0];
if (!exc1.DaysOfWeek.IsReadOnly && exc1.DaysOfWeek.IndexOf(DayType.Monday) < 0)
{
    exc1.DaysOfWeek.Insert(0, DayType.Wednesday);
}

var exc2 = calendar.Exceptions.ToList()[1];
if (exc2.DaysOfWeek.Contains(DayType.Sunday))
{
    exc2.DaysOfWeek.Remove(DayType.Sunday);
}

Console.WriteLine("Remove " + exc2.DaysOfWeek[0] + " day type from exception by index...");
exc2.DaysOfWeek.RemoveAt(0);

Ez a lépés bemutatja, hogyan lehet módosítani a naptári kivételeket naptípusok hozzáadásával, eltávolításával vagy frissítésével.

4. lépés: Új naptári kivételek létrehozása és manipulálása

var exc4 = new CalendarException
{
    Name = "Weekly Exception 2",
    FromDate = new DateTime(2020, 4, 13),
    ToDate = new DateTime(2020, 4, 18),
    Occurrences = 3,
    Type = CalendarExceptionType.Weekly
};
exc4.DaysOfWeek.Add(DayType.Monday);
exc4.DaysOfWeek.Add(DayType.Thursday);

calendar.Exceptions.Add(exc4);

var exc3 = calendar.Exceptions.ToList()[2];

exc3.DaysOfWeek.Clear();

var dayTypes = new DayType[exc4.DaysOfWeek.Count];
exc4.DaysOfWeek.CopyTo(dayTypes, 0);

foreach (var dayType in dayTypes)
{
    exc3.DaysOfWeek.Add(dayType);
}

Console.WriteLine("Days of week for exception: " + exc3.Name);
foreach (var dayType in exc3.DaysOfWeek)
{
    Console.WriteLine("Day type: " + dayType);
}

Ebben az utolsó lépésben új naptárkivételeket hozunk létre, és naptípusok hozzáadásával és másolásával kezeljük őket.

Következtetés

Összefoglalva, a nap típusú gyűjtemények kezelése az Aspose.Tasks for .NET-ben elengedhetetlen a heti naptárkivételek meghatározásához és módosításához a projektmenedzsment alkalmazásokban. Az oktatóanyagban található lépésenkénti útmutató követésével hatékonyan használhatja aDayTypeCollection osztályban a különböző naptárműveletek kezelésére.

GYIK

1. kérdés: Az Aspose.Tasks for .NET használható Gantt-diagramok programozott létrehozására?

  1. válasz: Igen, az Aspose.Tasks for .NET API-kat biztosít Gantt-diagramok létrehozásához és kezeléséhez .NET-alkalmazásokban.

2. kérdés: Az Aspose.Tasks for .NET kompatibilis mind a .NET Core, mind a .NET Framework programmal?

  1. válasz: Igen, az Aspose.Tasks for .NET támogatja a .NET Core-t és a .NET-keretrendszert is.

3. kérdés: Hogyan kaphatok támogatást az Aspose.Tasks for .NET-hez?

A3: Támogatást kaphat, ha felkeresi aAspose.Tasks fórum ahol kérdéseket tehet fel, és kapcsolatba léphet más felhasználókkal.

4. kérdés: Az Aspose.Tasks for .NET ingyenes próbaverziót kínál?

  1. válasz: Igen, letöltheti az Aspose.Tasks ingyenes próbaverzióját a .NET-hezitt.

5. kérdés: Vásárolhatok ideiglenes licencet az Aspose.Tasks for .NET számára?

  1. válasz: Igen, az ideiglenes licencek megvásárolhatók aAspose honlapja.