Beispiel #1
0
        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"));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        public ActionResult SaveConfig()
        {
            // 系统参数
            var systemConfiguration = db.SystemConfiguration.Single();

            HTMLHelper.BindModel(systemConfiguration);

            systemConfiguration.UpdateOn = DateTime.Now;

            db.SaveChanges();
            iKitchenConfig.SystemConfiguration = systemConfiguration;
            SetSuccessMessage();

            return(RedirectToAction("Configuration"));
        }
Beispiel #4
0
        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"));
        }
Beispiel #5
0
        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));
            }
        }
Beispiel #6
0
        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"));
        }