public IEnumerable <Gps> GetGpsInfoFromLines(List <string> lineIds) { var sbLines = new StringBuilder(); foreach (var lineId in lineIds) { sbLines.Append(lineId + ","); } var lines = sbLines.ToString(0, sbLines.Length - 1); var request = new RestRequest("search/{lineIds}", Method.GET) { JsonSerializer = new MySerializer() }; request.AddUrlSegment("lineIds", lines); var response = _client.Execute(request); if (response.StatusCode != HttpStatusCode.OK) { return(_datario.GetGpsInformation()); } var gps = JsonConvert.DeserializeObject <List <Gps> >(response.Content); return(gps); }
public ValidationResult SyncGps() { var validation = new ValidationResult(); try { //Get lines //var lines = _lineService.GetAllLines().Select(i => i.LineId).ToList(); //var allGps = _riobusRepository.GetGpsInfoFromLines(lines).ToList(); var allGps = _datarioRepository.GetGpsInformation(); //Remove previous gps info _gpsService.RemoveAllGpses(); //Create _gpsService.CreateGpses(allGps); } catch (Exception e) { validation.AddError(new ValidationError(e.Message)); } return(validation); }