示例#1
0
        private void sendCommandToServer()
        {
            BLL.tb_log        log    = new BLL.tb_log();
            List <BLL.tb_log> l_list = log.LoadlogstoSendCommandToServer();

            for (int i = 0; i < l_list.Count; i++)
            {
                SendMessage(l_list[i].msg_text.Trim());
                log.logger_id             = l_list[i].logger_id;
                log.to_command_time_stamp = DateTime.Now;
                log.isCommandSent         = true;
                log.UpdateCommandSentToServer(log);
                txtLogs.Text     += DateTime.Now + "-" + ("Message Sent to Server for Processing..." + "\r\n");
                txtLogs.ForeColor = Color.Magenta;
            }
        }
        private async void SendMessage(String message_text, int log_id)
        {
            message_sent = false;
            //if (message_text.StartsWith("loc", true, null))
            //{
            //    if(message_text.Length>15){
            //    string number = message_text.Substring(4, 12);
            //    string net = getNetwork(number);
            //    //MessageBox.Show("Number is= "+number +"Netwotk is   "+net);
            //    string command = "";
            //    string address = "";
            //    string subj = "";

            //    if (net.Equals("mobilink"))
            //    {
            //        subj = "Loc Query";
            //        command = number;
            //        address = "*****@*****.**";
            //    }
            //    else if (net.Equals("warid"))
            //    {
            //        subj = "Location Query";
            //        command = number;
            //        address = "*****@*****.**";
            //    }
            //    else if (net.Equals("ufone"))
            //    {
            //        subj = number;
            //        command = "";
            //        address = "*****@*****.**";

            //    }
            //    else if (net.Equals("zong"))
            //    {
            //        subj = "FIR";
            //        command = "Location Please = " + number;
            //        address = "*****@*****.**";
            //    }
            //    else if (net.Equals("telenor"))
            //    {
            //        subj = "FIR";
            //        command = "Loc " + number;
            //        address = "*****@*****.**";
            //    }

            //    txtLogs.Text = subj + " Command= " + command + " Address= " + address;
            //    if (sendCommand(subj, command, address))
            //    {
            //        txtLogs.Text += DateTime.Now + "-" + ("Email Command Sent..." + "\r\n");
            //    }
            //    }
            //    return;
            //}

            string sender_number;

            if (message_text.StartsWith("cnic", true, null) || message_text.StartsWith("sub", true, null) || message_text.StartsWith("vehicle", true, null))
            {
                sender_number = server_number155;
                // server_number = server_number155;
            }
            else
            {
                sender_number = server_number;
            }

            try
            {
                using (var client = new HttpClient())
                {
                    string url = ConstructBaseUri();
                    client.BaseAddress = new Uri(url);
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    if (!string.IsNullOrEmpty(txtUserName.Text) && !string.IsNullOrEmpty(txtPassword.Text))
                    {
                        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
                            "Basic",
                            Convert.ToBase64String(
                                ASCIIEncoding.ASCII.GetBytes(
                                    string.Format("{0}:{1}", txtUserName.Text, txtPassword.Text))));
                    }


                    var postData = new List <KeyValuePair <string, string> >();
                    postData.Add(new KeyValuePair <string, string>("to", sender_number));
                    postData.Add(new KeyValuePair <string, string>("message", message_text));
                    HttpContent content = new FormUrlEncodedContent(postData);


                    HttpResponseMessage response = await client.PostAsync(MessagesUrlPath, content);

                    if (response.IsSuccessStatusCode)
                    {
                        PostMessageResponse result = await response.Content.ReadAsAsync <PostMessageResponse>();

                        if (result.IsSuccessful)
                        {
                            message_sent = true;

                            //Update log

                            BLL.tb_log log = new BLL.tb_log();
                            log.logger_id             = log_id;
                            log.to_command_time_stamp = DateTime.Now;
                            log.isCommandSent         = true;
                            if (log.UpdateCommandSentToServer(log))
                            {
                                //  txtLogs.Text += DateTime.Now + "-" + ("Message Sent to Server for Processing..." + "\r\n");
                                txtLogs.Text += DateTime.Now + "-" + ("Command Sent to   " + sender_number + " - Command - " + message_text + "\r\n");

                                txtLogs.ForeColor = Color.Magenta;
                            }
                        }
                        else
                        {
                            txtLogs.Text += DateTime.Now + "-" + ("Unable to Send Command..." + "\r\n");
                        }
                    }
                    else
                    {
                        txtLogs.Text += DateTime.Now + "-" + ("Unable to Send Command..." + "\r\n");
                    }
                }
            }
            catch (Exception ex)
            {
                txtLogs.Text += DateTime.Now + "-" + ("Unable to Send Command..." + "\r\n");
            }
        }