Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        public ReminderSchedule SetReminderScheduleForPackage(ReminderSchedule reminderSchedule)
        {
            PackageReminderSchedule apiPayload  = new ReminderScheduleConverter(reminderSchedule).ToAPIPackageReminderSchedule();
            PackageReminderSchedule apiResponse = apiClient.SetReminderScheduleForPackage(apiPayload);

            return(new ReminderScheduleConverter(apiResponse).ToSDKReminderSchedule());
        }
Exemplo n.º 3
0
        public ReminderSchedule GetReminderScheduleForPackage(PackageId packageId)
        {
            PackageReminderSchedule apiResponse         = apiClient.GetReminderScheduleForPackage(packageId.Id);
            ReminderSchedule        sdkReminderSchedule = new ReminderScheduleConverter(apiResponse).ToSDKReminderSchedule();

            return(sdkReminderSchedule);
        }
Exemplo n.º 4
0
 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);
     }
 }
Exemplo n.º 5
0
 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);
     }
 }
Exemplo n.º 6
0
 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);
        }
Exemplo n.º 9
0
 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);
     }
 }
Exemplo n.º 10
0
 public PackageReminderSchedule SetReminderScheduleForPackage(PackageReminderSchedule apiPayload)
 {
     return(CreateReminderScheduleForPackage(apiPayload));
 }
Exemplo n.º 11
0
 public ReminderScheduleConverter(ReminderSchedule sdk)
 {
     this.api = null;
     this.sdk = sdk;
 }
Exemplo n.º 12
0
 public ReminderScheduleConverter(PackageReminderSchedule api)
 {
     this.api = api;
     this.sdk = null;
 }