Example #1
0
        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)));
        }