示例#1
0
        //public SMSController()
        //{

        //}

        //public SMSController(ISMSService smsService)
        //{
        //    //_smsService = smsService;
        //}

        public HttpResponseMessage Post(SMSRequest request)
        {
            var smsevents = new SMSEvents();

            switch (request.action)
            {
            case "test":
                break;

            case "outgoing":
            {
                var msgs     = SMSService.FindBy(s => s.Status == 1);
                var messages = new List <SmsOutgoingMessage>();

                if (msgs.Count > 0)
                {
                    foreach (var msg in msgs)
                    {
                        var m = new SmsOutgoingMessage()
                        {
                            id       = msg.SMSID.ToString(),
                            message  = "\"" + msg.Text + "\"",
                            to       = msg.MobileNumber,
                            priority = null,
                            type     = null
                        };

                        messages.Add(m);
                    }
                }

                // messages.Add(messageTwo);
                var sendevents = new List <SmsEventSend>();

                var ev = new SmsEventSend()
                {
                    @event   = "send",
                    messages = messages
                };
                sendevents.Add(ev);
                smsevents.events = sendevents;

                return(Request.CreateResponse(HttpStatusCode.OK, smsevents));
            }

            case "send_status":
            {
                if (request.status == "sent")
                {
                    var id  = Convert.ToInt32(request.id);
                    var msg = SMSService.FindById(id);
                    msg.Status = 2;
                    SMSService.EditSMS(msg);
                }
                break;
            }
            }

            return(Request.CreateResponse(HttpStatusCode.OK, smsevents));
        }
示例#2
0
        public async Task EnqueueMessageAsync(ITurnContext context, Activity activity)
        {
            var turnProperty = feedbackBotStateRepository.ConversationState.CreateProperty <long>("turnId");
            var turnId       = await turnProperty.GetAsync(context, () => - 1);

            OutgoingSms sms = new OutgoingSms
            {
                From = new Participant {
                    UserId = context.Activity.From.Id
                },
                Recipient = new Participant {
                    UserId = context.Activity.Recipient.Id
                },
                Conversation = new BotConversation
                {
                    ConversationId = context.Activity.Conversation.Id,
                    UserId         = context.Activity.From.Id,
                    ActivityId     = activity.Id,
                    TurnId         = turnId
                },
                ChannelData = context.Activity.ChannelData,
                ChannelId   = context.Activity.ChannelId,
                Time        = DateTime.Now.ToString(CultureInfo.InvariantCulture),
                Message     = activity.Text,
            };

            var message = new SmsOutgoingMessage(sms);

            await this.smsQueueProvider.SendAsync(activity.Conversation.Id, message, this.notifyConfig.OutgoingMessageQueueName);
        }
示例#3
0
        public HttpResponseMessage Post(SMSRequest request)
        {
            var smsevents = new SMSEvents();

            //var headerparam = request.GetQueryNameValuePairs();

            //if(request.Content.Headers.Contains("action"))
            //{
            //    return null;
            //}

            //var action = headerparam.SingleOrDefault(t => t.Key == "action");

            if (request.action == "test")
            {
            }

            else if (request.action == "outgoing")
            {
                var msgs     = _smsService.FindBy(s => s.Status == 1);
                var messages = new List <SmsOutgoingMessage>();

                //var outmsgs = new List<out>
                foreach (var msg in msgs)
                {
                    var m = new SmsOutgoingMessage()
                    {
                        id       = msg.SMSID.ToString(),
                        message  = msg.Text,
                        to       = msg.MobileNumber,
                        priority = null,
                        type     = null
                    };
                    messages.Add(m);
                }

                var sendevents = new List <SmsEventSend>();

                //var messageOne = new SmsOutgoingMessage()
                //{
                //    id = "9y7c9cya5711b",
                //    message = "\"Hello Yareda! You are selected to be man of the day! CATS\"",
                //    to = "0911663223",
                //    priority = null,
                //    type = null
                //};

                //var messageTwo = new SmsOutgoingMessage()
                //{
                //    id = "9c7c9cya5711b",
                //    message = "\"Hello Fish! You are selected to be man of the day again! CATS\"",
                //    to = "0911306248",
                //    priority = null,
                //    type = null
                //};

                //messages.Add(messageOne);
                //messages.Add(messageTwo);

                var ev = new SmsEventSend()
                {
                    @event   = "send",
                    messages = messages
                };
                sendevents.Add(ev);
                smsevents.events = sendevents;

                return(Request.CreateResponse(HttpStatusCode.OK, smsevents));
            }
            return(Request.CreateResponse(HttpStatusCode.OK, smsevents));
        }