コード例 #1
0
ファイル: Main.xaml.cs プロジェクト: aurimasfgit/Barbora
        private void OnAvailableTimeFound(object sender, AvailableTimeInfo info)
        {
            var text = string.Format(Messages.FoundAvailableTime, info.Day, info.Hour);

            PushMessageToLog(text, JsonConvert.SerializeObject(info));

            DebugUtils.WriteLineToDebugConsole(text);
        }
コード例 #2
0
        private async Task DoWork()
        {
            var jobCompletedWithResults = false;

            try
            {
                // gets deliveries for current address
                var deliveriesResponse = await barboraApiClient.GetDeliveriesAsync();

                foreach (var delivery in deliveriesResponse.deliveries)
                {
                    foreach (var deliveryDay in [email protected])
                    {
                        foreach (var hour in deliveryDay.hours)
                        {
                            if (hour.available)
                            {
                                var info = new AvailableTimeInfo
                                {
                                    DayId = deliveryDay.id,
                                    Day   = deliveryDay.day,

                                    HourId = hour.id,
                                    Hour   = hour.hour,

                                    IsExpressDelivery = deliveryDay.isExpressDelivery,

                                    Price = hour.price
                                };

                                OnAvailableTimeFound?.Invoke(this, info);

                                jobCompletedWithResults = true;
                            }
                        }
                    }
                }

                OnJobCompleted?.Invoke(this, jobCompletedWithResults);
            }
            catch (Exception exc)
            {
                if (OnException != null)
                {
                    OnException.Invoke(this, exc);
                }
                else
                {
                    throw exc;
                }
            }
        }
コード例 #3
0
ファイル: Main.xaml.cs プロジェクト: aurimasfgit/Barbora
        private async Task TryMakeReservation(AvailableTimeInfo info)
        {
            var response = await barboraApiClient.ReserveDeliveryTimeSlotAsync(info.DayId, info.HourId, info.IsExpressDelivery);

            if (response.reservationValidForSeconds != 0)
            {
                PushMessageToLog(string.Format(Messages.ReservationSuccessful, info.Day, info.Hour, response.reservationValidForSeconds / 60));
            }
            else
            {
                PushMessageToLog(response.messages.GetFirstErrorMessage());
            }
        }