Beispiel #1
0
        void BtnSave_Click(object sender, RoutedEventArgs e)
        {
            if (!validate())
            {
                return;
            }

            if (messageTemplate == null)
            {
                messageTemplate = new MessageTemplates();
            }

            messageTemplate.Name     = tbxName.Text;
            messageTemplate.Theme    = tbxTheme.Text;
            messageTemplate.Template = tbxTemplate.Text;

            loadingProgress.Visibility = Visibility.Visible;
            IsEnabled = false;

            Task.Factory.StartNew(() => {
                if (messageTemplate.save())
                {
                    Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => { successSave(); }));
                }
                else
                {
                    Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => { errorSave(); }));
                }
            });
        }
Beispiel #2
0
        /// <summary>
        /// 动态点赞通知
        /// </summary>
        /// <param name="userId">接收者(用户)的 userId</param>
        /// <param name="date">点赞时间,4小时制时间格式(支持+年月日)	例如:15:01,或:2019年10月1日 15:01</param>
        /// <param name="page"></param>
        public static CommonResult SendGoodNotice(string userId, string date, string page)
        {
            CommonResult result = new CommonResult();
            User         user   = new UserApp().GetUserById(userId);

            if (user != null && !string.IsNullOrEmpty(date))
            {
                MessageTemplates template = messageTemplatesService.GetByMessageType("RemarkNotice");

                if (!string.IsNullOrEmpty(template.WxAppletSubscribeTemplateId) && template.UseInWxApplet)
                {
                    MemberSubscribeMsg memberSubscribeMsg = memberSubscribeMsgService.GetByMessageTemplateIdAndUser(template.Id, userId, "WxApplet");
                    if (memberSubscribeMsg.SubscribeStatus == "accept")
                    {
                        UserOpenIds userOpenIds = new UserApp().GetUserOpenIdById(userId, "yuebon.openid.wxapplet");
                        if (userOpenIds != null)
                        {
                            WxJsonResult wxJsonResult = WxAppletSubscribeMessage.SendGoodNotice(userOpenIds.OpenId, template.WxAppletTemplateId, user.NickName, date, page);
                            result.ErrCode = wxJsonResult.errcode.ToString();
                            result.ErrMsg  = wxJsonResult.errmsg;
                        }
                    }
                }
                else
                {
                    result.Success = true;
                    result.ErrCode = "用户拒绝或未订阅";
                }
            }
            return(result);
        }
Beispiel #3
0
        string getMessageBody()
        {
            int transportCompanyId            = (int)cbxTransportCompany.SelectedValue;
            TransportCompany transportCompany = TransportCompanyViewModel.instance().getById(transportCompanyId);

            if (transportCompany == null)
            {
                return("");
            }

            MessageTemplates messageTemplate = MessageTemplatesViewModel.instance().getById(transportCompany.Id_message_template);

            if (messageTemplate == null)
            {
                return("");
            }

            string msg = messageTemplate.Template;

            msg = msg.Replace("{SHIPMENT_DATE}", dpShipmentDate.SelectedDate.Value.ToString("dd.MM.yyyy"));
            msg = msg.Replace("{TRANSPORT_COMPANY_NAME}", transportCompany.Name);
            msg = msg.Replace("{WAYBILL}", tbxWaybill.Text);
            msg = msg.Replace("{TRANSPORT_COMPANY_SITE}", transportCompany.Site);

            return(msg);
        }
Beispiel #4
0
        public override Task <string> GetResponseString(string method, HttpListenerRequest request, System.Collections.Specialized.NameValueCollection queryString, string data)
        {
            var deviceId = queryString ["DeviceId"];
            var server   = request.Url.Host;
            var resp     = MessageTemplates.GetSetupTemplate(server, AmazonEchoWebServer.EchoWebServerPort, EchoDiscoveryService.GetDeviceId());

            return(Task.FromResult(resp));
        }
