Zarządzanie kolekcją typów dni w Aspose.Tasks

Wstęp

Aspose.Tasks dla .NET zapewnia solidną funkcjonalność do zarządzania kolekcjami typów dni, kluczową dla definiowania wyjątków kalendarza tygodniowego w aplikacjach do zarządzania projektami. W tym samouczku dowiemy się, jak wykorzystać plikDayTypeCollection klasę efektywnie.

Warunki wstępne

Zanim przejdziemy do samouczka, upewnij się, że spełniasz następujące wymagania wstępne:

  1. Visual Studio: Upewnij się, że masz zainstalowany program Visual Studio w swoim systemie.
  2. Aspose.Tasks dla .NET: Pobierz i zainstaluj bibliotekę Aspose.Tasks dla .NET zTutaj.
  3. Podstawowa znajomość języka C#: Znajomość języka programowania C# i koncepcji frameworku .NET.

Importuj przestrzenie nazw

Aby rozpocząć, musisz zaimportować niezbędne przestrzenie nazw do swojego projektu C#:

using Aspose.Tasks;
using System;

Podzielmy teraz podany przykład na kilka kroków:

Krok 1: Załaduj projekt i uzyskaj dostęp do kalendarza

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

Ten krok inicjuje nową instancję projektu i pobiera kalendarz według jego UID.

Krok 2: Iteruj po wyjątkach kalendarza

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

Tutaj przeglądamy każdy wyjątek kalendarza i drukujemy jego nazwę i powiązane typy dni.

Krok 3: Zmodyfikuj wyjątki kalendarza

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

W tym kroku pokazano, jak modyfikować wyjątki kalendarza, dodając, usuwając lub aktualizując typy dni.

Krok 4: Utwórz i manipuluj nowymi wyjątkami kalendarza

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

W tym ostatnim kroku tworzymy nowe wyjątki kalendarza i manipulujemy nimi, dodając i kopiując typy dni.

Wniosek

Podsumowując, zarządzanie kolekcjami typów dni w Aspose.Tasks dla .NET jest niezbędne do definiowania i modyfikowania wyjątków kalendarza tygodniowego w aplikacjach do zarządzania projektami. Postępując zgodnie ze szczegółowym przewodnikiem zawartym w tym samouczku, możesz efektywnie wykorzystaćDayTypeCollection klasa do obsługi różnych operacji na kalendarzu.

Często zadawane pytania

P1: Czy można używać programu Aspose.Tasks for .NET do programowego tworzenia wykresów Gantta?

O1: Tak, Aspose.Tasks dla .NET udostępnia interfejsy API do tworzenia i manipulowania wykresami Gantta w aplikacjach .NET.

P2: Czy Aspose.Tasks dla .NET jest kompatybilny zarówno z .NET Core, jak i .NET Framework?

O2: Tak, Aspose.Tasks dla .NET obsługuje zarówno .NET Core, jak i .NET Framework.

P3: Jak mogę uzyskać wsparcie dla Aspose.Tasks dla .NET?

Odpowiedź 3: Możesz uzyskać wsparcie odwiedzając stronęForum Aspose.Tasks gdzie możesz zadawać pytania i kontaktować się z innymi użytkownikami.

P4: Czy Aspose.Tasks dla .NET oferuje bezpłatną wersję próbną?

A4: Tak, możesz uzyskać bezpłatną wersję próbną Aspose.Tasks dla .NET odTutaj.

P5: Czy mogę kupić tymczasową licencję na Aspose.Tasks dla .NET?

Odpowiedź 5: Tak, licencje tymczasowe można kupić w witrynieStrona Aspose.