Esempio n. 1
0
        // GET: Results
        //public ActionResult Index()
        //{
        //    return View();
        //}

        public ActionResult Index(TrailerModel trailer)
        {
            XMLSerializerManager xmlManager = new XMLSerializerManager();

            string        usn = AppSettings.GetStringValue("username");
            string        pwd = AppSettings.GetStringValue("password");
            int           requestedRowNumber = 1;
            ArrayOfString columns            = new ArrayOfString {
                "Latitude", "Longitude", "RecordTimeStamp", "VehicleTypeID", "VehicleName"
            };
            //DateTime startTimeStamp = new DateTime(2019, 11, 05);
            DateTime startTimeStamp = DateTime.Now.AddHours(-24);
            //DateTime startTimeStamp = DateTime.Now.AddDays(-6);
            string options   = "";
            int    vehicleID = trailer.VehicleId;

            // Instantiate API client
            var api = new FleetManagerAPISoapClient();
            // Get response
            var response = api.GetGpsReadingsForVehicle_v1Async(usn, pwd, requestedRowNumber, columns, startTimeStamp, options, vehicleID);
            // Get response body
            var responseBody = response.Result.Body;
            // Get GetGpsReadingsForVehicle_v1Result body
            string result = responseBody.GetGpsReadingsForVehicle_v1Result;
            // Split string body into an array
            // string[] rows = result.Split(new[] { " /><" }, StringSplitOptions.None);

            var listOfCoords = xmlManager.TestDeserializer <XmlTrailerModel>(result);

            var trailerCheck = TrailerCheckManager.TrailerCheck(listOfCoords); // TODO: still need to add an else  for error

            if (trailerCheck.ErrorMessage == "This is not a trailer")
            {
                return(View("Error"));
            }
            ;

            var lastTrailer = trailerCheck.TrailerResponse.row.LastOrDefault();

            var trailerCoordinates = new ResultsModel()
            {
                Latitude  = lastTrailer.Latitude,
                Longitude = lastTrailer.Longitude
            };

            ViewBag.Latitude  = trailerCoordinates.Latitude;
            ViewBag.Longitude = trailerCoordinates.Longitude;

            return(View());
        }
Esempio n. 2
0
        public IEnumerable <VehicleRowModel> CallServiceForVehicleList()
        {
            string        usn            = AppSettings.GetStringValue("username");
            string        pwd            = AppSettings.GetStringValue("password");
            ArrayOfString vehicleColumns = new ArrayOfString {
                "VehicleID", "VehicleTypeID", "VehicleName"
            };
            string options = "";

            var api                 = new FleetManagerAPISoapClient();
            var vehicleList         = api.GetVehicles_v1Async(usn, pwd, vehicleColumns, options);
            var vehicleResponseBody = vehicleList.Result.Body.GetVehicles_v1Result;
            var vehicleResult       = xmlManager.VehicleDeserializer <XmlVehicleModel>(vehicleResponseBody);
            var newVehicleList      = vehicleResult.VehicleResponse.row.ToList();

            return(newVehicleList);
        }
Esempio n. 3
0
        public RootModel CallWebService(TrailerModel trailer, string startTimeStamp)
        {
            string        usn = AppSettings.GetStringValue("username");
            string        pwd = AppSettings.GetStringValue("password");
            int           requestedRowNumber = 200;
            ArrayOfString columns            = new ArrayOfString {
                "Latitude", "Longitude", "RecordTimeStamp", "VehicleTypeID", "VehicleName"
            };
            string options = "";
            //int vehicleID = trailer.VehicleId;
            string vehicleName = trailer.VehicleName;

            var vehicleList   = vehicleAPIAdapter.CallServiceForVehicleList();
            var targetVehicle = vehicleList.Where(x => x.VehicleName == vehicleName);

            if (targetVehicle.Any())
            {
                int vehicleID = targetVehicle.FirstOrDefault().VehicleID;
                // Instantiate API client
                var api          = new FleetManagerAPISoapClient();
                var empstarttime = startTimeStamp.To <DateTime>();

                // Get response
                var response = api.GetGpsReadingsForVehicle_v1Async(usn, pwd, requestedRowNumber, columns, empstarttime, options, vehicleID);

                // Get response body
                var responseBody = response.Result.Body;
                // Get GetGpsReadingsForVehicle_v1Result body
                string result = responseBody.GetGpsReadingsForVehicle_v1Result;

                // Get lists of coordinates for the specificied start date
                var listOfCoords = xmlManager.TestDeserializer <XmlTrailerModel>(result);

                return(listOfCoords);
            }
            else
            {
                RootModel errorVehicle = new RootModel();
                errorVehicle.ErrorMessage = "Not a valid Trailer";
                return(errorVehicle);
            }
        }