Aspose.Tasks for C++
MonthlyRecurrencePattern.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="MonthlyRecurrencePattern.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include "aspose.tasks.cpp/Recurring/RecurrencePatternBase.h"
9 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
10 
11 namespace Aspose
12 {
13 namespace Tasks
14 {
15 class Calendar;
16 class Duration;
17 class MonthlyRepetitionBase;
18 class RecurrencePatternValidatorBase;
19 namespace Recurring
20 {
21 namespace Calculators
22 {
23 class RecurrenceDateCalculatorBase;
24 } // namespace Calculators
25 } // namespace Recurring
26 } // namespace Tasks
27 } // namespace Aspose
28 
29 namespace Aspose {
30 
31 namespace Tasks {
32 
33 /// <summary>
34 /// Represents the set of parameters are used to create a monthly recurring task in a project.
35 /// </summary>
36 class ASPOSE_TASKS_SHARED_CLASS MonthlyRecurrencePattern : public Aspose::Tasks::RecurrencePatternBase
37 {
40 
41  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
42  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
43 
44 public:
45 
46  /// <summary>
47  /// Gets the recurring repetition pattern.
48  /// </summary>
49  ASPOSE_TASKS_SHARED_API const System::SharedPtr<MonthlyRepetitionBase>& get_Repetition() const;
50  /// <summary>
51  /// Sets the recurring repetition pattern.
52  /// </summary>
53  ASPOSE_TASKS_SHARED_API void set_Repetition(const System::SharedPtr<MonthlyRepetitionBase>& value);
54 
55  /// <summary>
56  /// Initializes a new instance of the <see cref="MonthlyRecurrencePattern"></see> class.
57  /// </summary>
58  // ReSharper disable once EmptyConstructor
59  ASPOSE_TASKS_SHARED_API MonthlyRecurrencePattern();
60 
61 protected:
62 
63  /// <summary>
64  /// Returns a calculator which calculates start/finish dates by appropriate algorithm.
65  /// </summary>
66  /// <param name="calendar">The calendar.</param>
67  /// <param name="duration">The duration between start and finish dates.</param>
68  /// <returns>Returns the instance of the validator.</returns>
69  ASPOSE_TASKS_SHARED_API System::SharedPtr<Recurring::Calculators::RecurrenceDateCalculatorBase> GetCalculatorInternal(System::SharedPtr<Aspose::Tasks::Calendar> calendar, Aspose::Tasks::Duration duration) override;
70  /// <summary>
71  /// Returns a validator which check a date as valid against the recurrence pattern conditions.
72  /// </summary>
73  /// <returns>
74  /// Returns the instance of the validator.
75  /// </returns>
76  ASPOSE_TASKS_SHARED_API System::SharedPtr<RecurrencePatternValidatorBase> GetValidatorInternal(System::SharedPtr<Aspose::Tasks::Calendar> calendar) override;
77  ASPOSE_TASKS_SHARED_API System::SharedPtr<Aspose::Tasks::Calendar> GetCalendarOrDefault(System::SharedPtr<Aspose::Tasks::Calendar> calendar) override;
78  #ifdef ASPOSE_GET_SHARED_MEMBERS
79  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
80  #endif
81 
82 
83 private:
84 
85  System::SharedPtr<MonthlyRepetitionBase> pr_Repetition;
86 
87 };
88 
89 } // namespace Tasks
90 } // namespace Aspose
91 
92 
Represents duration in a project.
Definition: Duration.h:161
Represents the set of parameters are used to create a monthly recurring task in a project.
Definition: MonthlyRecurrencePattern.h:37
MonthlyRecurrencePattern()
Initializes a new instance of the MonthlyRecurrencePattern class.
void set_Repetition(const System::SharedPtr< MonthlyRepetitionBase > &value)
Sets the recurring repetition pattern.
const System::SharedPtr< MonthlyRepetitionBase > & get_Repetition() const
Gets the recurring repetition pattern.
Represents the base class of recurrence pattern.
Definition: RecurrencePatternBase.h:40
Definition: Asn.h:13