示例#1
0
        // GET: Cars/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CarsViewModels carVM = new CarsViewModels();

            carVM.Car = db.Cars.Find(id);

            if (carVM.Car == null)
            {
                return(HttpNotFound());
            }

            HttpResponseMessage response;
            string content = "";

            carVM.Recalls = "";
            carVM.Image   = "";


            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("http://nhtsa.gov/");

                try
                {
                    response = await client.GetAsync("webapi/api/Recalls/vehicle/modelyear/" + carVM.Car.model_year
                                                     + "/make/" + carVM.Car.make + "/model/" + carVM.Car.model_name + "?format=json");

                    content = await response.Content.ReadAsStringAsync();
                }
                catch (Exception e)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
            }
            carVM.Recalls = JsonConvert.DeserializeObject(content);

            var image = new BingSearchContainer(new Uri("https://api.datamarket.azure.com/Bing/search/"));

            image.Credentials = new NetworkCredential("accountKey", "5u/0CzVmYrTKDOjlxPePfPkh/G8llMIfVJ7QC/oNEvQ");

            var marketData = image.Composite("image", carVM.Car.model_year + " " + carVM.Car.make + " " + carVM.Car.model_name + " " + carVM.Car.model_trim,
                                             null, null, null, null, null, null, null, null, null, null, null, null, null).Execute();

            carVM.Image = marketData.First().Image.First().MediaUrl;

            return(View(carVM));
        }
        private void CreateCommands()
        {
            AddButton = new DelegateCommand(() =>
            {
                CarsViewModels.Add(new CarViewModel(new Data.Car()));
            });

            Save = new DelegateCommand(SaveCommand, () => IsValid)
                   .ObservesProperty(() => FirstName)
                   .ObservesProperty(() => SecondName)
                   .ObservesProperty(() => Age);

            Cancel = new DelegateCommand(CancelCommand);
        }