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)); }
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")); }
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 })); }