Пример #1
0
        public static string Send_API_SMS(SEND_SMS sms)
        {
            string        message       = "";
            SqlConnection con           = ConnectionClass.GetConnection();
            SqlCommand    objSqlCommand = new SqlCommand();

            objSqlCommand.CommandText = "FSP_SEND_SMS_API";
            objSqlCommand.CommandType = CommandType.StoredProcedure;
            objSqlCommand.Connection  = con;
            // objSqlCommand.Parameters.Add(new SqlParameter("@GROUP_ID", SqlDbType.Int));
            // objSqlCommand.Parameters["@GROUP_ID"].Value = objSMSON_GROUP.GROUP_ID;
            objSqlCommand.Parameters.Add(new SqlParameter("@HASCODE", SqlDbType.VarChar, 100));
            objSqlCommand.Parameters["@HASCODE"].Value = sms.HASHCODE;
            objSqlCommand.Parameters.Add(new SqlParameter("@USER_IDS", SqlDbType.VarChar, 50));
            objSqlCommand.Parameters["@USER_IDS"].Value = sms.USER_IDS;
            objSqlCommand.Parameters.Add(new SqlParameter("@PASSWORD", SqlDbType.VarChar, 50));
            objSqlCommand.Parameters["@PASSWORD"].Value = sms.PASSWORD;
            objSqlCommand.Parameters.Add(new SqlParameter("@NUMBER", SqlDbType.VarChar, 50));
            objSqlCommand.Parameters["@NUMBER"].Value = sms.NUMBER;
            objSqlCommand.Parameters.Add(new SqlParameter("@MESSAGE", SqlDbType.NVarChar, 4000));
            objSqlCommand.Parameters["@MESSAGE"].Value = sms.MESSAGE;
            objSqlCommand.Parameters.Add(new SqlParameter("@ERROR", SqlDbType.VarChar, 4000));
            objSqlCommand.Parameters["@ERROR"].Direction = ParameterDirection.Output;

            con.Open();

            var data = objSqlCommand.ExecuteNonQuery();

            message = objSqlCommand.Parameters["@ERROR"].Value.ToString();


            con.Close();

            return(message);
        }
        public void sendsmsmulti(string hashcode, string username, string password, string receiver, string message)
        {
            var     msg  = new STATUS();
            string  send = "";
            var     obj  = new SEND_SMS();
            decimal i    = 0;

            if (String.IsNullOrEmpty(hashcode))
            {
                msg.MESSAGE = "Hash is required";
                goto Error;
            }
            if (hashcode.Contains(" "))
            {
                msg.MESSAGE = "Invalid Format of hashcode";
                goto Error;
            }
            if (string.IsNullOrEmpty(username))
            {
                msg.MESSAGE = "User is required";
                goto Error;
            }
            if (String.IsNullOrEmpty(password))
            {
                msg.MESSAGE = "Password is required";
                goto Error;
            }
            if (String.IsNullOrEmpty(receiver))
            {
                msg.MESSAGE = "phone number is required";
                goto Error;
            }
            if (!IsValid(receiver))
            {
                msg.MESSAGE = "phone number is required";
                goto Error;
            }
            if (username.Contains(" "))
            {
                msg.MESSAGE = "Invalid Format of phone number";
                goto Error;
            }
            if (username.Length > 50)
            {
                msg.MESSAGE = "Username must be less than or equal 50 character";
                goto Error;
            }
            if (password.Length > 50)
            {
                msg.MESSAGE = "Password must be less than or equal 50 character";
                goto Error;
            }
            if (receiver.Length > 50)
            {
                msg.MESSAGE = "Phone number must be less than or equal 50 character";
                goto Error;
            }
            if (username.Contains(" "))
            {
                msg.MESSAGE = "Invalid Format of Username";
                goto Error;
            }
            if (password.Contains(" "))
            {
                msg.MESSAGE = "Invalid Format of Password";
                goto Error;
            }
            if (string.IsNullOrEmpty(message))
            {
                msg.MESSAGE = "Message is required";
                goto Error;
            }
            if (message.Length > 5000)
            {
                msg.MESSAGE = "Password must be less than or equal 5000 character";
                goto Error;
            }

            var counter = fetch.getCreditNo(username, fetch.PasswordEncrypt(password), hashcode);

            if (counter.Contains("User"))
            {
                msg.MESSAGE = counter;
                goto Error;
            }
            else
            {
                char[]   a       = new char[] { ',' };
                string[] numbers = receiver.Split(a);

                int count = numbers.Count() * (int)(Math.Ceiling(message.Length / 150.0));
                if (count > int.Parse(counter))
                {
                    msg.MESSAGE = "Not Enough Balance";
                    goto Error;
                }
                var            conn  = ConnectionClass.GetConnection();
                var            cmd   = new SqlCommand();
                SqlTransaction trans = null;
                StringBuilder  sb    = new StringBuilder();
                foreach (var item in numbers)
                {
                    sb.Append("EXEC FSP_SEND_SMS_I '" + item + "','" + username + "','" + message + "','0','','' ; ");
                }
                cmd.Connection  = conn;
                cmd.CommandText = sb.ToString();
                conn.Open();
                trans           = conn.BeginTransaction();
                cmd.Transaction = trans;
                try
                {
                    var data = cmd.ExecuteNonQuery();
                    if (data > 0)
                    {
                        msg.MESSAGE = "Successfully Send!";
                        trans.Commit();
                        goto Error;
                    }
                    else
                    {
                        msg.MESSAGE = "Not Succesfull!";
                        trans.Rollback();
                        goto Error;
                    }
                }
                catch
                {
                    trans.Rollback();
                }
                finally
                {
                }
            }
Error:
            JavaScriptSerializer js = new JavaScriptSerializer();
            string strJSON = js.Serialize(msg);

            Context.Response.Clear();
            Context.Response.ContentType = "application/json";
            Context.Response.Flush();
            Context.Response.Write(strJSON);
            return;
        }
        public void sendsms(string hashcode, string username, string password, string receiver, string message)
        {
            var     msg  = new STATUS();
            string  send = "";
            var     obj  = new SEND_SMS();
            decimal i    = 0;

            if (String.IsNullOrEmpty(hashcode))
            {
                msg.MESSAGE = "Hash is required";
                goto Error;
            }
            if (hashcode.Contains(" "))
            {
                msg.MESSAGE = "Invalid Format of hashcode";
                goto Error;
            }
            if (string.IsNullOrEmpty(username))
            {
                msg.MESSAGE = "User is required";
                goto Error;
            }
            if (String.IsNullOrEmpty(password))
            {
                msg.MESSAGE = "Password is required";
                goto Error;
            }
            if (String.IsNullOrEmpty(receiver))
            {
                msg.MESSAGE = "phone number is required";
                goto Error;
            }
            if (username.Contains(" "))
            {
                msg.MESSAGE = "Invalid Format of phone number";
                goto Error;
            }
            if (username.Length > 50)
            {
                msg.MESSAGE = "Username must be less than or equal 50 character";
                goto Error;
            }
            if (password.Length > 50)
            {
                msg.MESSAGE = "Password must be less than or equal 50 character";
                goto Error;
            }
            if (receiver.Length > 50)
            {
                msg.MESSAGE = "Phone number must be less than or equal 50 character";
                goto Error;
            }
            if (username.Contains(" "))
            {
                msg.MESSAGE = "Invalid Format of Username";
                goto Error;
            }
            if (password.Contains(" "))
            {
                msg.MESSAGE = "Invalid Format of Password";
                goto Error;
            }
            if (string.IsNullOrEmpty(message))
            {
                msg.MESSAGE = "Message is required";
                goto Error;
            }
            if (message.Length > 5000)
            {
                msg.MESSAGE = "Password must be less than or equal 5000 character";
                goto Error;
            }
            obj.USER_IDS = username;
            obj.HASHCODE = hashcode;
            obj.PASSWORD = fetch.PasswordEncrypt(password);
            obj.NUMBER   = receiver;
            obj.MESSAGE  = message;

            msg.MESSAGE = save.Send_API_SMS(obj);


Error:
            JavaScriptSerializer js = new JavaScriptSerializer();
            string strJSON = js.Serialize(msg);

            Context.Response.Clear();
            Context.Response.ContentType = "application/json";
            Context.Response.Flush();
            Context.Response.Write(strJSON);
            return;
        }