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())); }
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)); }
private bool ValidateDriverResponse(IDriverResponse response) { return(response.DriverId == _model.PersonId); }
private bool CompareDriverResponses(DriverProfileResponseLogic logic, IDriverResponse slo) { return(logic.Model.ResponseId == slo.Id); }