public ActionResult ChangePassword(ProfileSettingsViewModel model) { var db = new ApplicationDbContext(); var user = db.Users.FirstOrDefault(c => c.UserName == model.UserName); HTMLHelper.BindModel(user); try { db.SaveChanges(); var password = model.Password; if (password.IsNotNullOrEmpty()) { UserManager.RemovePassword(user.Id); UserManager.AddPassword(user.Id, password); SetSuccessMessage("New password has been saved!"); } else { SetSuccessMessage(); } } catch (Exception e) { logger.Debug("Change password Failed!", e); SetErrorMessage(); } return(View("Overall")); }
public ActionResult Create(Event @event) { ModelState.Remove("UserId"); if (ModelState.IsValid) { var newEvent = new Event(); HTMLHelper.BindModel(newEvent); newEvent.UserId = User.Identity.GetUserId(); if (newEvent.SaveOrUpdate()) { // save uploaded file var uploadedFiles = ImageHelper.SaveImageMultiple(); if (uploadedFiles.Count > 0) { foreach (var uploadFile in uploadedFiles) { ImageHelper.CompressImage(uploadFile, 360, 270); var eventImage = new EventImage(); eventImage.EventId = newEvent.Id; eventImage.ImagePath = uploadFile; eventImage.Title = "N/A"; eventImage.SaveOrUpdate(); // todo: use batch insert. } CacheHelper <EventImage> .Clear(); } SetSuccessMessage("Event created!"); CacheHelper <Event> .Clear(); return(Redirect("/Event/Create")); } } SetErrorMessage("Failed to create your event..."); return(View(@event)); }
public ActionResult SaveConfig() { // 系统参数 var systemConfiguration = db.SystemConfiguration.Single(); HTMLHelper.BindModel(systemConfiguration); systemConfiguration.UpdateOn = DateTime.Now; db.SaveChanges(); iKitchenConfig.SystemConfiguration = systemConfiguration; SetSuccessMessage(); return(RedirectToAction("Configuration")); }
public ActionResult ResetPassword(ResetPasswordViewModel model) { var db = new ApplicationDbContext(); string strName = model.UserName; Guid guid = model.Guid.ParseToGuid(); var user = db.Users.FirstOrDefault(c => c.UserName == strName); var resetPasswordRequest = CacheHelper <ResetPassword> .GetAll() .FirstOrDefault(c => c.Guid == guid); if ((DateTime.Now - resetPasswordRequest.CreateOn).TotalHours > 12) { resetPasswordRequest.State = 0; resetPasswordRequest.SaveOrUpdate(); SetErrorMessage("Request has expired!"); return(RedirectToAction("Login", "Account")); } HTMLHelper.BindModel(user); try { db.SaveChanges(); var password = model.Password; if (password.IsNotNullOrEmpty()) { UserManager.RemovePassword(user.Id); UserManager.AddPassword(user.Id, password); resetPasswordRequest.State = 0; resetPasswordRequest.SaveOrUpdate(); SetSuccessMessage("New password has been saved!"); } else { SetSuccessMessage(); } } catch (Exception e) { logger.Debug("Change password Failed!", e); SetErrorMessage(); } return(RedirectToAction("Login", "Account")); }
public virtual ActionResult Save(int?id) { T entity = id > 0 ? table.Find(id) // 编辑 : new T(); // 添加 HTMLHelper.BindModel(entity); if (entity.SaveOrUpdate()) { CacheHelper <T> .Clear(); SetMessage("保存成功!"); return(RedirectToAction("List")); } else { SetMessage("保存失败……"); return(View("Edit", entity)); } }
public ActionResult Edit(int id, Event @event) { ModelState.Remove("UserId"); if (ModelState.IsValid) { var newEvent = db.Event.Find(id); if (newEvent == null || newEvent.UserId != User.Identity.GetUserId() || newEvent.State == -1) { return(HttpNotFound()); } HTMLHelper.BindModel(newEvent); newEvent.UserId = User.Identity.GetUserId(); if (newEvent.SaveOrUpdate()) { // save uploaded file var uploadedFiles = ImageHelper.SaveImageMultiple(); if (uploadedFiles.Count > 0) { foreach (var uploadFile in uploadedFiles) { ImageHelper.CompressImage(uploadFile, 360, 270); var eventImage = new EventImage(); eventImage.EventId = newEvent.Id; eventImage.ImagePath = uploadFile; eventImage.Title = "N/A"; eventImage.SaveOrUpdate(); // todo: use batch insert. } CacheHelper <EventImage> .Clear(); } SetSuccessMessage("Event Saved!"); CacheHelper <Event> .Clear(); return(Redirect("/Event/MyEvents")); } } SetErrorMessage("Failed to save your event..."); ViewData.Model = @event; return(View("Create")); }