Beispiel #5
0
        //Изменение выбранной транспортной компании
        void CbxTransportCompany_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            if (bid.BidBuyer.Email != "" && IsEmail.Valid(bid.BidBuyer.Email))
            {
                cbIsMailSend.IsChecked = true;
                gbxBidFiles.Visibility = Visibility.Visible;
            }
            else
            {
                cbIsMailSend.IsChecked = false;
                cbIsMailSend.IsEnabled = false;
                gbxBidFiles.Visibility = Visibility.Collapsed;
                return;
            }

            if (e.AddedItems.Count == 0)
            {
                return;
            }

            TransportCompany tc = e.AddedItems[0] as TransportCompany;

            if (tc == null)
            {
                cbIsMailSend.IsChecked = false;
                cbIsMailSend.IsEnabled = false;
                gbxBidFiles.Visibility = Visibility.Collapsed;
                return;
            }

            MessageTemplates messageTemplate = MessageTemplatesViewModel.instance().getById(tc.Id_message_template);

            //Если шаблон null
            if (messageTemplate == null)
            {
                cbIsMailSend.IsChecked = false;
                cbIsMailSend.IsEnabled = false;
                gbxBidFiles.Visibility = Visibility.Collapsed;
                return;
            }

            // Если шаблон пустой
            if (messageTemplate.Template == "")
            {
                cbIsMailSend.IsChecked = false;
                cbIsMailSend.IsEnabled = false;
                gbxBidFiles.Visibility = Visibility.Collapsed;
            }
            else
            {
                cbIsMailSend.IsEnabled = true;
                cbIsMailSend.IsChecked = true;
                gbxBidFiles.Visibility = Visibility.Visible;
            }
        }
Beispiel #6
0
        void MessageReceived(string message, IPEndPoint local, IPEndPoint address)
        {
            if (!(isSSDPDiscovery(message)))
            {
                return;
            }

            var discoveryMessage = MessageTemplates.GetDiscoveryTemplate(GetAddress().ToString(), AmazonEchoWebServer.EchoWebServerPort, GetDeviceId());

            SendMessage(discoveryMessage, address);
        }
        public void CanNotBeEmpty_Test(string name)
        {
            // Arrange
            var expectedMessage = $"{name} can not be empty";

            // Act
            var messageFromTemplate = MessageTemplates.CanNotBeEmpty(name);

            // Assert
            Assert.Equal(expectedMessage, messageFromTemplate);
        }
        public void IsNotValid_Test(string name)
        {
            // Arrange
            var expectedMessage = $"{name} is not valid";

            // Act
            var messageFromTemplate = MessageTemplates.IsNotValid(name);

            // Assert
            Assert.Equal(expectedMessage, messageFromTemplate);
        }
Beispiel #9
0
        void BtnEditRow_Click(object sender, RoutedEventArgs e)
        {
            MessageTemplates messageTemplate = dgvMessageTemplates.SelectedItem as MessageTemplates;

            if (messageTemplate == null)
            {
                return;
            }
            MessageTemplatesSaveWindow window = new MessageTemplatesSaveWindow(messageTemplate);

            window.ShowDialog();
        }
