Exemple #1
0
        public async Task <ActionResult> HeThongEditSukien(int?id)
        {
            if (id == null || id == 0)
            {
                return(RedirectToRoute("AdminPanel"));
            }
            SuKienChung _sukien = await db.SuKienChungs.FindAsync(id);

            if (_sukien == null)
            {
                return(RedirectToRoute("AdminPanel"));
            }

            var getSuKien = new SuKienChungModel()
            {
                SuKienChungId = _sukien.SuKienChungId,
                HeThongId     = _sukien.HeThongId,
                ConfirmSend   = (bool)_sukien.DaThongBao,
                TDSuKien      = _sukien.TDSuKien,
                NDSuKien      = _sukien.NDSuKien,
                NgayBD        = _sukien.NgayBD,
                NgayKT        = _sukien.NgatKT
            };

            return(View(getSuKien));
        }
Exemple #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"));
        }
Exemple #3
0
        public async Task <ActionResult> HeThongEditSukien(SuKienChungModel model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToRoute("HethongEditSKC", new { id = model.SuKienChungId }));
            }
            var _sukien = await db.SuKienChungs.FindAsync(model.SuKienChungId);

            try
            {
                if (_sukien != null)
                {
                    string strThongbao = "";
                    _sukien.TDSuKien  = model.TDSuKien ?? null;
                    _sukien.NDSuKien  = model.NDSuKien ?? null;
                    _sukien.NgayTao   = DateTime.Now;
                    _sukien.HeThongId = model.HeThongId;
                    _sukien.NgayBD    = model.NgayBD ?? null;
                    _sukien.NgatKT    = model.NgayKT ?? null;
                    _sukien.DsAnh     = model.DsAnh ?? null;

                    db.Entry(_sukien).State = EntityState.Modified;

                    if (model.ConfirmSend == true)
                    {
                        if (_sukien.DaThongBao == true)
                        {
                            strThongbao         = "Đã cập nhật sự kiện " + model.TDSuKien ?? "";
                            TempData["Updated"] = strThongbao;
                            TempData["Error"]   = "Sự kiện này đã được gửi thông báo.";
                            await db.SaveChangesAsync();

                            return(RedirectToRoute("HethongEditSKC"));
                        }
                        else
                        {
                            _sukien.DaThongBao = true;
                            await db.SaveChangesAsync();

                            // 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.SieuThiId == 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, _sukien.DsAnh, "HT_" + model.HeThongId.ToString()))
                                {
                                    strThongbao         = "Đã thêm mới sự kiện " + model.TDSuKien ?? "" + " và gửi thông báo.";
                                    TempData["Updated"] = strThongbao;
                                    var user = db.HeThongs.Where(x => x.Email == User.Identity.Name).FirstOrDefault();
                                    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.";
                                    await db.SaveChangesAsync();

                                    return(RedirectToRoute("HethongEditSKC"));
                                }
                            }
                            catch (Exception ex)
                            {
                                TempData["Error"] = "Có lỗi xảy ra khi gửi thông báo.";
                                return(RedirectToRoute("HethongEditSKC"));
                            }
                        }
                    }
                    else
                    {
                        strThongbao         = "Đã cập nhật sự kiện " + model.TDSuKien ?? "";
                        TempData["Updated"] = strThongbao;
                    }
                }
                else
                {
                    return(RedirectToRoute("AdminPanel"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", "Có lỗi xảy ra khi sửa sự kiện");
                return(View(model));
            }

            return(RedirectToRoute("HethongEditSKC", new { id = model.SuKienChungId }));
        }