public ActionResult AddReview(BikeAdViewModel bikeAdViewModel, int?id, string Review) { if (Review.Length >= 50) { Bike bike = Bikes.GetByID(id); if (bike == null) { return(HttpNotFound()); } string CurrentUserName = User.Identity.GetUserName(); Review newReview = new Review(); newReview.Content = Review; newReview.AdID = bike.AdID; newReview.Ad = bike.Ad; newReview.PostingTime = DateTime.Now; Seller seller = Sellers.GetAll().Where(s => s.Username == CurrentUserName).FirstOrDefault(); newReview.SellerID = seller.ID; newReview.Seller = seller; newReview.ReviewStars = 5; Reviews.Insert(newReview); Reviews.Commit(); return(RedirectToAction("Details", "BikeAds", new { id = id })); } return(RedirectToAction("Details", "BikeAds", new { id = id })); }
public ActionResult Create() { string CurrentUserName = User.Identity.GetUserName(); Seller seller = Sellers.GetAll().Where(s => s.Username == CurrentUserName).FirstOrDefault(); BikeAdViewModel bikeAdViewModel = new BikeAdViewModel(); bikeAdViewModel.CountryID = seller.CountryID; bikeAdViewModel.Country = seller.Country; bikeAdViewModel.State = seller.State; bikeAdViewModel.StateID = seller.StateID; bikeAdViewModel.City = seller.City; bikeAdViewModel.CityID = seller.CityID; bikeAdViewModel.Seller = seller; bikeAdViewModel.SellerID = seller.ID; Currency currency = Currencies.GetAll().Where(c => c.CountryID == seller.CountryID).FirstOrDefault(); if (currency != null) { bikeAdViewModel.CurrencyID = currency.ID; bikeAdViewModel.Currency = currency; } bikeAdViewModel.VehicleBrandsList = VehicleBrands.GetAll(); bikeAdViewModel.YearsList = Years.GetAll(); bikeAdViewModel.ColorsList = Colors.GetAll(); // I should not sent all these colors // i should have a AJAX for it. bikeAdViewModel.ConditionsList = Conditions.GetAll(); bikeAdViewModel.CurrenciesList = Currencies.GetAll(); bikeAdViewModel.CountriesList = Countries.GetAll(); bikeAdViewModel.StatesList = States.GetAll().Where(c => c.CountryID == seller.CountryID); bikeAdViewModel.CitiesList = Cities.GetAll().Where(c => c.StateID == seller.StateID); return(View(bikeAdViewModel)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Bike bike = Bikes.GetByID(id); if (bike == null) { return(HttpNotFound()); } BikeAdViewModel bikeAdViewModel = new BikeAdViewModel(); bikeAdViewModel.ID = bike.ID; bikeAdViewModel.Title = bike.Ad.Title; bikeAdViewModel.VehicleBrand = bike.VehicleBrand; bikeAdViewModel.VehicleBrandID = bike.VehicleBrandID; bikeAdViewModel.Year = bike.Year; bikeAdViewModel.YearID = bike.YearID; bikeAdViewModel.Color = bike.Color; bikeAdViewModel.ColorID = bike.ColorID; bikeAdViewModel.DrivenKilometers = bike.DrivenKilometers; bikeAdViewModel.Insurance = bike.Insurance; bikeAdViewModel.Condition = bike.Ad.Condition; bikeAdViewModel.ConditionID = bike.Ad.ConditionID; bikeAdViewModel.Description = bike.Ad.Description; bikeAdViewModel.Currency = bike.Ad.Currency; bikeAdViewModel.CurrencyID = bike.Ad.CurrencyID; bikeAdViewModel.Price = bike.Ad.Price; bikeAdViewModel.Country = bike.Ad.Country; bikeAdViewModel.CountryID = bike.Ad.CountryID; bikeAdViewModel.State = bike.Ad.State; bikeAdViewModel.StateID = bike.Ad.StateID; bikeAdViewModel.City = bike.Ad.City; bikeAdViewModel.CityID = bike.Ad.CityID; bikeAdViewModel.VehicleBrandsList = VehicleBrands.GetAll(); bikeAdViewModel.ConditionsList = Conditions.GetAll(); bikeAdViewModel.ColorsList = Colors.GetAll(); bikeAdViewModel.YearsList = Years.GetAll(); bikeAdViewModel.CurrenciesList = Currencies.GetAll(); bikeAdViewModel.CountriesList = Countries.GetAll(); bikeAdViewModel.StatesList = States.GetAll().Where(c => c.CountryID == bike.Ad.CountryID); bikeAdViewModel.CitiesList = Cities.GetAll().Where(c => c.StateID == bike.Ad.StateID); return(View(bikeAdViewModel)); }
// GET: BikeAds/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Bike bike = Bikes.GetByID(id); if (bike == null) { return(HttpNotFound()); } BikeAdViewModel bikeAdViewModel = new BikeAdViewModel(); bikeAdViewModel.ID = bike.ID; bikeAdViewModel.Title = bike.Ad.Title; bikeAdViewModel.VehicleBrand = bike.VehicleBrand; bikeAdViewModel.VehicleBrandID = bike.VehicleBrandID; bikeAdViewModel.Year = bike.Year; bikeAdViewModel.YearID = bike.YearID; bikeAdViewModel.DrivenKilometers = bike.DrivenKilometers; bikeAdViewModel.Insurance = bike.Insurance; bikeAdViewModel.Color = bike.Color; bikeAdViewModel.ColorID = bike.ColorID; bikeAdViewModel.Condition = bike.Ad.Condition; bikeAdViewModel.ConditionID = bike.Ad.ConditionID; bikeAdViewModel.Description = bike.Ad.Description; bikeAdViewModel.Currency = bike.Ad.Currency; bikeAdViewModel.CurrencyID = bike.Ad.CurrencyID; bikeAdViewModel.Price = bike.Ad.Price; bikeAdViewModel.Country = bike.Ad.Country; bikeAdViewModel.CountryID = bike.Ad.CountryID; bikeAdViewModel.State = bike.Ad.State; bikeAdViewModel.StateID = bike.Ad.StateID; bikeAdViewModel.City = bike.Ad.City; bikeAdViewModel.CityID = bike.Ad.CityID; bikeAdViewModel.Seller = bike.Ad.Seller; bikeAdViewModel.SellerID = bike.Ad.SellerID; bikeAdViewModel.PostingTime = bike.Ad.PostingTime; bikeAdViewModel.Images = Images.GetAll().Where(i => i.AdID == bike.AdID).ToList(); bikeAdViewModel.Reviews = Reviews.GetAll().Where(i => i.AdID == bike.AdID).ToList(); return(View(bikeAdViewModel)); }
// GET: BikeAds public ActionResult Index() { List <Bike> BikesList = Bikes.GetAll().OrderByDescending(b => b.Ad.PostingTime).Take(12).ToList(); List <BikeAdViewModel> bikeAdViewModels = new List <BikeAdViewModel>(); foreach (Bike bike in BikesList) { BikeAdViewModel bikeAdViewModel = new BikeAdViewModel(); bikeAdViewModel.ID = bike.ID; bikeAdViewModel.Title = bike.Ad.Title; bikeAdViewModel.VehicleBrandID = bike.VehicleBrandID; bikeAdViewModel.VehicleBrand = bike.VehicleBrand; bikeAdViewModel.YearID = bike.YearID; bikeAdViewModel.Year = bike.Year; bikeAdViewModel.DrivenKilometers = bike.DrivenKilometers; bikeAdViewModel.ColorID = bike.ColorID; bikeAdViewModel.Color = bike.Color; bikeAdViewModel.Insurance = bike.Insurance; bikeAdViewModel.Condition = bike.Ad.Condition; bikeAdViewModel.ConditionID = bike.Ad.ConditionID; bikeAdViewModel.Description = bike.Ad.Description; bikeAdViewModel.Currency = bike.Ad.Currency; bikeAdViewModel.CurrencyID = bike.Ad.CurrencyID; bikeAdViewModel.Price = bike.Ad.Price; bikeAdViewModel.Country = bike.Ad.Country; bikeAdViewModel.CountryID = bike.Ad.CountryID; bikeAdViewModel.StateID = bike.Ad.StateID; bikeAdViewModel.State = bike.Ad.State; bikeAdViewModel.CityID = bike.Ad.CityID; bikeAdViewModel.City = bike.Ad.City; bikeAdViewModel.SellerID = bike.Ad.SellerID; bikeAdViewModel.Seller = bike.Ad.Seller; bikeAdViewModel.Images = bike.Ad.Images; bikeAdViewModel.Reviews = bike.Ad.Reviews; bikeAdViewModels.Add(bikeAdViewModel); } return(View(bikeAdViewModels)); }
public ActionResult Index() { HomeViewModel homeViewModel = new HomeViewModel(); List <BikeAdViewModel> bikeAdViewModels = new List <BikeAdViewModel>(); List <LaptopAdViewModel> laptopAdViewModels = new List <LaptopAdViewModel>(); List <CellPhoneAdViewModel> cellPhoneAdViewModels = new List <CellPhoneAdViewModel>(); //Get from DB - only send 3 items from all catgories to Homepage List <Bike> BikesList = Bikes.GetAll().OrderByDescending(b => b.Ad.PostingTime).Take(3).ToList(); List <CellPhone> CellPhonesList = CellPhones.GetAll().OrderByDescending(b => b.Ad.PostingTime).Take(3).ToList(); List <Laptop> LaptopsList = Laptops.GetAll().OrderByDescending(b => b.Ad.PostingTime).Take(3).ToList(); foreach (Bike bike in BikesList) { BikeAdViewModel bikeAdViewModel = new BikeAdViewModel(); bikeAdViewModel.ID = bike.ID; bikeAdViewModel.Title = bike.Ad.Title; bikeAdViewModel.VehicleBrandID = bike.VehicleBrandID; bikeAdViewModel.VehicleBrand = bike.VehicleBrand; bikeAdViewModel.YearID = bike.YearID; bikeAdViewModel.Year = bike.Year; bikeAdViewModel.DrivenKilometers = bike.DrivenKilometers; bikeAdViewModel.ColorID = bike.ColorID; bikeAdViewModel.Color = bike.Color; bikeAdViewModel.Insurance = bike.Insurance; bikeAdViewModel.Condition = bike.Ad.Condition; bikeAdViewModel.ConditionID = bike.Ad.ConditionID; bikeAdViewModel.Description = bike.Ad.Description; bikeAdViewModel.Currency = bike.Ad.Currency; bikeAdViewModel.CurrencyID = bike.Ad.CurrencyID; bikeAdViewModel.Price = bike.Ad.Price; bikeAdViewModel.Country = bike.Ad.Country; bikeAdViewModel.CountryID = bike.Ad.CountryID; bikeAdViewModel.StateID = bike.Ad.StateID; bikeAdViewModel.State = bike.Ad.State; bikeAdViewModel.CityID = bike.Ad.CityID; bikeAdViewModel.City = bike.Ad.City; bikeAdViewModel.SellerID = bike.Ad.SellerID; bikeAdViewModel.Seller = bike.Ad.Seller; bikeAdViewModel.Images = bike.Ad.Images; bikeAdViewModel.Reviews = bike.Ad.Reviews; bikeAdViewModels.Add(bikeAdViewModel); } foreach (CellPhone cellPhone in CellPhonesList) { CellPhoneAdViewModel cellPhoneAdViewModel = new CellPhoneAdViewModel(); cellPhoneAdViewModel.ID = cellPhone.ID; cellPhoneAdViewModel.Title = cellPhone.Ad.Title; cellPhoneAdViewModel.AccessoryBrandID = cellPhone.AccessoryBrandID; cellPhoneAdViewModel.AccessoryBrand = cellPhone.AccessoryBrand; cellPhoneAdViewModel.OperatingSystem = cellPhone.OperatingSystem; cellPhoneAdViewModel.Condition = cellPhone.Ad.Condition; cellPhoneAdViewModel.ConditionID = cellPhone.Ad.ConditionID; cellPhoneAdViewModel.Description = cellPhone.Ad.Description; cellPhoneAdViewModel.Currency = cellPhone.Ad.Currency; cellPhoneAdViewModel.CurrencyID = cellPhone.Ad.CurrencyID; cellPhoneAdViewModel.Price = cellPhone.Ad.Price; cellPhoneAdViewModel.Country = cellPhone.Ad.Country; cellPhoneAdViewModel.CountryID = cellPhone.Ad.CountryID; cellPhoneAdViewModel.StateID = cellPhone.Ad.StateID; cellPhoneAdViewModel.State = cellPhone.Ad.State; cellPhoneAdViewModel.CityID = cellPhone.Ad.CityID; cellPhoneAdViewModel.City = cellPhone.Ad.City; cellPhoneAdViewModel.SellerID = cellPhone.Ad.SellerID; cellPhoneAdViewModel.Seller = cellPhone.Ad.Seller; cellPhoneAdViewModel.Images = cellPhone.Ad.Images; cellPhoneAdViewModel.Reviews = cellPhone.Ad.Reviews; cellPhoneAdViewModels.Add(cellPhoneAdViewModel); } foreach (Laptop laptop in LaptopsList) { //New LaptopAdViewModel Object LaptopAdViewModel laptopAdViewModel = new LaptopAdViewModel(); //populate this object from laptopAdViewModel.ID = laptop.ID; laptopAdViewModel.Title = laptop.Ad.Title; laptopAdViewModel.AccessoryBrandID = laptop.AccessoryBrandID; laptopAdViewModel.AccessoryBrand = laptop.AccessoryBrand; laptopAdViewModel.OperatingSystem = laptop.OperatingSystem; laptopAdViewModel.Ram = laptop.Ram; laptopAdViewModel.Processor = laptop.Processor; laptopAdViewModel.HardDisk = laptop.HardDisk; laptopAdViewModel.Condition = laptop.Ad.Condition; laptopAdViewModel.ConditionID = laptop.Ad.ConditionID; laptopAdViewModel.Description = laptop.Ad.Description; laptopAdViewModel.Currency = laptop.Ad.Currency; laptopAdViewModel.CurrencyID = laptop.Ad.CurrencyID; laptopAdViewModel.Price = laptop.Ad.Price; laptopAdViewModel.Country = laptop.Ad.Country; laptopAdViewModel.CountryID = laptop.Ad.CountryID; laptopAdViewModel.StateID = laptop.Ad.StateID; laptopAdViewModel.State = laptop.Ad.State; laptopAdViewModel.CityID = laptop.Ad.CityID; laptopAdViewModel.City = laptop.Ad.City; laptopAdViewModel.SellerID = laptop.Ad.SellerID; laptopAdViewModel.Seller = laptop.Ad.Seller; laptopAdViewModel.Images = laptop.Ad.Images; laptopAdViewModel.Reviews = laptop.Ad.Reviews; laptopAdViewModels.Add(laptopAdViewModel); } homeViewModel.Bikes = bikeAdViewModels; homeViewModel.CellPhones = cellPhoneAdViewModels; homeViewModel.Laptops = laptopAdViewModels; return(View(homeViewModel)); }
public ActionResult Edit([Bind(Include = "ID,Title,VehicleBrandID,YearID,DrivenKilometers,ColorID,Insurance,ConditionID,Description,CurrencyID,Price,CountryID,StateID,CityID,SellerID,PostingTime")] BikeAdViewModel bikeAdViewModel, HttpPostedFileBase ImageFile) { if (ModelState.IsValid) { Bike bike = Bikes.GetByID(bikeAdViewModel.ID); bike.VehicleBrandID = bikeAdViewModel.VehicleBrandID; bike.YearID = bikeAdViewModel.YearID; bike.ColorID = bikeAdViewModel.ColorID; bike.DrivenKilometers = bikeAdViewModel.DrivenKilometers; bike.Insurance = bikeAdViewModel.Insurance; Bikes.Update(bike); Bikes.Commit(); Ad ad = Ads.GetByID(bike.AdID); ad.Title = bikeAdViewModel.Title; ad.ConditionID = bikeAdViewModel.ConditionID; ad.Condition = bikeAdViewModel.Condition; ad.Description = bikeAdViewModel.Description; ad.CurrencyID = bikeAdViewModel.CurrencyID; ad.Currency = bikeAdViewModel.Currency; ad.Price = bikeAdViewModel.Price; ad.CountryID = bikeAdViewModel.CountryID; ad.Country = bikeAdViewModel.Country; ad.StateID = bikeAdViewModel.StateID; ad.State = bikeAdViewModel.State; ad.CityID = bikeAdViewModel.CityID; ad.City = bikeAdViewModel.City; ad.Slug = bikeAdViewModel.Title.Replace(' ', '-'); Ads.Update(ad); Ads.Commit(); if (ImageFile != null && ImageFile.ContentLength > 0) { var uploadDir = "~/images"; if (ad.Images != null && ad.Images.Count > 0) { Image oldimage = ad.Images.First(); Images.Delete(oldimage); Images.Commit(); var OldImagePath = Path.Combine(Server.MapPath(uploadDir), oldimage.Path); System.IO.File.Delete(OldImagePath); } var NewImageName = Guid.NewGuid().ToString() + System.IO.Path.GetExtension(ImageFile.FileName); var ImagePath = Path.Combine(Server.MapPath(uploadDir), NewImageName); ImageFile.SaveAs(ImagePath); var image = new Image { Path = NewImageName, //I am saving NewImageName in path because we will use relative path in img tag like ~\images\Model.Images.First().Path etc AdID = ad.ID }; Images.Insert(image); Images.Commit(); } return(RedirectToAction("Details", "BikeAds", new { id = bike.ID })); } return(View(bikeAdViewModel)); }
public ActionResult Create([Bind(Include = "ID,Title,VehicleBrandID,YearID,DrivenKilometers,ColorID,Insurance,ConditionID,Description,CurrencyID,Price,CountryID,StateID,CityID,SellerID,PostingTime")] BikeAdViewModel bikeAdViewModel, HttpPostedFileBase ImageFile) { if (ModelState.IsValid) { Ad ad = new Ad(); ad.Title = bikeAdViewModel.Title; ad.ConditionID = bikeAdViewModel.ConditionID; ad.Description = bikeAdViewModel.Description; ad.CurrencyID = bikeAdViewModel.CurrencyID; ad.Price = bikeAdViewModel.Price; ad.CountryID = bikeAdViewModel.CountryID; ad.StateID = bikeAdViewModel.StateID; ad.CityID = bikeAdViewModel.CityID; string CurrentUserName = User.Identity.GetUserName(); ad.SellerID = Sellers.GetAll().Where(s => s.Username == CurrentUserName).FirstOrDefault().ID; ad.Slug = bikeAdViewModel.Title.Replace(' ', '-'); ad.PostingTime = DateTime.Now; Ads.Insert(ad); Ads.Commit(); Bike bike = new Bike(); bike.VehicleBrandID = bikeAdViewModel.VehicleBrandID; bike.YearID = bikeAdViewModel.YearID; bike.DrivenKilometers = bikeAdViewModel.DrivenKilometers; bike.Insurance = bikeAdViewModel.Insurance; bike.ColorID = bikeAdViewModel.ColorID; bike.AdID = ad.ID; Bikes.Insert(bike); Bikes.Commit(); if (ImageFile != null && ImageFile.ContentLength > 0) { var uploadDir = "~/images"; var NewImageName = Guid.NewGuid().ToString() + System.IO.Path.GetExtension(ImageFile.FileName); var ImagePath = Path.Combine(Server.MapPath(uploadDir), NewImageName); ImageFile.SaveAs(ImagePath); var image = new Image { Path = NewImageName, AdID = ad.ID }; Images.Insert(image); Images.Commit(); } return(RedirectToAction("Details", "BikeAds", new { id = bike.ID })); } bikeAdViewModel.VehicleBrandsList = VehicleBrands.GetAll(); bikeAdViewModel.YearsList = Years.GetAll(); bikeAdViewModel.ColorsList = Colors.GetAll(); bikeAdViewModel.ConditionsList = Conditions.GetAll(); bikeAdViewModel.CurrenciesList = Currencies.GetAll(); bikeAdViewModel.CountriesList = Countries.GetAll(); bikeAdViewModel.StatesList = States.GetAll().Where(c => c.CountryID == bikeAdViewModel.CountryID); bikeAdViewModel.CitiesList = Cities.GetAll().Where(c => c.StateID == bikeAdViewModel.StateID); return(View(bikeAdViewModel)); }