private async void OnMessageReceive(object sender, SystemMessageModel message) { var result = false; var showAlertWithAccept = false; switch (message.MesageId) { case (int)XSystemMessageId.ShowAlert: { //do some thing if (string.IsNullOrEmpty(message.Accept)) { await DisplayAlert(message.Title, message.Message, message.Cancel); } else { result = await DisplayAlert(message.Title, message.Message, message.Accept, message.Cancel); showAlertWithAccept = true; } } break; } var args = new XSystemEvent(result, showAlertWithAccept); var bindingContext = BindingContext as XBaseViewModel; bindingContext?.RaiseSystemEvent(this, args); }
public JsonResult AddMessage(SystemMessageModel model) { JsonModel jm = new JsonModel(); //如果表单模型验证成功 if (ModelState.IsValid) { //模型赋值 T_SystemMessage msg = new T_SystemMessage() { Title = model.Title, Content = model.Content, CreateTime = DateTime.Now }; //调用BLL层进行添加处理 ISystemMessageBLL messageBll = BLLFactory <ISystemMessageBLL> .GetBLL("SystemMessageBLL"); messageBll.Save(msg); //记录日志 jm.Content = PropertyUtils.ModelToJsonString(model); //推送给所有业主客户端 IUserPushBLL userPushBLL = BLLFactory <IUserPushBLL> .GetBLL("UserPushBLL"); var registrationIds = userPushBLL.GetList(p => p.User.DelFlag == ConstantParam.DEL_FLAG_DEFAULT).Select(p => p.RegistrationId).ToArray(); bool flag = PropertyUtils.SendPush("系统消息", model.Title, ConstantParam.MOBILE_TYPE_OWNER, registrationIds); } else { jm.Msg = ConstantParam.JSON_RESULT_MODEL_CHECK_ERROR; } return(Json(jm, JsonRequestBehavior.AllowGet)); }
private async Task <IActionResult> CreateUpdateSystemMessage(SystemMessageModel model, bool update) { if (model.DisplayDate.Start > model.DisplayDate.End) { model.SystemMessageTypeValue = EnumHelper.Parse <SystemMessageType>(model.SystemMessageType.SelectedItem.Value); ModelState.AddModelError($"{nameof(model.DisplayDate)}.{nameof(model.DisplayDate.Start)}", "Visningsdatum för nyheten är fel. Från och med datum kan inte vara större än till och med datum."); } else { if (update) { var sysMessage = await _dbContext.SystemMessages.GetSystemMessageById(model.SystemMessageId); sysMessage.Update(_clock.SwedenNow, User.GetUserId(), User.TryGetImpersonatorId(), model.DisplayDate.Start.ToDateTimeOffsetSweden(), model.DisplayDate.End.ToDateTimeOffsetSweden(), model.SystemMessageHeader, model.SystemMessageText, EnumHelper.Parse <SystemMessageType>(model.SystemMessageType.SelectedItem.Value), model.DisplayedForUserTypeGroup); } else { var sysMessage = new SystemMessage(); sysMessage.Create(_clock.SwedenNow, User.GetUserId(), User.TryGetImpersonatorId(), model.DisplayDate.Start.ToDateTimeOffsetSweden(), model.DisplayDate.End.ToDateTimeOffsetSweden(), model.SystemMessageHeader, model.SystemMessageText, EnumHelper.Parse <SystemMessageType>(model.SystemMessageType.SelectedItem.Value), model.DisplayedForUserTypeGroup); await _dbContext.AddAsync(sysMessage); } await _dbContext.SaveChangesAsync(); return(RedirectToAction("List")); } return(View(model)); }
public async Task <IActionResult> Create(SystemMessageModel model) { if (ModelState.IsValid) { return(await CreateUpdateSystemMessage(model, false)); } return(View(model)); }
public async Task <IActionResult> Edit(int id) { var systemMessage = await _dbContext.SystemMessages.GetSystemMessageById(id); return(View(SystemMessageModel.GetModelFromSystemMessage(systemMessage))); }