public ActionResult Preview(int id) { User user = _userService.GetUserByEmail(User.Identity.Name); Auto auto = user.Autoes.FirstOrDefault(a => a.ID == id); if (auto == null) { return(HttpNotFound()); } double dollarRate = CurrencyService.GetCurrencyRate(); AutoShortInfoVM autoShortInfoVM = auto; breadcrumbs.Add("#", Resource.AddAuto); ViewBag.breadcrumbs = breadcrumbs; ViewBag.activeTab = "Preview"; ViewBag.autoID = id; return(View(autoShortInfoVM)); }
private AutoShortInfoVM CreateAutoShortInfoVM(dynamic auto, string usdSymbol, string uahSymbol) { try { AutoShortInfoVM modelVM = new AutoShortInfoVM() { Make = GetDynamicProperty(auto, "Make"), Model = GetDynamicProperty(auto, "Model"), Status = GetDynamicProperty(auto, "StatusName"), Region = GetDynamicProperty(auto, "Region"), TransmissionType = GetDynamicProperty(auto, "TransmissionType"), FuelType = GetDynamicProperty(auto, "FuelType"), FuelConsumption = GetDynamicProperty(auto, "FuelConsumption"), Description = GetDynamicProperty(auto, "Description"), Modification = GetDynamicProperty(auto, "Modification"), Photo = new AutoPhotoVM() { ID = 0, IsMain = true, //Src = $"{XCarsConfiguration.BucketEndpoint}" + $"{XCarsConfiguration.BucketName}/" + GetDynamicProperty(auto, "PhotoUrl") //Src = "/Content/images/car_page_03.jpg" }, TSRegistration = GetDynamicProperty(auto, "TSRegistration"), }; int tmp = 0; int.TryParse(GetDynamicProperty(auto, "MainPhotoID"), out tmp); modelVM.Photo.ID = tmp; tmp = 0; int.TryParse(GetDynamicProperty(auto, "PriceUSDSearch"), out tmp); modelVM.PriceUSD = tmp; tmp = 0; int.TryParse(GetDynamicProperty(auto, "PriceUAHSearch"), out tmp); modelVM.PriceUAH = tmp; string priceFormat = XCarsConfiguration.PriceFormat; modelVM.PriceUSDStr = modelVM.PriceUSD.Value.ToString(priceFormat) + " " + usdSymbol; modelVM.PriceUAHStr = modelVM.PriceUAH.Value.ToString(priceFormat) + " " + uahSymbol; tmp = 0; int.TryParse(GetDynamicProperty(auto, "StatusID"), out tmp); modelVM.StatusID = tmp; tmp = 0; int.TryParse(GetDynamicProperty(auto, "AutoID"), out tmp); modelVM.ID = tmp; tmp = 0; int.TryParse(GetDynamicProperty(auto, "YearOfIssue"), out tmp); modelVM.YearOfIssue = tmp; tmp = 0; int.TryParse(GetDynamicProperty(auto, "Probeg"), out tmp); modelVM.Probeg = tmp; tmp = 0; int.TryParse(GetDynamicProperty(auto, "Views"), out tmp); modelVM.Views = tmp; tmp = 0; int.TryParse(GetDynamicProperty(auto, "InFavorites"), out tmp); modelVM.CountOfFavorites = tmp; DateTime dtTmp; if (DateTime.TryParse(GetDynamicProperty(auto, "DateAppearance"), out dtTmp)) { modelVM.DateAppearance = dtTmp; } decimal tmpDecimal = 0; decimal.TryParse(GetDynamicProperty(auto, "EngineCapacity"), out tmpDecimal); modelVM.EngineCapacity = tmpDecimal; string status = Resource.NotPublished; if (modelVM.StatusID == 2) { status = Resource.Published; if (modelVM.DateAppearance != null) { status += " " + modelVM.DateAppearance.Value.ToString("dd.MM.yy"); } } modelVM.Status = status; return(modelVM); } catch (Exception ex) { return(null); } }
public ActionResult GetAutosFromElastic(int draw, int start, int length, ExtendedSearchVM modelVM, bool forHomePage = false, bool related = false, bool forErrorPage = false) { int recordsFiltered = 0; string error = ""; List <dynamic> autos = new List <dynamic>(); List <dynamic> auctions = new List <dynamic>(); List <List <string> > data = new List <List <string> >(); if (modelVM == null) { recordsFiltered = 0; } else { bool viewingOwnAutos = false; if (modelVM.UserID == null) { modelVM.StatusID = 2; } else { if (User.Identity.IsAuthenticated) { User user = UserService.GetUserByEmail(User.Identity.Name); if (modelVM.UserID == user.ID) { viewingOwnAutos = true; } else { modelVM.StatusID = 2; } } else { modelVM.StatusID = 2; } } //******************************* //modelVM.UserID = 16; //modelVM.StatusID = null; //should be commented //******************************* List <AutoShortInfoVM> autoModelsVM = new List <AutoShortInfoVM>(); List <AuctionShortInfoVM> auctionModelsVM = new List <AuctionShortInfoVM>(); if (modelVM.Type == "auction") { auctions = SearchAutoService.ExtendedSearch(start, length, modelVM, out recordsFiltered, out error); } else { autos = SearchAutoService.ExtendedSearch(start, length, modelVM, out recordsFiltered, out error); } string usdSymbol = CurrencyService.GetByID(1).Symbol; string uahSymbol = CurrencyService.GetByID(2).Symbol; if (modelVM.Type == "auction") { foreach (var item in auctions) { AuctionShortInfoVM auctionShortInfoVM = CreateAuctionShortInfoVM(item, usdSymbol, uahSymbol); auctionModelsVM.Add(auctionShortInfoVM); } } else { foreach (var item in autos) { AutoShortInfoVM autoShortInfoVM = CreateAutoShortInfoVM(item, usdSymbol, uahSymbol); autoModelsVM.Add(autoShortInfoVM); } } string html = ""; if (forHomePage) { if (modelVM.Type == "auction") { html = ViewRenderer.RenderPartialView("~/Views/AuctionCardPartial/_AuctionCardHomeMultiple.cshtml", auctionModelsVM, ControllerContext); } else { html = ViewRenderer.RenderPartialView("~/Views/AutoCardPartial/_AutoCardHomeMultiple.cshtml", autoModelsVM, ControllerContext); } } else if (forErrorPage) { html = ViewRenderer.RenderPartialView("~/Views/AutoCardPartial/_AutoCardError.cshtml", autoModelsVM, ControllerContext); } else if (related) { if (modelVM.Type == "auction") { html = ViewRenderer.RenderPartialView("~/Views/AuctionCardPartial/_AuctionCardRelatedMultiple.cshtml", auctionModelsVM, ControllerContext); } else { html = ViewRenderer.RenderPartialView("~/Views/AutoCardPartial/_AutoCardRelatedMultiple.cshtml", autoModelsVM, ControllerContext); } } else { if (viewingOwnAutos) { if (modelVM.Type == "auction") { html = ViewRenderer.RenderPartialView("~/Views/AuctionCardPartial/_AuctionCardInCabinetMultiple.cshtml", auctionModelsVM, ControllerContext); } else { html = ViewRenderer.RenderPartialView("~/Views/AutoCardPartial/_AutoCardInCabinetMultiple.cshtml", autoModelsVM, ControllerContext); } } else { if (modelVM.Type == "auction") { html = ViewRenderer.RenderPartialView("~/Views/AuctionCardPartial/_AuctionCardMultiple.cshtml", auctionModelsVM, ControllerContext); } else { html = ViewRenderer.RenderPartialView("~/Views/AutoCardPartial/_AutoCardMultiple.cshtml", autoModelsVM, ControllerContext); } } } if (html != "") { data.Add(new List <string>() { html }); } } return(Json(new { draw = draw, recordsFiltered = recordsFiltered, data = data, error = error } /*, JsonRequestBehavior.AllowGet*/)); }