コード例 #1
0
        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());
        }
コード例 #2
0
        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"));
        }