internal PedestrianProfileRequestLogic(PedestrianProfileRequestModel model, AdaptersExtender adaptersExtender, PedestrianProfileLogic user) { _model = model; _adaptersExtender = adaptersExtender; _user = user; //_availableResponses = new UpdatableCollectionLoadDecorator<DriverResponseLogic, IDriverResponse>(RetriveAvailableResponses, CompareDriverResponseInfo, ValidateDriverResponseInfo, CreateDriverResponseLogic); _requestDecorator = new RequestDecorator(() => _model.State, state => _model.State = state, ConfirmCore, CancelPendingCore, CancelConfirmedCore); model.ConfirmDelegate = Confirm; model.CancelDelegate = Cancel; model.CallToDriverDelegate = CallToDriver; //model.EnumerateAvailableResponsesDelegate = EnumerateAvailableResponses; //_availableResponses.ItemsCollectionChanged += AvailableResponses_ItemsCollectionChanged; }
public PedestrianProfileRequestLogic InitRequest(DriverModel driver) { DriverLogic driverLogic = _drivers.Items.SingleOrDefault(d => d.Model == driver); if (driverLogic == null) { return(null); } PedestrianProfileRequestModel requestModel = new PedestrianProfileRequestModel(_model, driverLogic.Model); _model.ModifyRequestsCollection(col => col.Add(requestModel)); PedestrianProfileRequestLogic outResult = new PedestrianProfileRequestLogic(requestModel, _adaptersExtender, this); outResult.Response = new DriverResponseLogic(requestModel.Response, _adaptersExtender, outResult, driverLogic); return(outResult); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); PedestrianProfileActivity pedestrianProfileActivity = UIHelper.GetUpperActivity <PedestrianProfileActivity>(this, bundle); ActionResult <PedestrianProfileRequestModel> initResult = pedestrianProfileActivity.Model.InitRequest(pedestrianProfileActivity.Model.SelectedDriver); if (!initResult.IsValid) { using (Toast errorToast = Toast.MakeText(Application.BaseContext, Resource.String.FailedToInitRequest, ToastLength.Short)) errorToast.Show(); Finish(); } if (pedestrianProfileActivity != null) { _model = initResult.Result; } SetContentView(Resource.Layout.PedestrianProfileRequestLayout); HookModel(); }
private void UnhookRequest(PedestrianProfileRequestModel request) { //request.Response.StateChanged -= Response_StateChanged; }