Beispiel #10
0
        /// <summary>
        /// 拨打电话通知
        /// </summary>
        /// <param name="userId">接收者(用户)的 userId</param>
        /// <param name="phone">接收者(用户)的电话号码</param>
        /// <param name="message">可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 "{\"name\":\"Tom\", \"code\":\"123\"}"</param>
        /// <param name="page"></param>
        public static CommonResult SendMakePhoneCallNotice(string userId, string phone, string message, string page)
        {
            CommonResult result = new CommonResult();
            User         user   = new UserApp().GetUserById(userId);

            if (user != null && !string.IsNullOrEmpty(phone))
            {
                MessageTemplates template = messageTemplatesService.GetByMessageType("MakePhoneCallNotice");
                if (template != null)
                {
                    #region 发送微信小程序模板消息
                    if (!string.IsNullOrEmpty(template.WxAppletSubscribeTemplateId) && template.UseInWxApplet)
                    {
                        MemberSubscribeMsg memberSubscribeMsg = memberSubscribeMsgService.GetByMessageTemplateIdAndUser(template.Id, userId, "WxApplet");
                        if (memberSubscribeMsg.SubscribeStatus == "accept")
                        {
                            UserOpenIds userOpenIds = new UserApp().GetUserOpenIdById(userId, "yuebon.openid.wxapplet");
                            if (userOpenIds != null)
                            {
                                WxJsonResult wxJsonResult = WxAppletSubscribeMessage.SendGoodNotice(userOpenIds.OpenId, template.WxAppletTemplateId, user.NickName, phone, page);
                                result.ErrCode = wxJsonResult.errcode.ToString();
                                result.ErrMsg  = wxJsonResult.errmsg;
                            }
                        }
                    }
                    else
                    {
                        result.ErrCode = "0";
                        result.Success = true;
                        result.ErrCode = "用户拒绝或未订阅";
                    }
                    #endregion

                    #region 发送SMS短信
                    if (!string.IsNullOrEmpty(template.SMSTemplateCode) && template.SendSMS)
                    {
                        AliYunSMS aliYunSMS = new AliYunSMS();
                        string    outmsg    = string.Empty;
                        bool      sendRs    = aliYunSMS.Send(phone, template.SMSTemplateCode, message, out outmsg);
                        if (sendRs)
                        {
                            result.ErrCode = "0";
                            result.Success = true;
                            result.ErrMsg  = "短信发送成功";
                        }
                    }
                    #endregion
                }
            }
            return(result);
        }
Beispiel #11
0
        public MessageTemplatesSaveWindow(MessageTemplates messageTemplate)
        {
            InitializeComponent();
            defaultBrush = tbxName.Background;

            Title            = "Редактирование шаблона сообщения " + messageTemplate.Name;
            tbxName.Text     = messageTemplate.Name;
            tbxTheme.Text    = messageTemplate.Theme;
            tbxTemplate.Text = messageTemplate.Template;

            this.messageTemplate = messageTemplate;

            tbxName.TextChanged += delegate { tbxName.Background = defaultBrush; };
        }
Beispiel #12
0
        public bool @remove <T>(T modelItem)
        {
            MessageTemplates messageTemplate = modelItem as MessageTemplates;

            if (messageTemplate == null)
            {
                messageTemplate.LastError = "Не удалось преобразовать входные данные.";
                return(false);
            }
            if (!_collection.Contains(messageTemplate))
            {
                return(true);
            }
            return(_collection.Remove(messageTemplate));
        }
Beispiel #13
0
        public async Task <IActionResult> OnPostAsync()
        {
            var token = _tokenService.Create(
                TokenService.generateToken()
                );
            await _emailService.sendEmailMessage(
                Email,
                MessageTemplates.InviteMessage(token)
                );

            return(RedirectToPage(
                       "/Warning",
                       new {
                warningMessage = WarningMessages.InvitationSentOutSuccessfully
            }
                       ));
        }
Beispiel #14
0
        public MessageTemplatesWindow()
        {
            InitializeComponent();

            viewSource.Source = MessageTemplatesViewModel.instance().Collection;

            viewSource.Filter += delegate(object sender, FilterEventArgs e)
            {
                MessageTemplates messageTemplate = e.Item as MessageTemplates;
                if (messageTemplate == null)
                {
                    return;
                }
                e.Accepted = messageTemplate.IsVisible;
            };
            DataContext = new { MessageTemplatesCollection = viewSource.View };
        }
