예제 #1
0
        private ActionResult <IEnumerable <DriverResponseLogic> > RetriveAcceptedResponse()
        {
            ActionResult <IEnumerable <IDriverResponse> > requestResult = _city.EnumerateDriverResponses();

            if (!requestResult.IsValid)
            {
                return(ActionResult <IEnumerable <DriverResponseLogic> > .GetErrorResult(requestResult));
            }
            IEnumerable <PedestrianProfileRequestLogic> requests = _requests.Items;

            if (requests == null)
            {
                return(ActionResult <IEnumerable <DriverResponseLogic> > .GetErrorResult(new KeyNotFoundException()));
            }
            IDriverResponse[] ownResponses = requestResult.Result.Where(r => requests.Any(req => req.Model.RequestId == r.RequestId)).ToArray();
            foreach (PedestrianProfileRequestLogic request in requests)
            {
                IDriverResponse response = ownResponses.FirstOrDefault(r => r.RequestId == request.Model.RequestId);
                if (response != null)
                {
                    request.Response.Model.State = response.State;
                }
            }
            return(ActionResult <IEnumerable <DriverResponseLogic> > .GetValidResult(requests.Select(r => r.Response).Where(r => r.Model.State == ClientInfrastructure.Data.DriverResponseState.Accepted).ToArray()));
        }
예제 #2
0
        private DriverProfileResponseLogic CreateDriverResponseLogic(IDriverResponse responseSLO)
        {
            PedestrianRequestLogic request = _pedestrianRequests.Items.FirstOrDefault(r => r.Model.RequestId == responseSLO.RequestId);

            return(request == null ? null : new DriverProfileResponseLogic(new DriverProfileResponseModel(request.Model, _model), _adaptersExtender, request, this));
        }
예제 #3
0
 private bool ValidateDriverResponse(IDriverResponse response)
 {
     return(response.DriverId == _model.PersonId);
 }
예제 #4
0
 private bool CompareDriverResponses(DriverProfileResponseLogic logic, IDriverResponse slo)
 {
     return(logic.Model.ResponseId == slo.Id);
 }