Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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*/));
        }