Beispiel #15
0
        /// <summary>
        /// 留言提醒
        /// </summary>
        /// <param name="userId">接收者(用户)的 userId</param>
        /// <param name="text">留言内容,20个以内字符</param>
        /// <param name="date">留言时间,4小时制时间格式(支持+年月日)	例如:15:01,或:2019年10月1日 15:01</param>
        /// <param name="page">点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。</param>
        public static CommonResult SendCommentNotice(string userId, string text, string date, string page = "")
        {
            CommonResult result = new CommonResult();
            User         user   = new UserApp().GetUserById(userId);

            if (user != null && !string.IsNullOrEmpty(text))
            {
                MessageTemplates template = messageTemplatesService.GetByMessageType("CommentNotice");
                if (!string.IsNullOrEmpty(template.InnerMessageSubject) && !string.IsNullOrEmpty(template.InnerMessageBody) && template.SendInnerMessage)
                {
                    MemberMessageBox memberMessageBox = new MemberMessageBox();
                    memberMessageBox.Id         = GuidUtils.CreateNo();
                    memberMessageBox.IsRead     = false;
                    memberMessageBox.Sernder    = "系统消息";
                    memberMessageBox.Accepter   = userId;
                    memberMessageBox.MsgContent = string.Format(template.InnerMessageBody, text, date);
                    memberMessageBoxService.Insert(memberMessageBox);
                }
                if (!string.IsNullOrEmpty(template.WxAppletSubscribeTemplateId) && template.UseInWxApplet)
                {
                    MemberSubscribeMsg memberSubscribeMsg = memberSubscribeMsgService.GetByMessageTemplateIdAndUser(template.Id, userId, "WxApplet");
                    if (memberSubscribeMsg.SubscribeStatus == "accept")
                    {
                        UserOpenIds userOpenIds = new UserApp().GetUserOpenIdById(userId, "yuebon.openid.wxapplet");
                        if (userOpenIds != null)
                        {
                            WxJsonResult wxJsonResult = WxAppletSubscribeMessage.SendCommentNotice(userOpenIds.OpenId, template.WxAppletSubscribeTemplateId, text, date, page);
                            result.ErrCode = wxJsonResult.errcode.ToString();
                            result.ErrMsg  = wxJsonResult.errmsg;
                        }
                    }
                    else
                    {
                        result.Success = true;
                        result.ErrCode = "用户拒绝订阅";
                    }
                }
                else
                {
                    result.Success = true;
                    result.ErrCode = "用户未订阅";
                }
            }
            return(result);
        }
Beispiel #16
0
        //Дабл клик по строке таблицы - открывает окно редактирования
        private void DgvBid_RowDoubleClick(object sender, MouseButtonEventArgs e)
        {
            DataGridRow row = sender as DataGridRow;

            MessageTemplates template = row.Item as MessageTemplates;

            if (template == null)
            {
                return;
            }

            MessageTemplatesSaveWindow window = new MessageTemplatesSaveWindow(template);

            window.ShowDialog();

            viewSource.View.Refresh();
            dgvMessageTemplates.CurrentCell = new DataGridCellInfo(row.Item, dgvMessageTemplates.CurrentCell.Column);
        }
Beispiel #17
0
        string getTheme()
        {
            int transportCompanyId            = (int)cbxTransportCompany.SelectedValue;
            TransportCompany transportCompany = TransportCompanyViewModel.instance().getById(transportCompanyId);

            if (transportCompany == null)
            {
                return("");
            }

            MessageTemplates messageTemplate = MessageTemplatesViewModel.instance().getById(transportCompany.Id_message_template);

            if (messageTemplate == null)
            {
                return("");
            }

            return(messageTemplate.Theme);
        }
Beispiel #18
0
        public bool @add <T>(T modelItem)
        {
            MessageTemplates messageTemplate = modelItem as MessageTemplates;

            if (messageTemplate == null)
            {
                messageTemplate.LastError = "Не удалось преобразовать входные данные.";
                return(false);
            }
            MessageTemplates exist = getById(messageTemplate.Id);

            if (exist != null || _collection.Contains(messageTemplate))
            {
                //bidFiles.LastError = "Данная запись уже есть в коллекции.";
                return(true);
            }
            _collection.Add(messageTemplate);
            return(true);
        }
Beispiel #19
0
        void BtnDeleteRow_Click(object sender, RoutedEventArgs e)
        {
            if (MessageBox.Show("Подтвердите удаление",
                                "Удалить выбранную запись?",
                                MessageBoxButton.YesNo) != MessageBoxResult.Yes)
            {
                return;
            }
            MessageTemplates messageTemplate = dgvMessageTemplates.SelectedItem as MessageTemplates;

            if (messageTemplate == null)
            {
                return;
            }
            if (!messageTemplate.remove())
            {
                MessageBox.Show(messageTemplate.LastError);
            }
        }
        public static IEnumerable <object[]> GetMessageTemplates()
        {
            var messageTemplates = new MessageTemplates();

            yield return(new object[] { messageTemplates.Counter });

            yield return(new object[] { messageTemplates.CounterItem });

            yield return(new object[] { messageTemplates.Fallback });

            yield return(new object[] { messageTemplates.Gauge });

            yield return(new object[] { messageTemplates.Histogram });

            yield return(new object[] { messageTemplates.Meter });

            yield return(new object[] { messageTemplates.MeterItem });

            yield return(new object[] { messageTemplates.Timer });
        }
