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 ReminderSchedule SetReminderScheduleForPackage(ReminderSchedule reminderSchedule) { PackageReminderSchedule apiPayload = new ReminderScheduleConverter(reminderSchedule).ToAPIPackageReminderSchedule(); PackageReminderSchedule apiResponse = apiClient.SetReminderScheduleForPackage(apiPayload); return(new ReminderScheduleConverter(apiResponse).ToSDKReminderSchedule()); }
public ReminderSchedule GetReminderScheduleForPackage(PackageId packageId) { PackageReminderSchedule apiResponse = apiClient.GetReminderScheduleForPackage(packageId.Id); ReminderSchedule sdkReminderSchedule = new ReminderScheduleConverter(apiResponse).ToSDKReminderSchedule(); return(sdkReminderSchedule); }
public ReminderSchedule SetReminderScheduleForPackage(ReminderSchedule reminderSchedule) { try { PackageReminderSchedule apiPayload = new ReminderScheduleConverter(reminderSchedule).ToAPIPackageReminderSchedule(); string payload = JsonConvert.SerializeObject(apiPayload, settings); string response = restClient.Post(Path(reminderSchedule.PackageId), payload); PackageReminderSchedule apiResponse = JsonConvert.DeserializeObject <PackageReminderSchedule> (response, settings); return(new ReminderScheduleConverter(apiResponse).ToSDKReminderSchedule()); } catch (Exception e) { throw new EslException("Failed to set reminder schedule for package with id: " + reminderSchedule.PackageId.Id + ". Exception: " + e.Message); } }
public PackageReminderSchedule UpdateReminderScheduleForPackage(PackageReminderSchedule apiPayload) { try { string response = restClient.Put(Path(apiPayload.PackageId), JsonConvert.SerializeObject(apiPayload, settings)); PackageReminderSchedule apiResponse = JsonConvert.DeserializeObject <PackageReminderSchedule> (response, settings); return(apiResponse); } catch (OssServerException e) { throw new OssServerException("Failed to update reminder schedule for package with id: " + apiPayload.PackageId + ". Exception: " + e.Message, e.ServerError, e); } catch (Exception e) { throw new OssException("Failed to update reminder schedule for package with id: " + apiPayload.PackageId + ". Exception: " + e.Message, e); } }
public ReminderSchedule GetReminderScheduleForPackage(PackageId packageId) { try { string response = restClient.Get(Path(packageId)); if (response.Length == 0) { return(null); } PackageReminderSchedule apiResponse = JsonConvert.DeserializeObject <PackageReminderSchedule> (response, settings); return(new ReminderScheduleConverter(apiResponse).ToSDKReminderSchedule()); } catch (Exception e) { throw new EslException("Failed to retrieve reminder schedule for package with id: " + packageId.Id + ". Exception: " + e.Message); } }
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); } }
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 PackageReminderSchedule GetReminderScheduleForPackage(string packageId) { try { string response = restClient.Get(Path(packageId)); if (response.Length == 0) { return(null); } PackageReminderSchedule apiResponse = JsonConvert.DeserializeObject <PackageReminderSchedule> (response, settings); return(apiResponse); } catch (OssServerException e) { throw new OssServerException("Failed to retrieve reminder schedule for package with id: " + packageId + ". Exception: " + e.Message, e.ServerError, e); } catch (Exception e) { throw new OssException("Failed to retrieve reminder schedule for package with id: " + packageId + ". Exception: " + e.Message, e); } }
public PackageReminderSchedule SetReminderScheduleForPackage(PackageReminderSchedule apiPayload) { return(CreateReminderScheduleForPackage(apiPayload)); }
public ReminderScheduleConverter(ReminderSchedule sdk) { this.api = null; this.sdk = sdk; }
public ReminderScheduleConverter(PackageReminderSchedule api) { this.api = api; this.sdk = null; }