public ActionResult AddProfilePicture([Bind(Exclude = "ProfilePicture")] AddProfilePicture model) { if (ModelState.IsValid) { using (var database = new MarketplaceDbContext()) { var userId = User.Identity.GetUserId(); var user = ViewBag.userPicture = database.Users.FirstOrDefault(a => a.Id == userId); if (user.ProfilePicture != null) { string fullPathPrimary = Request.MapPath("~/Content/ProfilePictures/" + user.ProfilePicture); if (System.IO.File.Exists(fullPathPrimary)) { System.IO.File.Delete(fullPathPrimary); } user.ProfilePicture = null; } HttpPostedFileBase imgFile = Request.Files["ProfilePicture"]; var validImageTypes = new string[] { "image/gif", "image/jpeg", "image/pjpeg", "image/png" }; //upload Primary image if (imgFile != null && imgFile.ContentLength > 0) { if (validImageTypes.Contains(imgFile.ContentType)) { var id = Guid.NewGuid().ToString(); var fileName = id + Path.GetExtension(imgFile.FileName); var path = Path.Combine(Server.MapPath("~/Content/ProfilePictures/"), fileName); imgFile.SaveAs(path); user.ProfilePicture = fileName; } else { TempData["Danger"] = "Позволените формати за снимка са .gif, .jpeg и .png."; return(RedirectToAction("Index")); } } database.Entry(user).State = EntityState.Modified; database.SaveChanges(); TempData["Success"] = "Успешно сменихте профилната си снимка."; } } else { TempData["Danger"] = "Грешка! Моля опитайте отново."; } return(RedirectToAction("Index")); }
public ActionResult Edit(Town town) { if (ModelState.IsValid) { using (var database = new MarketplaceDbContext()) { database.Entry(town).State = System.Data.Entity.EntityState.Modified; database.SaveChanges(); return(RedirectToAction("Index")); } } return(View(town)); }
public ActionResult Edit(AdViewModel model) { // Check if model state is valid if (ModelState.IsValid) { using (var database = new MarketplaceDbContext()) { // Get Ad from database var ad = database.Ads .FirstOrDefault(a => a.Id == model.Id); if (!IsUserAuthorizedToEdit(ad)) { return(new HttpStatusCodeResult(HttpStatusCode.Forbidden)); } // Set Ad properties ad.Title = model.Title; ad.Content = model.Content; ad.Price = model.Price; ad.CategoryId = model.CategoryId; ad.TownId = model.TownId; bool isAdmin = this.User.IsInRole("Admin"); if (isAdmin) { ad.Approved = model.Approved; } // Save Ad state in database database.Entry(ad).State = EntityState.Modified; database.SaveChanges(); // Redirect to the index page TempData["Success"] = "Успешно редактирахте обявата."; return(RedirectToAction("List")); } } // If model state is invalid, retyrn the same view TempData["Danger"] = "Некоректни данни, моля опитайте отново."; return(View(model)); }
public ActionResult Edit(string id, EditUserViewModel viewModel) { if (ModelState.IsValid) { using (var database = new MarketplaceDbContext()) { // Get user from database var user = database.Users.FirstOrDefault(u => u.Id == id); // Check if user axist if (user == null) { return(HttpNotFound()); } // If password field is not empty, change password if (!string.IsNullOrEmpty(viewModel.Password)) { var hasher = new PasswordHasher(); var passwordHash = hasher.HashPassword(viewModel.Password); user.PasswordHash = passwordHash; } // Set user properties user.Email = viewModel.User.Email; user.FullName = viewModel.User.FullName; user.UserName = viewModel.User.Email; this.SetUserRoles(viewModel, user, database); // Save changes database.Entry(user).State = EntityState.Modified; database.SaveChanges(); return(RedirectToAction("List")); } } return(View(viewModel)); }
public ActionResult Create(AdViewModel model, HttpPostedFileBase primaryImage, IEnumerable <HttpPostedFileBase> uploadImages) { if (ModelState.IsValid) { using (var database = new MarketplaceDbContext()) { // Get author Id var authorId = database.Users .Where(u => u.UserName == this.User.Identity.Name) .First() .Id; DateTime DateCreated = DateTime.Now; int viewCount = 0; string adId = Guid.NewGuid().ToString(); var ad = new Ad(adId, 0, authorId, model.Title, model.Content, model.Price, model.CategoryId, model.TownId, viewCount, DateCreated, null); //Save Ad in DB database.Ads.Add(ad); database.SaveChanges(); //Upload images var validImageTypes = new string[] { "image/gif", "image/jpeg", "image/pjpeg", "image/png" }; //upload Primary image if (primaryImage != null && primaryImage.ContentLength > 0) { if (validImageTypes.Contains(primaryImage.ContentType)) { var id = Guid.NewGuid().ToString(); var fileName = id + Path.GetExtension(primaryImage.FileName); var path = Path.Combine(Server.MapPath("~/Content/UploadedImages"), fileName); primaryImage.SaveAs(path); var image = new Image(id, fileName, true, adId); database.Images.Add(image); database.SaveChanges(); ad.primaryImageName = fileName; database.Entry(ad).State = EntityState.Modified; database.SaveChanges(); } else { TempData["Warning"] = "Позволените формати за снимка са .gif, .jpeg и .png. Обявата Ви е качена без главна снимка и ще бъде видима, след като е одобрена."; return(RedirectToAction("List")); } } //upload other images if (uploadImages != null) { foreach (var otherImage in uploadImages) { if (otherImage != null && otherImage.ContentLength > 0) { if (validImageTypes.Contains(otherImage.ContentType)) { var id = Guid.NewGuid().ToString(); var fileName = id + Path.GetExtension(otherImage.FileName); var path = Path.Combine(Server.MapPath("~/Content/UploadedImages"), fileName); otherImage.SaveAs(path); var image = new Image(id, fileName, false, adId); database.Images.Add(image); database.SaveChanges(); } else { TempData["Warning"] = "Позволените формати за снимка са .gif, .jpeg и .png. Обявата Ви е качена и ще бъде видима, след като е одобрена."; return(RedirectToAction("List")); } } } } } TempData["Success"] = "Успешно добавихте обява. Обявата Ви ще бъде видима, след като е одобрена."; return(RedirectToAction("List")); } TempData["Danger"] = "Некоректни данни, моля опитайте отново."; return(RedirectToAction("List")); }