Beispiel #21
0
 public MessageTemplate FindMessageTemplateById(Guid id)
 {
     return(MessageTemplates.FirstOrDefault(x => x.Id == id));
 }
Beispiel #22
0
        /// <summary>
        /// 阅读浏览提醒
        /// </summary>
        /// <param name="userId">接收者(用户)的 userId</param>
        /// <param name="phone">接收者(用户)的电话号码</param>
        /// <param name="title">更新内容,20个以内字符</param>
        /// <param name="remark">备注,20个以内字符</param>
        /// <param name="smsMessage">短信消息,可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 "{\"name\":\"Tom\", \"code\":\"123\"}"</param>
        /// <param name="page"></param>
        /// <returns></returns>
        public static CommonResult SendReadNotice(string userId, string phone, string title, string remark, string smsMessage, string page = "")
        {
            CommonResult result = new CommonResult();
            User         user   = new UserApp().GetUserById(userId);

            if (user != null && !string.IsNullOrEmpty(title))
            {
                MessageTemplates template = messageTemplatesService.GetByMessageType("ReadNotice");

                if (!string.IsNullOrEmpty(template.InnerMessageSubject) && !string.IsNullOrEmpty(template.InnerMessageBody) && template.SendInnerMessage)
                {
                    MemberMessageBox memberMessageBox = new MemberMessageBox();
                    memberMessageBox.Id         = GuidUtils.CreateNo();
                    memberMessageBox.IsRead     = false;
                    memberMessageBox.Sernder    = "浏览阅读";
                    memberMessageBox.Accepter   = userId;
                    memberMessageBox.MsgContent = string.Format(template.InnerMessageBody, title, remark);
                    memberMessageBoxService.Insert(memberMessageBox);
                }

                #region 发送小程序模板消息
                if (!string.IsNullOrEmpty(template.WxAppletSubscribeTemplateId) && template.UseInWxApplet)
                {
                    MemberSubscribeMsg memberSubscribeMsg = memberSubscribeMsgService.GetByMessageTemplateIdAndUser(template.Id, userId, "WxApplet");
                    if (memberSubscribeMsg != null)
                    {
                        if (memberSubscribeMsg.SubscribeStatus == "accept")
                        {
                            UserOpenIds userOpenIds = new UserApp().GetUserOpenIdById(userId, "yuebon.openid.wxapplet");
                            if (userOpenIds != null)
                            {
                                WxJsonResult wxJsonResult = WxAppletSubscribeMessage.SendNewsMorningNotice(userOpenIds.OpenId, template.WxAppletSubscribeTemplateId, title, remark, page);
                                if (wxJsonResult.errcode.ToString() == "请求成功" || wxJsonResult.errcode.ToString() == "用户拒绝接受消息")
                                {
                                    result.ErrCode = "0";
                                    result.ErrMsg  = wxJsonResult.errcode.ToString();
                                }
                                else
                                {
                                    result.ErrCode = "0";
                                    result.ErrMsg  = wxJsonResult.errcode.ToString() + wxJsonResult.ToJson();
                                }
                            }
                        }
                        else
                        {
                            result.ErrCode = "0";
                            result.ErrMsg  = "用户拒绝";
                        }
                    }
                    else
                    {
                        result.ErrCode = "0";
                        result.ErrMsg  = "用户未订阅";
                    }
                }
                else
                {
                    result.ErrCode = "0";
                    result.ErrMsg  = "用户拒绝";
                }
                #endregion

                #region 发送SMS短信
                if (!string.IsNullOrEmpty(template.SMSTemplateCode) && template.SendSMS)
                {
                    AliYunSMS aliYunSMS = new AliYunSMS();
                    string    outmsg    = string.Empty;
                    bool      sendRs    = aliYunSMS.Send(phone, template.SMSTemplateCode, smsMessage, out outmsg);
                    if (sendRs)
                    {
                        result.ErrCode = "0";
                        result.Success = true;
                        result.ErrMsg  = "短信发送成功";
                    }
                }
                #endregion
            }
            return(result);
        }
