public PackageReminderSchedule AddReminder(PackageReminder value)
 {
     if (value == null)
     {
         throw new ArgumentNullException("Argument cannot be null");
     }
     
     _reminders.Add(value);
     return this;
 }
Exemple #2
0
        public PackageReminderSchedule AddReminder(PackageReminder value)
        {
            if (value == null)
            {
                throw new ArgumentNullException("Argument cannot be null");
            }

            _reminders.Add(value);
            return(this);
        }
		public void ToSDKWithNullSentDate()
		{
			DateTime date = DateTime.Now;
			PackageReminder api = new PackageReminder();
			api.Date = date;
			api.SentDate = null;
			Reminder sdk = new ReminderConverter(api).ToSDKReminder();

			Assert.IsNotNull(sdk);
			Assert.AreEqual(date, sdk.Date);
			Assert.IsNull(sdk.SentDate);
		}
		public void ToSDK()
		{
			DateTime date = DateTime.Now;
			DateTime sentDate = DateTime.Now.AddMonths(1);
			PackageReminder api = new PackageReminder();
			api.Date = date;
			api.SentDate = sentDate;
			Reminder sdk = new ReminderConverter(api).ToSDKReminder();

			Assert.IsNotNull(sdk);
			Assert.AreEqual(date, sdk.Date);
			Assert.AreEqual(sentDate, sdk.SentDate);
		}
		public PackageReminder ToAPIPackageReminder()
		{
			if (apiReminder != null)
			{
				return apiReminder;
			}
			else
			{
				PackageReminder result = new PackageReminder();
				result.Date = sdkReminder.Date;
				result.SentDate = sdkReminder.SentDate;

				return result;
			}
		}
		public ReminderConverter( Reminder sdkReminder )
		{
			this.sdkReminder = sdkReminder;
			this.apiReminder = null;
		}
		public ReminderConverter( PackageReminder apiReminder )
        {
			this.apiReminder = apiReminder;
			this.sdkReminder = null;
        }
		public void ToSDK()
		{
			PackageReminderSchedule api = new PackageReminderSchedule();
			api.PackageId = "bob";
			api.RepetitionsCount = 5;
			api.IntervalInDays = 10;
			api.StartInDaysDelay = 15;

			PackageReminder reminder1 = new PackageReminder();
			reminder1.Date = reminder1.SentDate = DateTime.Now;
			api.Reminders.Add(reminder1);
			PackageReminder reminder2 = new PackageReminder();
			reminder2.Date = reminder2.SentDate = DateTime.Now.AddDays(1);
			api.Reminders.Add(reminder2);
			PackageReminder reminder3 = new PackageReminder();
			reminder3.Date = reminder3.SentDate = DateTime.Now.AddDays(2);
			api.Reminders.Add(reminder3);

			ReminderSchedule sdk = new ReminderScheduleConverter(api).ToSDKReminderSchedule();

			Assert.IsNotNull(sdk);
			Assert.IsNotNull(sdk.PackageId);
			Assert.AreEqual("bob",sdk.PackageId.Id);
			Assert.AreEqual(5, sdk.NumberOfRepetitions);
			Assert.AreEqual(10, sdk.DaysBetweenReminders);
			Assert.AreEqual(15, sdk.DaysUntilFirstReminder);
			Assert.IsNotNull(sdk.Reminders);
			Assert.AreEqual(3, sdk.Reminders.Count);

			foreach (PackageReminder packageReminder in api.Reminders)
			{
				Reminder sdkReminder = null;

				foreach (Reminder reminder in sdk.Reminders)
				{
					if (packageReminder.Date.Equals(reminder.Date) && packageReminder.SentDate.Equals(reminder.SentDate))
					{
						sdkReminder = reminder;
					}
				}

				Assert.IsNotNull(sdkReminder);
			}
		}