public ActionResult EditAd(int Id) { try { var userId = User.Identity.GetUserId(); var houseAd = _ctx.Houses .Include(x => x.State) .Include(x => x.Area) .Include(x => x.HousePhotos) .Include(x => x.User) .Single(x => x.Id == Id && x.UserId == userId); AdFormViewModel vm = new AdFormViewModel(); vm.House = houseAd; vm.Areas = houseAd.State.Areas; vm.House.AreaId = houseAd.AreaId; vm.House.Area = houseAd.Area; vm.House.StateId = houseAd.StateId; vm.Action = "Επεξεργασία Αγγελίας"; vm.ButtonAction = "Αποθήκευση"; vm.FormAction = "UpdateAd"; vm.User = houseAd.User; vm.States = _ctx.States.ToList(); return(View("AdForm", vm)); } catch (Exception ex) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, $"{ex.Message}")); } }
public ActionResult CreateOrUpdateAd(Ad ad) { var viewModel = new AdFormViewModel() { Ad = new Ad(), Cars = _context.Cars.ToList(), Clients = _context.Clients.ToList() }; if (ad.Id == 0) { if (!ModelState.IsValid) { return(View("AdFormCreate", viewModel)); } _context.Ads.Add(ad); } else { var adInDb = _context.Ads.First(a => a.Id == ad.Id); if (!ModelState.IsValid) { return(View("AdFormUpdate", adInDb)); } adInDb.Description = ad.Description; } _context.SaveChanges(); return(RedirectToAction("AdDetails", "Ads", new { ad.Id })); }
public ActionResult AdFormCreate() { var viewModel = new AdFormViewModel() { Clients = _context.Clients.ToList(), Cars = _context.Cars.ToList() }; return(View("AdFormCreate", viewModel)); }
public ActionResult Create() { var userId = User.Identity.GetUserId(); var user = _ctx.Users.Find(userId); var states = _ctx.States.ToList(); var rental = new AdFormViewModel { States = states, User = user, Action = "Εισαγωγή Αγγελίας", ButtonAction = "Καταχώρηση", FormAction = "InsertAd" }; return(View("AdForm", rental)); }
public ActionResult EditAd(int Id) { try { var house = _ctx.Houses .Include(x => x.HousePhotos) .Include("State") .Include("State.Areas") .Single(x => x.Id == Id); var states = _ctx.States.ToList(); AlertDto alert = new AlertDto(); switch (house.IsConfirmed) { case (Confirmation)0: alert.AlertClass = "success"; alert.AlertText = "Δημοσιευμένη"; break; case (Confirmation)1: alert.AlertClass = "warning"; alert.AlertText = "Εκκρεμών"; break; case (Confirmation)2: alert.AlertClass = "danger"; alert.AlertText = "Απορριφθείσα"; break; } AdFormViewModel vm = new AdFormViewModel { States = states, Areas = house.State.Areas, Id = house.Id, Alert = alert, House = new House { AreaId = house.State.Areas.FirstOrDefault(x => x.Id == house.AreaId).Id, StateId = house.State.Id, Address = house.Address, IsConfirmed = house.IsConfirmed, PostalCode = house.PostalCode, Gender = house.Gender, Smoker = house.Smoker, RentCost = house.RentCost, Level = house.Level, SquareMeters = house.SquareMeters, Pets = house.Pets, HousePhotos = house.HousePhotos, TotalRooms = house.TotalRooms, YearConstruct = house.YearConstruct, Description = house.Description } }; return(View(vm)); } catch (Exception ex) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, $"{ex.Message}")); } }
public ActionResult InsertAd(AdFormViewModel vm) { var userId = User.Identity.GetUserId(); if (string.IsNullOrEmpty(userId)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Μη εγκεκριμένος χρήστης")); } if (!ModelState.IsValid) { var states = _ctx.States.ToList(); vm.States = states; vm.Areas = _ctx.Areas.Where(x => x.State.Id == vm.House.StateId).ToList(); vm.ButtonAction = "Καταχώρηση"; vm.Action = "Εισαγωγή Αγγελίας"; return(View("Adform", vm)); } List <HousePhoto> newPhotos = new List <HousePhoto>(); if (vm.Files[0] != null) { foreach (var file in vm.Files) { var result = service.UploadImage(file); var url = result.Uri.ToString(); HousePhoto photo = new HousePhoto { Url = url }; newPhotos.Add(photo); } newPhotos[0].IsMain = true; } var user = _ctx.Users.Find(userId); user.Gender = vm.User.Gender; user.Smoker = vm.User.Smoker; user.Pets = vm.User.Pets; var houseAd = new House { Address = vm.House.Address, PostalCode = vm.House.PostalCode, Level = vm.House.Level, RentCost = vm.House.RentCost, YearConstruct = vm.House.YearConstruct, AreaId = vm.House.AreaId, StateId = vm.House.StateId, UserId = userId, Gender = vm.House.Gender, Pets = vm.House.Pets, Smoker = vm.House.Smoker, Description = vm.House.Description, SquareMeters = vm.House.SquareMeters, TotalRooms = vm.House.TotalRooms, HousePhotos = newPhotos }; _ctx.Houses.Add(houseAd); _ctx.SaveChanges(); TempData["Message"] = "Καταχώρηση"; return(RedirectToAction("GetProfile", "Users")); }
public ActionResult UpdateAd(AdFormViewModel vm) { try { var userId = User.Identity.GetUserId(); var houseAd = _ctx.Houses .Include(x => x.HousePhotos) .Single(x => x.Id == vm.House.Id && x.UserId == userId); if (houseAd.IsConfirmed == Confirmation.Pass) { houseAd.IsConfirmed = Confirmation.Pending; } houseAd.Address = vm.House.Address; houseAd.Description = vm.House.Description; houseAd.Level = vm.House.Level; houseAd.PostalCode = vm.House.PostalCode; houseAd.SquareMeters = vm.House.SquareMeters; houseAd.RentCost = vm.House.RentCost; houseAd.TotalRooms = vm.House.TotalRooms; houseAd.YearConstruct = vm.House.YearConstruct; houseAd.Smoker = vm.House.Smoker; houseAd.Pets = vm.House.Pets; houseAd.Gender = vm.House.Gender; var isMain = houseAd.HousePhotos.Any(x => x.IsMain == true); if (isMain && (vm.Files[0] != null)) { foreach (var file in vm.Files) { var result = service.UploadImage(file); var url = result.Uri.ToString(); HousePhoto photo = new HousePhoto { Url = url, IsMain = false }; houseAd.HousePhotos.Add(photo); } } else { if (vm.Files[0] != null) { for (int i = 0; i < vm.Files.Length; i++) { var result = service.UploadImage(vm.Files[i]); var url = result.Uri.ToString(); if (i == 0) { HousePhoto photo = new HousePhoto { Url = url, IsMain = true }; houseAd.HousePhotos.Add(photo); } else { HousePhoto photo = new HousePhoto { Url = url, IsMain = false }; houseAd.HousePhotos.Add(photo); } } } } _ctx.SaveChanges(); TempData["Message"] = "Καταχώρηση"; return(RedirectToAction("GetProfile", "Users")); } catch (Exception ex) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, $"{ex.Message}")); } }