protected override async void OnResume() { bool jobChanged = false; if (TripContext.Credentials != null && TripContext.Credentials.TruckId > 0) { // TODO: should we call GetNextJob unconditionally to see if the current job assignment has changed? if (TripContext.CurrentJob == null || TripContext.CurrentJob.JobId == 0) { jobChanged = await TripContext.GetNextJob(); } if (TripContext.CurrentJob != null) { if (string.IsNullOrEmpty(TripContext.CurrentPage) || TripContext.CurrentPage == "DirectionsPage" || jobChanged) { TripContext.CurrentPage = "DirectionsPage"; await MainPage.Navigation.PushAsync(new DirectionsPage()); } else if (TripContext.CurrentPage == "SiteMapPage") { await MainPage.Navigation.PushAsync(new SiteMapPage()); } } } }
// var tripStateStatus = context.Trip.TripStateStatus; public static TripState Get(TripState.Status tripStateStatus, TripContext context) { Debug.Assert(context != null); Debug.Assert(context.Trip != null); // var tripStateStatus = context.Trip.TripStateStatus; switch (tripStateStatus) { case TripState.Status.Create: return(new TripStateCreate(context)); case TripState.Status.AddDestinations: return(new TripStateAddDestinations(context)); case TripState.Status.AddTravellers: return(new TripStateAddTravellers(context)); case TripState.Status.ChoosePaymentType: return(new TripStateChoosePaymentType(context)); case TripState.Status.AddThankYou: return(new TripStateAddThankYou(context)); case TripState.Status.Complete: return(new TripStateComplete(context)); default: throw new NotSupportedException($"{tripStateStatus} is an invalid state"); } }
protected TripState(TripContext context, Status tripStateStatus) { TripContext = context; if (TripContext.Trip != null) { TripContext.Trip.TripStateStatus = tripStateStatus; } }
protected override async void OnStart() { var isValid = await TripContext.EstablishVerifiedCredentials(); if (!isValid) { await MainPage.Navigation.PushAsync(new RegisterLoginPage()); } OnResume(); }
public TripStateCreate(TripContext context) : base(context, TripState.Status.Create) { TripContext.Trip = new Trip { BookedOn = DateTime.Now, OrderId = DateTime.Now.Ticks, TripStateStatus = TripState.Status.Create }; }
internal static TripState Get(TripContext tripContext) { throw new NotImplementedException(); }
public TripStatePayCheck(TripContext context) : base(context, TripState.Status.PayCheck) { }
public PaymentCheck(TripContext context) : base(context) { }
public TripStateChoosePaymentType(TripContext context) : base(context, TripState.Status.ChoosePaymentType) { }
// private TripContext context; public TripStateAddTravellers(TripContext context) : base(context, TripState.Status.AddTravellers) { }
public TripStatePayCash(TripContext context) : base(context, TripState.Status.PayCash) { }
// public override TripStateLoop.Status Execute => throw new NotImplementedException(); public TripStateAddThankYou(TripContext context) : base(context, TripState.Status.AddThankYou) { }
public PaymentCard(TripContext context) : base(context) { }
protected Payment(TripContext context) { tripContext = context; }
public TripStateAddDestinations(TripContext context) : base(context, TripState.Status.AddDestinations) { }
public TripStateComplete(TripContext context) : base(context, TripState.Status.Complete) { }