public PackageReminderSchedule ToAPIPackageReminderSchedule() { if (api != null) { return api; } else { PackageReminderSchedule result = new PackageReminderSchedule(); if (sdk.PackageId != null) { result.PackageId = sdk.PackageId.Id; } else { result.PackageId = ""; } result.StartInDaysDelay = sdk.DaysUntilFirstReminder; result.IntervalInDays = sdk.DaysBetweenReminders; result.RepetitionsCount = sdk.NumberOfRepetitions; foreach ( Reminder sdkReminder in sdk.Reminders ) { result.Reminders.Add(new ReminderConverter(sdkReminder).ToAPIPackageReminder()); } return result; } }
public PackageReminderSchedule SetReminderScheduleForPackage( PackageReminderSchedule apiPayload ) { try { string response = restClient.Post(Path(apiPayload.PackageId), JsonConvert.SerializeObject (apiPayload, settings)); PackageReminderSchedule apiResponse = JsonConvert.DeserializeObject<PackageReminderSchedule> (response, settings ); return apiResponse; } catch (EslServerException e) { throw new EslServerException ("Failed to set reminder schedule for package with id: " + apiPayload.PackageId + ". Exception: " + e.Message, e.ServerError, e); } catch (Exception e) { throw new EslException ("Failed to set reminder schedule for package with id: " + apiPayload.PackageId + ". Exception: " + e.Message, e); } }
public void ToSDKWithNoIDAndNoReminders() { PackageReminderSchedule api = new PackageReminderSchedule(); api.RepetitionsCount = 5; api.IntervalInDays = 10; api.StartInDaysDelay = 15; ReminderSchedule sdk = new ReminderScheduleConverter(api).ToSDKReminderSchedule(); Assert.IsNotNull(sdk); Assert.IsNull(sdk.PackageId); Assert.AreEqual(5, sdk.NumberOfRepetitions); Assert.AreEqual(10, sdk.DaysBetweenReminders); Assert.AreEqual(15, sdk.DaysUntilFirstReminder); Assert.IsNotNull(sdk.Reminders); Assert.IsEmpty(sdk.Reminders); }
public ReminderScheduleConverter( ReminderSchedule sdk ) { this.api = null; this.sdk = sdk; }
public ReminderScheduleConverter( PackageReminderSchedule api ) { this.api = api; this.sdk = 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); } }