예제 #1
0
 public void RefreshDeliveries()
 {
     using (var deliveryService = SADFactory.GetDeliveryService())
     {
         Deliveries = deliveryService.RefreshAll();
     }
 }
예제 #2
0
 private void LoadAllDeliveries()
 {
     using (var _service = SADFactory.GetDeliveryService())
     {
         _deliveries = _service.GetAll();
     }
 }
예제 #3
0
        /// need to check this for dispose call
        //public async Task RunPendingActivitiesJob(CancellationToken token)
        //{
        //    await Task.Run(async () =>
        //    {
        //        var pendingActivities = _dbHandler.GetAll();

        //        foreach (var bgActivity in pendingActivities)
        //        {
        //            await CompleteActivity(bgActivity);
        //            Device.BeginInvokeOnMainThread(() =>
        //            {
        //                MessagingCenter.Send<BGActivity>(bgActivity, AppHelper.BACKGROUND_ACTIVITY_MESSAAGE);
        //            });
        //        }
        //    }, token);
        //}

        public async Task <bool> CompleteActivity(BGActivity bgActivity)
        {
            IRestHandler <BGActivity> _restHandler = new RestHandler <BGActivity>(bgActivity.ServiceURL);
            var result = await _restHandler.TriggerPUT(bgActivity.TargetObjectId, bgActivity.TargetObjectJSON);

            if (result)
            {
                DeliveryVM.Instance.RefreshDeliveries();
                using (_dbHandler = SADFactory.GetDBHandler <BGActivity>())
                {
                    _dbHandler.DeleteItem(bgActivity.ActivityId);
                }
            }
            return(result);
        }
 public static void HandleException(this Exception ex)
 {
     if (App.Current.Properties.Keys.Contains(AppHelper.ON_GOING_ACTIVITY))
     {
         var OnGoingActivity = App.Current.Properties[AppHelper.ON_GOING_ACTIVITY] as BGActivity;
         if (OnGoingActivity != null)
         {
             using (var _serviceQueue = SADFactory.GetServiceQueue())
             {
                 bool isSaved = _serviceQueue.SaveActivity(OnGoingActivity);
                 App.Current.Properties.Remove(AppHelper.ON_GOING_ACTIVITY);
             }
         }
     }
 }
예제 #5
0
        public bool SaveActivity(BGActivity bGActivity)
        {
            int rowsEffected = -1;

            using (_dbHandler = SADFactory.GetDBHandler <BGActivity>())
            {
                var existingActivitys = _dbHandler.GetAll(a => a.TargetObjectId == bGActivity.TargetObjectId);

                if (existingActivitys.Count > 0)
                {
                    var existingActivity = existingActivitys.First();
                    _dbHandler.DeleteItem(existingActivity.ActivityId);
                }
                rowsEffected = _dbHandler.Add(bGActivity);
            }
            return(rowsEffected != -1);
        }