public ActionResult ChangePasswordHeThong(ChangePasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } if (new UserManager().CheckPassUserHeThong(User.Identity.Name, model.OldPassword)) { var _hethong = db.HeThongs.Where(x => x.Email == User.Identity.Name).FirstOrDefault(); if (_hethong != null) { _hethong.Pass = model.NewPassword != null?Helpers.Config.Encrypt(model.NewPassword) : null; db.Entry(_hethong).State = EntityState.Modified; db.SaveChanges(); TempData["Updated"] = "Cập nhật mật khẩu mới thành công!"; var ident = new ClaimsIdentity( new[] { // adding following 2 claim just for supporting default antiforgery provider new Claim(ClaimTypes.NameIdentifier, _hethong.Email), new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "ASP.NET Identity", "http://www.w3.org/2001/XMLSchema#string"), new Claim(ClaimTypes.Name, _hethong.Email), // optionally you could add roles if any new Claim(ClaimTypes.Role, "hethong"), }, DefaultAuthenticationTypes.ApplicationCookie); HttpContext.GetOwinContext().Authentication.SignIn( new AuthenticationProperties { IsPersistent = false }, ident); } return(RedirectToRoute("ChangePassUserHeThong")); } ModelState.AddModelError("", "Mật khẩu hiện tại không đúng."); return(View()); }
public async Task <ActionResult> HeThongAddNewSuKien(SuKienChungModel model) { if (!ModelState.IsValid) { TempData["Error"] = "Vui lòng kiểm tra lại thông tin sự kiện."; return(RedirectToRoute("HethongAddNewSKC")); } // check sự kiện limit và thời gian gửi var user = db.HeThongs.Where(x => x.Email == User.Identity.Name).FirstOrDefault(); var timeDelay = ConfigurationManager.AppSettings["TimeDelayEvent"].ToString(); if (user.SoLuotSukien == 0) { TempData["Error"] = ConfigurationManager.AppSettings["strThongBaoHT"].ToString(); return(RedirectToRoute("HethongAddNewSKC")); } var getsukienmoinhat = db.SuKienChungs.OrderByDescending(x => x.NgayTao).ToList().FirstOrDefault(); if (getsukienmoinhat != null) { DateTime _ngay1 = (DateTime)getsukienmoinhat.NgayTao; double _totalSeconds = (DateTime.Now - _ngay1).TotalSeconds; if (_totalSeconds < Convert.ToInt32(timeDelay)) { TempData["Error"] = ConfigurationManager.AppSettings["strErrorSukien"].ToString(); return(RedirectToRoute("HethongAddNewSKC")); } } try { string strThongBao = ""; SuKienChung _newSkc = new SuKienChung(); _newSkc.HeThongId = model.HeThongId ?? null; _newSkc.TDSuKien = model.TDSuKien ?? null; _newSkc.NDSuKien = model.NDSuKien ?? null; _newSkc.NgayTao = DateTime.Now; _newSkc.DaThongBao = model.ConfirmSend; _newSkc.NgayBD = model.NgayBD ?? null; _newSkc.NgatKT = model.NgayKT ?? null; _newSkc.DsAnh = model.DsAnh ?? null; //YourString = YourString.Remove(YourString.Length - 1); //_dsanh = _dsanh.Remove(_dsanh.Length - 1); //_newSkc.DsAnh = _dsanh != "" ? _dsanh : null; db.SuKienChungs.Add(_newSkc); await db.SaveChangesAsync(); if (model.ConfirmSend == true) { // Gửi thông báo tới người đăng ký nhận thông báo var dssieuthi = db.SieuThis.Where(x => x.HeThongId == model.HeThongId).Select(x => x.SieuThiId).ToList(); try { string _fcmAppId = ConfigurationManager.AppSettings["fcmAppId"]; string _fcmSenderId = ConfigurationManager.AppSettings["fcmSenderId"]; if (GuiThongBaoFcm(_fcmAppId, _fcmSenderId, model.TDSuKien, dssieuthi, model.DsAnh, "HT_" + model.HeThongId.ToString())) { strThongBao = "Đã thêm mới sự kiện và gửi thông báo đến người dùng thành công."; TempData["Updated"] = strThongBao; // trừ đi 1 lượt sự kiên user.SoLuotSukien -= 1; db.Entry(user).State = EntityState.Modified; db.SaveChanges(); } else { TempData["Error"] = "Có lỗi xảy ra khi gửi thông báo."; return(RedirectToRoute("HethongAddNewSKC")); } } catch (Exception ex) { TempData["Error"] = "Có lỗi xảy ra gửi thông báo."; return(RedirectToRoute("HethongAddNewSKC")); } } else { strThongBao = "Đã thêm mới sự kiện " + model.TDSuKien ?? "" + " vào hệ thống"; TempData["Updated"] = strThongBao; } } catch { TempData["Error"] = "Có lỗi xảy ra khi thêm sự kiện."; return(RedirectToRoute("HethongAddNewSKC")); } return(RedirectToRoute("HethongAddNewSKC")); }