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;
 }
Beispiel #2
0
        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;
 }