public ActionResult Edit(int?id) { if (!id.HasValue) { return(RedirectToAction(nameof(HomeController.Index))); } var userId = User.Identity.GetUserId(); var post = DbContext.BlogPosts.FirstOrDefault( p => p.Id == id); if (post == null) { return(RedirectToAction(nameof(HomeController.Index))); } post.DateUpdated = DateTime.Now; var model = new CreateHomeViewModel(); model.Title = post.Title; model.Body = post.Body; model.Published = post.Published; model.DateCreated = post.DateCreated; model.DateUpdated = post.DateUpdated; model.Slug = post.Slug; return(View(model)); }
//[Authorize(Roles = "Company")] public async Task <IActionResult> Create() { var model = new CreateHomeViewModel { Categories = await context.Categories.ToDictionaryAsync(x => x.Id, x => x.Name), Cities = await context.Cities.ToDictionaryAsync(x => x.Id, x => x.Name) }; return(View(model)); }
public IActionResult Index() { var client = new RestClient(); CreateHomeViewModel createHomeViewModel = new CreateHomeViewModel(); var requestFriend = new RestRequest("http://localhost:5003/api/friends", DataFormat.Json); var responseFriend = client.Get <List <Friend> >(requestFriend); createHomeViewModel.Friends = responseFriend.Data.Count; var requestCountry = new RestRequest("http://localhost:5000/api/countries", DataFormat.Json); var responseCountry = client.Get <List <Country> >(requestCountry); createHomeViewModel.Countries = responseCountry.Data.Count; var requestState = new RestRequest("http://localhost:5000/api/states", DataFormat.Json); var responseState = client.Get <List <State> >(requestState); createHomeViewModel.States = responseState.Data.Count; return(View(createHomeViewModel)); }
public ActionResult Details(string slug) { if (string.IsNullOrEmpty(slug)) { return(RedirectToAction(nameof(HomeController.Index))); } BlogPost post; if (User.IsInRole("Admin")) { post = DbContext.BlogPosts.FirstOrDefault(p => p.Slug == slug); } else { post = DbContext.BlogPosts.FirstOrDefault(p => p.Slug == slug && p.Published == true); } if (post == null) { return(RedirectToAction(nameof(HomeController.Index))); } var model = new CreateHomeViewModel(); model.Title = post.Title; model.Body = post.Body; model.Id = post.Id; model.Published = post.Published; model.ImageUrl = post.Image; model.Comments = post.Comments; model.DateCreated = post.DateCreated; model.DateUpdated = post.DateUpdated; model.Slug = post.Slug; return(View(model)); }
public async Task <IActionResult> Create(CreateHomeViewModel model) { var currentUser = await userManager.GetUserAsync(User); var home = new Home { Address = model.Address, BuildDate = model.BuildDate, CategoryId = model.CategoryId, CityId = model.CityId, CreateDate = DateTime.Now, CreditTerm = 20, Description = model.Description, Price = model.Price, Rooms = model.Rooms, UserId = currentUser.Id, YearlyPercent = 30 }; await context.Homes.AddAsync(home); await context.SaveChangesAsync(); if (model.Images != null) { foreach (var file in model.Images) { string fileName = await AddFile(file); await context.HomeImages.AddAsync(new HomeImage { HomeId = home.Id, ImagePath = fileName }); } } await context.SaveChangesAsync(); return(RedirectToAction("Index")); }
public IActionResult Create(CreateHomeViewModel vm) { // if(ModelState.IsValid) add annotations later [Required] in model for attributes Home newHome = vm.Home; IFormFile image = vm.Image; // upload image if (image != null && image.Length > 0) { // _environment.WebRootPath --> ~/webroot/images/homes string storageFolder = Path.Combine(_environment.WebRootPath, "images/homes"); // 000-1234-dsaf-asgsa.jpg string newImageName = $"{Guid.NewGuid().ToString()}{Path.GetExtension(image.FileName)}"; // ~/wwwroot/images/home/000-1234-dsaf-asgsa.jpg string fullPath = Path.Combine(storageFolder, newImageName); using (var stream = new FileStream(fullPath, FileMode.Create)) { image.CopyTo(stream); } // append new image location to new Home newHome.ImageURL = $"/images/homes/{newImageName}"; } // Add the landlord newHome.LandlordId = _userManager.GetUserId(User); // save newHome _homeService.Create(newHome); return(RedirectToAction("List")); }
public ActionResult Edit(int id, CreateHomeViewModel model) { model.DateUpdated = DateTime.Now; return(SavePost(id, model)); }
private ActionResult SavePost(int?id, CreateHomeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } if (DbContext.BlogPosts.Any(p => p.Title == model.Title && (!id.HasValue || p.Id != id.Value))) { ModelState.AddModelError(nameof(CreateHomeViewModel.Title), "Post Title should be unique"); return(View()); } string fileExtension; //Validating file upload if (model.Image != null) { fileExtension = Path.GetExtension(model.Image.FileName); if (!ImageHelper.AllowedFileExtensions.Contains(fileExtension)) { ModelState.AddModelError(nameof(CreateHomeViewModel.Image), "File extension is not allowed."); return(View()); } } BlogPost post; if (!id.HasValue) { post = new BlogPost(); DbContext.BlogPosts.Add(post); } else { post = DbContext.BlogPosts.FirstOrDefault(p => p.Id == id); if (post == null) { return(RedirectToAction(nameof(HomeController.Index))); } } post.Title = model.Title; post.Body = model.Body; post.Published = model.Published; post.Slug = ToUrlSlug(model.Title); post.UserId = User.Identity.GetUserId(); post.DateUpdated = model.DateUpdated; //Handling file upload if (model.Image != null) { if (!Directory.Exists(ImageHelper.MappedUploadFolder)) { Directory.CreateDirectory(ImageHelper.MappedUploadFolder); } var fileName = model.Image.FileName; var fullPathWithName = ImageHelper.MappedUploadFolder + fileName; model.Image.SaveAs(fullPathWithName); post.Image = ImageHelper.UploadFolder + fileName; } DbContext.SaveChanges(); return(RedirectToAction(nameof(HomeController.Index))); }
public ActionResult Create(CreateHomeViewModel model) { return(SavePost(null, model)); }