public async Task <ActionResult> DeleteAsync(string id, string pk) { pk = pk.ToUpper(); if (id == null || pk == null) { return(BadRequest()); } var item = await _cosmosDbService.GetItemAsync <Vehicle>(id, pk); if (item == null) { return(NotFound()); } var vm = new VehicleDetailsViewModel { Vehicle = item, Trips = await _cosmosDbService.GetItemsAsync <Trip>(x => x.entityType == WellKnown.EntityTypes.Trip, partitionKey : pk) }; return(View(vm)); }
public ActionResult Details(int id) { var vehicles = Using <GetVehicleListForUser>() .Execute(this.CurrentUserId); var selected = vehicles .Single(x => x.VehicleId == id); // we are limiting this to 3 reminders // after we retrieve the full set from the server var overdue = Using <GetOverdueRemindersForVehicle>() .Execute(id, DateTime.UtcNow, selected.Odometer ?? 0) .Take(3); var vm = new VehicleDetailsViewModel { VehicleList = new VehicleListViewModel(vehicles, id) { IsCollapsed = true }, Vehicle = selected, OverdueReminders = overdue, UserId = CurrentUserId }; vm.VehicleList.IsCollapsed = true; return(View(vm)); }
public VehicleDetailsPage(Vehicle vehicle) { InitializeComponent(); BindingContext = model = new VehicleDetailsViewModel() { Vehicle = vehicle }; }
/// <summary> /// Constructor /// </summary> /// <param name="vehicle">Vehicle to show details of</param> public VehicleDetailsView(Vehicle vehicle) { InitializeComponent(); VehicleDetailsViewModel ViewModel = new VehicleDetailsViewModel(vehicle); ViewModel.RequestClose += (s, e) => this.Close(); this.DataContext = ViewModel; }
public VehicleDetailPage(Data.Model.Vehicle item) { InitializeComponent(); NavigationPage.SetHasBackButton(this, true); BindingContext = model = new VehicleDetailsViewModel { vehicle = item }; }
public async Task <ActionResult> DetailsAsync(string id, string pk) { pk = pk.ToUpper(); var vm = new VehicleDetailsViewModel { Vehicle = await _cosmosDbService.GetItemAsync <Vehicle>(id, pk), Trips = await _cosmosDbService.GetItemsAsync <Trip>(x => x.entityType == WellKnown.EntityTypes.Trip, partitionKey : pk) }; return(View(vm)); }
public async Task <IActionResult> Comment(VehicleDetailsViewModel input) { var commentDetails = input.Comment; var user = await this.userManager.GetUserAsync(this.User); var userID = user.Id; await this.commentService.Comment(userID, commentDetails); //redirect to the same vehicle and list the comment return(this.Redirect($"/Vehicle/VehicleDetails/{input.Comment.VehicleID}")); }
public VehicleDetailsViewModel GetById(string id) { var vehicle = this.vehicleRepository .AllAsNoTracking() .Where(x => x.Id == id) .FirstOrDefault(); var vehicleImages = this.vehicleRepository.AllAsNoTracking() .Where(x => x.Id == id) .Select(x => x.Pictures.ToList()) .FirstOrDefault(); var imagesList = new List <CarImagesViewModel>(); foreach (var pic in vehicleImages) { var converted = new CarImagesViewModel { Id = pic.Id, URL = pic.URL, }; imagesList.Add(converted); } var mapped = new VehicleDetailsViewModel { Id = vehicle.Id, Brand = vehicle.Brand, Model = vehicle.Model, CoupeType = vehicle.CoupeType, Seats = vehicle.Seats, RequiredLicenseCategory = vehicle.RequiredLicenseCategory, FuelType = vehicle.FuelType, Gearbox = vehicle.Gearbox, Doors = vehicle.Doors, YearOfManufacturing = vehicle.YearOfManufacturing, FuelTankVolume = vehicle.FuelTankVolume, FuelConsumption = vehicle.FuelConsumption, TrunkVolume = vehicle.TrunkVolume, Horsepower = vehicle.Horsepower, EngineVolume = vehicle.EngineVolume, PricePerDay = vehicle.PricePerDay, IsBooked = vehicle.IsBooked, Images = imagesList, }; return(mapped); }
/// <summary> /// Add series of new numbers to a subclass. /// </summary> private void AddNewNumberSeries() { NewNumberViewModel dialogViewModel = new NewNumberViewModel( this.SubClassNumbers, true); DialogService service = new DialogService(); service.ShowDialog( new NewNumberSeriesDialog() { DataContext = dialogViewModel }); if (dialogViewModel.Result == MessageBoxResult.OK) { for (int number = dialogViewModel.Number; number <= dialogViewModel.UpperNumber; ++number) { if (this.classFileConfiguration.Subclasses[dialogViewModel.SubClassIndex].Numbers.Find(n => n.CurrentNumber == number) != null) { return; } Number newNumber = new Number() { CurrentNumber = number, Historical = new List <OldNumber>() }; this.classFileConfiguration.Subclasses[dialogViewModel.SubClassIndex].Numbers.Add(newNumber); VehicleDetailsViewModel newVehicle = new VehicleDetailsViewModel( number.ToString()); if (!IndividualUnitIOController.WriteIndividualUnitFile(newVehicle, classId)) { Logger l = Logger.Instance; l.WriteLog("TRACE: Class Config Form - Save Failed - Failed to write " + newVehicle.UnitNumber.ToString() + ".txt"); } } this.SaveModel(); this.SelectNewSubClass(); } }
public async Task <ActionResult> DetailsByVINAsync(string vin) { vin = vin.ToUpper(); // Since we only have the VIN and not the vehicle ID, we need to conduct a search. // There should only be one result where the partition key is VIN and the entity typ is 'Vehicle'. // We will grab the first result anyway for the view model. var vehicles = await _cosmosDbService.GetItemsAsync <Vehicle>(x => x.entityType == WellKnown.EntityTypes.Vehicle && x.vin == vin, partitionKey : vin); var vm = new VehicleDetailsViewModel { Vehicle = vehicles.FirstOrDefault(), Trips = await _cosmosDbService.GetItemsAsync <Trip>(x => x.entityType == WellKnown.EntityTypes.Trip, partitionKey : vin) }; return(View("Details", vm)); }
public async Task <VehicleDetailsViewModel> ToVehicleDetailsViewModelAsync(Vehicle vehicle) { var brand = await _brandRepository.GetByIdAsync(vehicle.BrandId); var modelType = await _brandRepository.GetModelByIdAsync(vehicle.ModelId); var fuel = await _fuelRepository.GetByIdAsync(vehicle.FuelId); var color = await _colorRepository.GetByIdAsync(vehicle.ColorId); var model = new VehicleDetailsViewModel { Id = vehicle.Id, LicencePlate = vehicle.LicencePlate, BrandName = brand.BrandName, ModelName = modelType.ModelName, EngineCapacity = vehicle.EngineCapacity, Fueltype = fuel.FuelType, ColorName = color.ColorName, }; return(model); }
public ActionResult Details(int id) { var getVehicle = new GetVehicle() { Id = id }; var vehicleResult = mediator.Send(getVehicle).Result; var vehicle = new Vehicle() { Id = vehicleResult.Id, Brand = vehicleResult?.Brand, LicenseNumber = vehicleResult?.LicenseNumber, Type = vehicleResult?.Type, OwnerId = vehicleResult.OwnerId }; var getCustomer = new GetCustomer() { Id = vehicle.OwnerId }; var ownerResult = mediator.Send(getCustomer).Result; var owner = new Customer() { Id = ownerResult.Id, Name = ownerResult.Name, Surname = ownerResult.Surname, }; var view = new VehicleDetailsViewModel() { Vehicle = vehicle, Customer = owner }; return(View(view)); }
public ActionResult Details(int vehicleId) { var vehicles = Using <GetVehicleListForUser>() .Execute(CurrentUserId); var selected = vehicles .FirstOrDefault(x => x.VehicleId == vehicleId); if (selected == null) { throw new HttpException((int)HttpStatusCode.NotFound, Messages.VehicleController_VehicleNotFound); } // We are limiting this to 3 reminders // after we retrieve the full set from the server. var overdue = Using <GetOverdueRemindersForVehicle>() .Execute(vehicleId, DateTime.UtcNow, selected.Odometer ?? 0) .Take(3); var vm = new VehicleDetailsViewModel { VehicleId = vehicleId, VehicleList = new VehicleListViewModel(vehicles, vehicleId) { IsCollapsed = true }, Vehicle = selected, OverdueReminders = overdue, UserId = CurrentUserId, DateTimeTicks = DateTime.Now.Ticks }; vm.VehicleList.IsCollapsed = true; return(new ContentTypeAwareResult(vm)); }
public ActionResult VehicleDetails(string q) { const string assetsPrefix = "carsforsale.vehicledetails"; // If no query on querystring, redirect to /cars-for-sale/ landing page. q = q ?? String.Empty; var parts = q.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries); if (parts.Length < 2) { return(RedirectToRoute("CarsForSale_Index")); } var dealerId = Int32.Parse(parts[0]); var inventoryId = Int32.Parse(parts[1]); var carForSale = CarsForSaleService.GetCarForSaleByDealerIdByInventoryId(dealerId, inventoryId); // If inventory_id no longer exists, redirect to /cars-for-sale/results/ page. if (carForSale == null) { return(RedirectToRoute("CarsForSale_Results", new { q = String.Join("|", parts.Skip(2)) })); } List <int> autonationDealers = LeadService.GetLeadAutonationUsedCarDealers(); List <DealerHours> autonationDealerHours = LeadService.GetLeadAutonationUsedCarDealerHours(dealerId) as List <DealerHours>; DealerHours hours = autonationDealerHours.FirstOrDefault(); const string na = "NA"; string salesMonOpen = na, salesMonClose = na, salesTueOpen = na, salesTueClose = na, salesWedOpen = na, salesWedClose = na, salesThrOpen = na, salesThrClose = na, salesFriOpen = na, salesFriClose = na, salesSatOpen = na, salesSatClose = na, salesSunOpen = na, salesSunClose = na; if (autonationDealerHours != null && autonationDealerHours.Any()) { salesMonOpen = hours.SalesMonOpen.Length > 1 ? hours.SalesMonOpen : na; salesMonClose = hours.SalesMonClose.Length > 1 ? hours.SalesMonClose : na; salesTueOpen = hours.SalesTueOpen.Length > 1 ? hours.SalesTueOpen : na; salesTueClose = hours.SalesTueClose.Length > 1 ? hours.SalesTueClose : na; salesWedOpen = hours.SalesWedOpen.Length > 1 ? hours.SalesWedOpen : na; salesWedClose = hours.SalesWedClose.Length > 1 ? hours.SalesWedClose : na; salesThrOpen = hours.SalesThrOpen.Length > 1 ? hours.SalesThrOpen : na; salesThrClose = hours.SalesThrClose.Length > 1 ? hours.SalesThrClose : na; salesFriOpen = hours.SalesFriOpen.Length > 1 ? hours.SalesFriOpen : na; salesFriClose = hours.SalesFriClose.Length > 1 ? hours.SalesFriClose : na; salesSatOpen = hours.SalesSatOpen.Length > 1 ? hours.SalesSatOpen : na; salesSatClose = hours.SalesSatClose.Length > 1 ? hours.SalesSatClose : na; salesSunOpen = hours.SalesSunOpen != null && hours.SalesSunOpen.Length > 1 ? hours.SalesSunOpen : na; salesSunClose = hours.SalesSunClose != null && hours.SalesSunClose.Length > 1 ? hours.SalesSunClose : na; } var metadata = MetadataService.GetMetadataForPage(HttpContext); var viewModel = new VehicleDetailsViewModel(assetsPrefix, metadata) { InlineHeadScript = AssetService.GetInlineHeadScript(), InlineHeadStyles = AssetService.GetInlineHeadStyles(assetsPrefix), TrackMeta = new TrackMeta(metadata) { Make = carForSale.Make, SuperModel = carForSale.Model, Year = carForSale.Year.ToString(CultureInfo.InvariantCulture) }, AdvertMeta = new AdvertMeta(new { make = carForSale.Make, model = carForSale.Model, year = carForSale.Year, category = carForSale.Category }), OfferMeta = new OfferMeta(new { make = carForSale.Make, model = carForSale.Model }), CarForSale = new VehicleDetailsViewModel.Dto.CarForSale { InventoryId = carForSale.Id, MakeId = carForSale.MakeId, Make = carForSale.Make, Model = carForSale.Model, Year = carForSale.Year, Trim = carForSale.Trim, Category = carForSale.Category, Mileage = carForSale.Mileage, HasMissingMileage = carForSale.Mileage <= 0, AskingPrice = carForSale.AskingPrice, HasMissingPrice = carForSale.AskingPrice <= 0, ExteriorColor = carForSale.ExteriorColor, InteriorColor = carForSale.InteriorColor, Cylinders = carForSale.Cylinders.ToString(CultureInfo.InvariantCulture), NumOfDoors = carForSale.NumOfDoors, TransmissionType = carForSale.TransmissionType, ImageUrls = carForSale.ImageUrls, Vin = carForSale.Vin, CityMpg = carForSale.CityMpg, HighwayMpg = carForSale.HighwayMpg, VehicleDetails = carForSale.VehicleDetails, SellerNotes = carForSale.SellerNotes, Dealer = new VehicleDetailsViewModel.Dto.Dealer { Name = carForSale.Dealer.Name, Phone = carForSale.Dealer.Phone, City = carForSale.Dealer.City, State = carForSale.Dealer.State, IsTrusted = carForSale.Dealer.IsPremiumPlacement, Message = carForSale.Dealer.Message, Latitude = carForSale.Dealer.Latitude, Longitude = carForSale.Dealer.Longitude, AutonationDealer = autonationDealers.Contains(carForSale.Dealer.Id) }, DealerHours = new VehicleDetailsViewModel.Dto.DealerHours() { SalesMonOpen = salesMonOpen, SalesMonClose = salesMonClose, SalesTueOpen = salesTueOpen, SalesTueClose = salesTueClose, SalesWedOpen = salesWedOpen, SalesWedClose = salesWedClose, SalesThrOpen = salesThrOpen, SalesThrClose = salesThrClose, SalesFriOpen = salesFriOpen, SalesFriClose = salesFriClose, SalesSatOpen = salesSatOpen, SalesSatClose = salesSatClose, SalesSunOpen = salesSunOpen, SalesSunClose = salesSunClose } } }; var primaryImage = viewModel.CarForSale.ImageUrls.FirstOrDefault(); var inventoryJsonStr = JsonConvert.SerializeObject(new { id = inventoryId, dealerId, city = viewModel.CarForSale.Dealer.City, state = viewModel.CarForSale.Dealer.State, vin = viewModel.CarForSale.Vin, price = viewModel.CarForSale.AskingPrice, mileage = viewModel.CarForSale.Mileage, hasAutocheck = carForSale.Dealer.HasAutoCheckId, year = viewModel.CarForSale.Year, dealerPhone = viewModel.CarForSale.Dealer.Phone, hasValidPhoneNum = viewModel.CarForSale.Dealer.HasValidPhoneNumber, makeId = viewModel.CarForSale.MakeId, make = viewModel.CarForSale.Make, model = viewModel.CarForSale.Model, primaryImage = primaryImage ?? String.Empty }); viewModel.RegisterPageJson(inventoryJsonStr, "ABT.pageJson.inventory"); if (autonationDealers.Contains(carForSale.Dealer.Id)) { return(View("VehicleDetailsBranded", viewModel)); } return(View("VehicleDetails", viewModel)); }