Beispiel #23
0
        /// <summary>
        /// 资讯早报提醒
        /// </summary>
        /// <param name="userId">接收者(用户)的 userId</param>
        /// <param name="title">更新内容,20个以内字符</param>
        /// <param name="remark">备注,20个以内字符</param>
        /// <param name="page"></param>
        /// <returns></returns>
        public static CommonResult SendNewsMorningNotice(string userId, string title, string remark, string page = "")
        {
            CommonResult result = new CommonResult();
            User         user   = new UserApp().GetUserById(userId);

            if (user != null && !string.IsNullOrEmpty(title))
            {
                MessageTemplates template = messageTemplatesService.GetByMessageType("NewsMorningNotice");
                if (!string.IsNullOrEmpty(template.InnerMessageSubject) && !string.IsNullOrEmpty(template.InnerMessageBody) && template.SendInnerMessage)
                {
                    MemberMessageBox memberMessageBox = new MemberMessageBox();
                    memberMessageBox.Id         = GuidUtils.CreateNo();
                    memberMessageBox.IsRead     = false;
                    memberMessageBox.Sernder    = "资讯早报";
                    memberMessageBox.Accepter   = userId;
                    memberMessageBox.MsgContent = string.Format(template.InnerMessageBody, title, remark);
                    memberMessageBoxService.Insert(memberMessageBox);
                }

                if (!string.IsNullOrEmpty(template.WxAppletSubscribeTemplateId) && template.UseInWxApplet)
                {
                    MemberSubscribeMsg memberSubscribeMsg = memberSubscribeMsgService.GetByMessageTemplateIdAndUser(template.Id, userId, "WxApplet");
                    if (memberSubscribeMsg != null)
                    {
                        if (memberSubscribeMsg.SubscribeStatus == "accept")
                        {
                            UserOpenIds userOpenIds = new UserApp().GetUserOpenIdById(userId, "yuebon.openid.wxapplet");
                            if (userOpenIds != null)
                            {
                                WxJsonResult wxJsonResult = WxAppletSubscribeMessage.SendNewsMorningNotice(userOpenIds.OpenId, template.WxAppletSubscribeTemplateId, title, remark, page);
                                if (wxJsonResult.errcode.ToString() == "请求成功" || wxJsonResult.errcode.ToString() == "用户拒绝接受消息")
                                {
                                    result.ErrCode = "0";
                                    result.ErrMsg  = wxJsonResult.errcode.ToString();
                                }
                                else
                                {
                                    result.ErrCode = "0";
                                    result.ErrMsg  = wxJsonResult.errcode.ToString() + wxJsonResult.ToJson();
                                }
                            }
                        }
                        else
                        {
                            result.ErrCode = "0";
                            result.ErrMsg  = "用户拒绝";
                        }
                    }
                    else
                    {
                        result.ErrCode = "0";
                        result.ErrMsg  = "用户未订阅";
                    }
                }
                else
                {
                    result.ErrCode = "0";
                    result.ErrMsg  = "用户拒绝";
                }
            }
            return(result);
        }
Beispiel #24
0
 public void Info(Type reporting, string messageTemplate, params object[] propertyValues)
 {
     Console.WriteLine("INFO {0} - {1}", reporting.Name, MessageTemplates.Render(messageTemplate, propertyValues));
 }
Beispiel #25
0
 public void Warn(Type reporting, Exception exception, string message, params object[] propertyValues)
 {
     Console.WriteLine("WARN {0} - {1}", reporting.Name, MessageTemplates.Render(message, propertyValues));
     Console.WriteLine(exception);
 }