607 lines
22 KiB
C#
607 lines
22 KiB
C#
using _0_Framework.Application;
|
|
using _0_Framework.Application.Sms;
|
|
using Company.Domain.SmsResultAgg;
|
|
using CompanyManagment.App.Contracts.SmsResult;
|
|
using IPE.SmsIrClient;
|
|
using IPE.SmsIrClient.Models.Requests;
|
|
using IPE.SmsIrClient.Models.Results;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.Logging;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using SmsResult = Company.Domain.SmsResultAgg.SmsResult;
|
|
|
|
|
|
namespace CompanyManagment.EFCore.Services;
|
|
|
|
public class SmsService : ISmsService
|
|
{
|
|
private readonly IConfiguration _configuration;
|
|
private readonly ISmsResultRepository _smsResultRepository;
|
|
private readonly bool _isDevEnvironment;
|
|
private readonly List<string> _testNumbers;
|
|
private readonly ILogger<SmsService> _logger;
|
|
public SmsIr SmsIr { get; set; }
|
|
|
|
|
|
public SmsService(IConfiguration configuration, ISmsResultRepository smsResultRepository, ILogger<SmsService> logger)
|
|
{
|
|
_configuration = configuration;
|
|
_smsResultRepository = smsResultRepository;
|
|
_logger = logger;
|
|
SmsIr = new SmsIr("Og5M562igmzJRhQPnq0GdtieYdLgtfikjzxOmeQBPxJjZtyge5Klc046Lfw1mxSa");
|
|
|
|
// خواندن تنظیمات SMS از appsettings
|
|
var smsSettings = _configuration.GetSection("SmsSettings");
|
|
_isDevEnvironment = smsSettings.GetValue<bool>("IsTestMode");
|
|
_testNumbers = smsSettings.GetSection("TestNumbers").Get<List<string>>() ?? new List<string>();
|
|
}
|
|
|
|
/// <summary>
|
|
/// متد مرکزی برای ارسال پیامک که محیط dev را چک میکند
|
|
/// </summary>
|
|
private async Task<SmsIrResult<VerifySendResult>> VerifySendSmsAsync(string number, int templateId, VerifySendParameter[] parameters)
|
|
{
|
|
// اگر محیط dev است و شمارههای تست وجود دارد، به شمارههای تست ارسال میشود
|
|
if (_isDevEnvironment && _testNumbers is { Count: > 0 })
|
|
{
|
|
// ارسال به همه شمارههای تست
|
|
SmsIrResult<VerifySendResult> lastResult = null;
|
|
foreach (var testNumber in _testNumbers)
|
|
{
|
|
lastResult = await SmsIr.VerifySendAsync(testNumber, templateId, parameters);
|
|
}
|
|
return lastResult; // برگرداندن نتیجه آخرین ارسال
|
|
}
|
|
else
|
|
{
|
|
// ارسال به شماره واقعی
|
|
return await SmsIr.VerifySendAsync(number, templateId, parameters);
|
|
}
|
|
}
|
|
|
|
public void Send(string number, string message)
|
|
{
|
|
//var token = GetToken();
|
|
//var lines = new SmsLine().GetSmsLines(token);
|
|
//if (lines == null) return;
|
|
|
|
//var line = lines.SMSLines.Last().LineNumber.ToString();
|
|
//var data = new MessageSendObject
|
|
//{
|
|
// Messages = new List<string>
|
|
// {message}.ToArray(),
|
|
// MobileNumbers = new List<string> {number}.ToArray(),
|
|
// LineNumber = line,
|
|
// SendDateTime = DateTime.Now,
|
|
// CanContinueInCaseOfError = true
|
|
//};
|
|
//var messageSendResponseObject =
|
|
// new MessageSend().Send(token, data);
|
|
|
|
//if (messageSendResponseObject.IsSuccessful) return;
|
|
|
|
//line = lines.SMSLines.First().LineNumber.ToString();
|
|
//data.LineNumber = line;
|
|
//new MessageSend().Send(token, data);
|
|
}
|
|
public bool VerifySend(string number, string message)
|
|
{
|
|
var verificationSendResult = VerifySendSmsAsync(number, 768382, new VerifySendParameter[] { new VerifySendParameter("VerificationCode", message) });
|
|
Thread.Sleep(2000);
|
|
if (verificationSendResult.IsCompletedSuccessfully)
|
|
{
|
|
|
|
var resStartStatus = verificationSendResult.Result;
|
|
var b = resStartStatus.Status;
|
|
var resResult = verificationSendResult.Status;
|
|
var a = verificationSendResult.IsCompleted;
|
|
var reseExceptiont = verificationSendResult.Exception;
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
|
|
var resStartStatus = verificationSendResult.Status;
|
|
var resResult = verificationSendResult.Status;
|
|
var reseExceptiont = verificationSendResult.Exception;
|
|
|
|
return false;
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
public bool LoginSend(string number, string message)
|
|
{
|
|
var verificationSendResult = VerifySendSmsAsync(number, 635330, new VerifySendParameter[] { new VerifySendParameter("LOGINCODE", message) });
|
|
Thread.Sleep(2000);
|
|
if (verificationSendResult.IsCompletedSuccessfully)
|
|
{
|
|
|
|
var resStartStatus = verificationSendResult.Result;
|
|
var b = resStartStatus.Status;
|
|
var resResult = verificationSendResult.Status;
|
|
var a = verificationSendResult.IsCompleted;
|
|
var reseExceptiont = verificationSendResult.Exception;
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
|
|
var resStartStatus = verificationSendResult.Status;
|
|
var resResult = verificationSendResult.Status;
|
|
var reseExceptiont = verificationSendResult.Exception;
|
|
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public async Task<SentSmsViewModel> SendVerifyCodeToClient(string number, string code)
|
|
{
|
|
var result = new SentSmsViewModel();
|
|
var sendResult = await VerifySendSmsAsync(number, 768382, new VerifySendParameter[] { new VerifySendParameter("VerificationCode", code) });
|
|
Thread.Sleep(2000);
|
|
|
|
if (sendResult.Message == "موفق")
|
|
{
|
|
var status = sendResult.Status;
|
|
var message = sendResult.Message;
|
|
var messaeId = sendResult.Data.MessageId;
|
|
return result.Succedded(status, message, messaeId);
|
|
}
|
|
else
|
|
{
|
|
var status = sendResult.Status;
|
|
var message = sendResult.Message;
|
|
var messaeId = sendResult.Data.MessageId;
|
|
return result.Failed(status, message, messaeId);
|
|
}
|
|
}
|
|
|
|
public bool SendAccountsInfo(string number, string fullName, string userName)
|
|
{
|
|
|
|
var checkLength = fullName.Length;
|
|
if (checkLength > 25)
|
|
fullName = fullName.Substring(0, 24);
|
|
|
|
var sendResult = VerifySendSmsAsync(number, 725814, new VerifySendParameter[] { new VerifySendParameter("FULLNAME", fullName), new VerifySendParameter("USERNAME", userName), new VerifySendParameter("PASSWORD", userName) });
|
|
|
|
|
|
Console.WriteLine(userName + " - " + sendResult.Result.Status);
|
|
if (sendResult.IsCompletedSuccessfully)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
public async Task<ApiResultViewModel> GetByMessageId(int messId)
|
|
{
|
|
|
|
SmsIr smsIr = new SmsIr("Og5M562igmzJRhQPnq0GdtieYdLgtfikjzxOmeQBPxJjZtyge5Klc046Lfw1mxSa");
|
|
var response = await smsIr.GetReportAsync(messId);
|
|
MessageReportResult messages = response.Data;
|
|
|
|
var appendData = new ApiResultViewModel()
|
|
{
|
|
MessageId = messages.MessageId,
|
|
LineNumber = messages.LineNumber,
|
|
Mobile = messages.Mobile,
|
|
MessageText = messages.MessageText,
|
|
SendUnixTime = UnixTimeStampToDateTime(messages.SendDateTime),
|
|
DeliveryState = DeliveryStatus(messages.DeliveryState),
|
|
DeliveryUnixTime = UnixTimeStampToDateTime(messages.DeliveryDateTime),
|
|
DeliveryColor = DeliveryColorStatus(messages.DeliveryState),
|
|
};
|
|
return appendData;
|
|
}
|
|
public async Task<List<ApiResultViewModel>> GetApiResult(string startDate, string endDate)
|
|
{
|
|
|
|
|
|
if(startDate.TryToGeorgianDateTime(out var st) == false || endDate.TryToGeorgianDateTime(out var ed) == false)
|
|
return new List<ApiResultViewModel>();
|
|
|
|
var res = new List<ApiResultViewModel>();
|
|
Int32 unixTimestamp = (int)st.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
|
|
Int32 unixTimestamp2 = (int)ed.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
|
|
// int? fromDateUnixTime = null; // unix time - for instance: 1700598600
|
|
//int? toDateUnixTime = null; // unix time - for instance: 1703190600
|
|
int pageNumber = 2;
|
|
int pageSize = 100; // max: 100
|
|
SmsIr smsIr = new SmsIr("Og5M562igmzJRhQPnq0GdtieYdLgtfikjzxOmeQBPxJjZtyge5Klc046Lfw1mxSa");
|
|
var response = await smsIr.GetArchivedReportAsync(pageNumber, pageSize, unixTimestamp, unixTimestamp2);
|
|
|
|
MessageReportResult[] messages = response.Data;
|
|
foreach (var message in messages)
|
|
{
|
|
var appendData = new ApiResultViewModel()
|
|
{
|
|
MessageId = message.MessageId,
|
|
LineNumber = message.LineNumber,
|
|
Mobile = message.Mobile,
|
|
MessageText = message.MessageText,
|
|
SendUnixTime = UnixTimeStampToDateTime(message.SendDateTime),
|
|
DeliveryState = DeliveryStatus(message.DeliveryState),
|
|
DeliveryUnixTime = UnixTimeStampToDateTime(message.DeliveryDateTime),
|
|
DeliveryColor = DeliveryColorStatus(message.DeliveryState),
|
|
};
|
|
res.Add(appendData);
|
|
}
|
|
|
|
|
|
return res;
|
|
}
|
|
|
|
public async Task<List<ApiReportDto>> GetApiReport(string startDate, string endDate)
|
|
{
|
|
|
|
|
|
if (startDate.TryToGeorgianDateTime(out var st) == false || endDate.TryToGeorgianDateTime(out var ed) == false)
|
|
return new List<ApiReportDto>();
|
|
|
|
var res = new List<ApiReportDto>();
|
|
Int32 unixTimestamp = (int)st.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
|
|
Int32 unixTimestamp2 = (int)ed.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
|
|
// int? fromDateUnixTime = null; // unix time - for instance: 1700598600
|
|
//int? toDateUnixTime = null; // unix time - for instance: 1703190600
|
|
int pageNumber = 2;
|
|
int pageSize = 100; // max: 100
|
|
SmsIr smsIr = new SmsIr("Og5M562igmzJRhQPnq0GdtieYdLgtfikjzxOmeQBPxJjZtyge5Klc046Lfw1mxSa");
|
|
var response = await smsIr.GetArchivedReportAsync(pageNumber, pageSize, unixTimestamp, unixTimestamp2);
|
|
|
|
MessageReportResult[] messages = response.Data;
|
|
foreach (var message in messages)
|
|
{
|
|
var appendData = new ApiReportDto()
|
|
{
|
|
MessageId = message.MessageId,
|
|
|
|
Mobile = message.Mobile,
|
|
|
|
SendUnixTime = UnixTimeStampToDateTime(message.SendDateTime),
|
|
DeliveryState = DeliveryStatus(message.DeliveryState),
|
|
DeliveryUnixTime = UnixTimeStampToDateTime(message.DeliveryDateTime),
|
|
DeliveryColor = DeliveryColorStatus(message.DeliveryState),
|
|
};
|
|
res.Add(appendData);
|
|
}
|
|
|
|
|
|
return res;
|
|
}
|
|
|
|
public string DeliveryStatus(byte? dv)
|
|
{
|
|
string mess = "";
|
|
switch (dv)
|
|
{
|
|
case 1:
|
|
mess = "رسیده به گوشی";
|
|
break;
|
|
case 2:
|
|
mess = "نرسیده به گوشی";
|
|
break;
|
|
case 3:
|
|
mess = "پردازش در مخابرات";
|
|
break;
|
|
case 4:
|
|
mess = "نرسیده به مخابرات";
|
|
break;
|
|
case 5:
|
|
mess = "سیده به مخابرات";
|
|
break;
|
|
case 6:
|
|
mess = "خطا";
|
|
break;
|
|
case 7:
|
|
mess = "لیست سیاه";
|
|
break;
|
|
default:
|
|
mess = "";
|
|
break;
|
|
|
|
}
|
|
|
|
return mess;
|
|
}
|
|
public string DeliveryColorStatus(byte? dv)
|
|
{
|
|
string mess = "";
|
|
switch (dv)
|
|
{
|
|
case 1:
|
|
mess = "successSend";
|
|
break;
|
|
case 2:
|
|
mess = "errSend";
|
|
break;
|
|
case 3:
|
|
mess = "pSend";
|
|
break;
|
|
case 4:
|
|
mess = "noSend";
|
|
break;
|
|
case 5:
|
|
mess = "itcSend";
|
|
break;
|
|
case 6:
|
|
mess = "redSend";
|
|
break;
|
|
case 7:
|
|
mess = "blockSend";
|
|
break;
|
|
default:
|
|
mess = "";
|
|
break;
|
|
|
|
}
|
|
|
|
return mess;
|
|
}
|
|
public string UnixTimeStampToDateTime(int? unixTimeStamp)
|
|
{
|
|
if (unixTimeStamp != null)
|
|
{
|
|
// Unix timestamp is seconds past epoch
|
|
DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
|
|
dateTime = dateTime.AddSeconds(Convert.ToDouble(unixTimeStamp)).ToLocalTime();
|
|
var time = dateTime.ToFarsiFull();
|
|
return time;
|
|
}
|
|
|
|
return "";
|
|
}
|
|
private string GetToken()
|
|
{
|
|
return "";
|
|
//var smsSecrets = _configuration.GetSection("SmsSecrets");
|
|
//var tokenService = new Token();
|
|
//return tokenService.GetToken("x-api-key", "Og5M562igmzJRhQPnq0GdtieYdLgtfikjzxOmeQBPxJjZtyge5Klc046Lfw1mxSa");
|
|
}
|
|
|
|
#region Mahan
|
|
|
|
public async Task<double> GetCreditAmount()
|
|
{
|
|
try
|
|
{
|
|
var credit = await SmsIr.GetCreditAsync();
|
|
return (double)credit.Data;
|
|
}
|
|
catch
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
}
|
|
|
|
public async Task<bool> SendInstitutionCreationVerificationLink(string number, string fullName, Guid institutionId, long contractingPartyId, long institutionContractId, string typeOfSms)
|
|
{
|
|
typeOfSms = string.IsNullOrWhiteSpace(typeOfSms) ? "لینک تاییدیه ایجاد قرارداد مالی" : typeOfSms;
|
|
|
|
|
|
var full = fullName;
|
|
var fullName1 = fullName;
|
|
if (fullName.Length >= 25)
|
|
{
|
|
fullName1 = fullName.Substring(0, 25);
|
|
}
|
|
var fullName2 = "";
|
|
if (full.Length > 25)
|
|
{
|
|
fullName2 = full.Substring(25);
|
|
if (fullName2.Length > 25)
|
|
{
|
|
fullName2 = fullName2.Substring(0, 25);
|
|
}
|
|
}
|
|
var guidStr = institutionId.ToString();
|
|
var firstPart = guidStr.Substring(0, 15);
|
|
var secondPart = guidStr.Substring(15);
|
|
var verificationSendResult = await VerifySendSmsAsync(number, 527519, new VerifySendParameter[]
|
|
{
|
|
new("FULLNAME1", fullName1),
|
|
new("FULLNAME2", fullName2),
|
|
new("CODE1",firstPart),
|
|
new("CODE2",secondPart)
|
|
});
|
|
|
|
if (verificationSendResult.Status == 1)
|
|
{
|
|
_logger.LogInformation("ارسال لینک قراداد مالی موفق بود");
|
|
}
|
|
else
|
|
{
|
|
_logger.LogError("خطا در ارسال لینک قراداد مالی");
|
|
}
|
|
var smsResult = new SmsResult(verificationSendResult.Data.MessageId, verificationSendResult.Message, typeOfSms,
|
|
fullName, number, contractingPartyId, institutionContractId);
|
|
await _smsResultRepository.CreateAsync(smsResult);
|
|
await _smsResultRepository.SaveChangesAsync();
|
|
_logger.LogInformation("ذخیره در دیتابیس موفق بود");
|
|
return verificationSendResult.Status == 0;
|
|
}
|
|
|
|
public async Task<bool> SendInstitutionAmendmentVerificationLink(string number, string fullName, Guid institutionId,
|
|
long contractingPartyId, long institutionContractId)
|
|
{
|
|
var guidStr = institutionId.ToString();
|
|
var firstPart = guidStr.Substring(0, 15);
|
|
var secondPart = guidStr.Substring(15);
|
|
var verificationSendResult = await VerifySendSmsAsync(number, 527519, new VerifySendParameter[]
|
|
{
|
|
new("FULLNAME", fullName),
|
|
new("CODE1",firstPart),
|
|
new("CODE2",secondPart)
|
|
});
|
|
var smsResult = new SmsResult(verificationSendResult.Data.MessageId, verificationSendResult.Message, "لینک تاییدیه ارتقا قرارداد مالی",
|
|
fullName, number, contractingPartyId, institutionContractId);
|
|
await _smsResultRepository.CreateAsync(smsResult);
|
|
await _smsResultRepository.SaveChangesAsync();
|
|
return verificationSendResult.Status == 0;
|
|
}
|
|
|
|
public async Task<bool> SendInstitutionVerificationCode(string number, string code, string contractingPartyFullName,
|
|
long contractingPartyId, long institutionContractId)
|
|
{
|
|
var verificationSendResult = await VerifySendSmsAsync(number, 965348, new VerifySendParameter[]
|
|
{
|
|
new("VERIFYCODE", code)
|
|
});
|
|
|
|
var smsResult = new SmsResult(verificationSendResult.Data.MessageId, verificationSendResult.Message, "کد تاییدیه قرارداد مالی",
|
|
contractingPartyFullName, number, contractingPartyId, institutionContractId);
|
|
await _smsResultRepository.CreateAsync(smsResult);
|
|
await _smsResultRepository.SaveChangesAsync();
|
|
return verificationSendResult.Status == 0;
|
|
}
|
|
|
|
public _0_Framework.Application.Sms.SmsResult TaskReminderSms(string number, string taskCount)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#region InstitutionContractSMS
|
|
|
|
public async Task<(byte status, string message, int messaeId, bool isSucceded)> MonthlyBillNew(string number, int tamplateId, string fullname, string amount, string code1,
|
|
string code2)
|
|
{
|
|
|
|
var smsIr = new SmsIr("Og5M562igmzJRhQPnq0GdtieYdLgtfikjzxOmeQBPxJjZtyge5Klc046Lfw1mxSa");
|
|
var result = new ValueTuple<byte, string, int, bool>();
|
|
var sendResult = await smsIr.VerifySendAsync(number, tamplateId,
|
|
new VerifySendParameter[]
|
|
{ new("FULLNAME", fullname), new("AMOUNT", amount), new("CODE1", code1), new("CODE2", code2) });
|
|
Thread.Sleep(500);
|
|
|
|
|
|
if (sendResult.Message == "موفق")
|
|
{
|
|
_logger.LogInformation("ارسال پیامک یادآور موفق بود");
|
|
result = (sendResult.Status, sendResult.Message, sendResult.Data.MessageId, true);
|
|
return result;
|
|
}
|
|
_logger.LogError("خطا در ارسال یاد آور");
|
|
result = (sendResult.Status, sendResult.Message, sendResult.Data.MessageId, false);
|
|
return result;
|
|
|
|
}
|
|
|
|
public async Task<(byte status, string message, int messaeId, bool isSucceded)> MonthlyBill(string number, int tamplateId, string fullname, string amount, string id,
|
|
string aprove)
|
|
{
|
|
|
|
var smsIr = new SmsIr("Og5M562igmzJRhQPnq0GdtieYdLgtfikjzxOmeQBPxJjZtyge5Klc046Lfw1mxSa");
|
|
var result = new ValueTuple<byte, string, int, bool>();
|
|
var sendResult = await smsIr.VerifySendAsync(number, tamplateId,
|
|
new VerifySendParameter[]
|
|
{ new("FULLNAME", fullname), new("AMOUNT", amount), new("ID", id), new("APROVE", aprove) });
|
|
Thread.Sleep(500);
|
|
|
|
|
|
if (sendResult.Message == "موفق")
|
|
{
|
|
_logger.LogInformation("ارسال پیامک یادآور موفق بود");
|
|
result = (sendResult.Status, sendResult.Message, sendResult.Data.MessageId, true);
|
|
return result;
|
|
}
|
|
_logger.LogError("خطا در ارسال یاد آور");
|
|
result = (sendResult.Status, sendResult.Message, sendResult.Data.MessageId, false);
|
|
return result;
|
|
}
|
|
|
|
public async Task<(byte status, string message, int messaeId, bool isSucceded)> BlockMessage(string number, string fullname, string amount, string accountType, string id,
|
|
string aprove)
|
|
{
|
|
var tamplateId = 117946;
|
|
var result = new ValueTuple<byte, string, int, bool>();
|
|
var smsIr = new SmsIr("Og5M562igmzJRhQPnq0GdtieYdLgtfikjzxOmeQBPxJjZtyge5Klc046Lfw1mxSa");
|
|
|
|
var sendResult = await smsIr.VerifySendAsync(number, tamplateId,
|
|
new VerifySendParameter[]
|
|
{
|
|
new("FULLNAME", fullname), new("AMOUNT", amount), new("ACCOUNTTYPE", accountType), new("ID", id),
|
|
new("APROVE", aprove)
|
|
});
|
|
Thread.Sleep(500);
|
|
|
|
|
|
if (sendResult.Message == "موفق")
|
|
{
|
|
|
|
result = (sendResult.Status, sendResult.Message, sendResult.Data.MessageId, true);
|
|
return result;
|
|
}
|
|
|
|
result = (sendResult.Status, sendResult.Message, sendResult.Data.MessageId, false);
|
|
return result;
|
|
}
|
|
|
|
|
|
public async Task<(byte status, string message, int messaeId, bool isSucceded)> BlockMessageForElectronicContract(string number, string fullname, string amount,string code1, string code2)
|
|
{
|
|
var tamplateId = 117685;
|
|
var result = new ValueTuple<byte, string, int, bool>();
|
|
var smsIr = new SmsIr("Og5M562igmzJRhQPnq0GdtieYdLgtfikjzxOmeQBPxJjZtyge5Klc046Lfw1mxSa");
|
|
|
|
var sendResult = await smsIr.VerifySendAsync(number, tamplateId,
|
|
new VerifySendParameter[]
|
|
{
|
|
new("FULLNAME", fullname), new("AMOUNT", amount), new("CODE1", code1), new("CODE2", code2)
|
|
});
|
|
Thread.Sleep(500);
|
|
|
|
|
|
if (sendResult.Message == "موفق")
|
|
{
|
|
|
|
result = (sendResult.Status, sendResult.Message, sendResult.Data.MessageId, true);
|
|
return result;
|
|
}
|
|
|
|
result = (sendResult.Status, sendResult.Message, sendResult.Data.MessageId, false);
|
|
return result;
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region AlarmMessage
|
|
|
|
public async Task<bool> Alarm(string number, string message)
|
|
{
|
|
var smsIr = new SmsIr("Og5M562igmzJRhQPnq0GdtieYdLgtfikjzxOmeQBPxJjZtyge5Klc046Lfw1mxSa");
|
|
|
|
//var bulkSendResult = smsIr.BulkSendAsync(95007079000006, "your text message", new string[] { "9120000000" });
|
|
|
|
var verificationSendResult =
|
|
smsIr.VerifySendAsync(number, 662874, new VerifySendParameter[] { new("ALARM", message) });
|
|
Thread.Sleep(1000);
|
|
var status = verificationSendResult.Result.Status;
|
|
var mess = verificationSendResult.Result.Message;
|
|
var messaeId = verificationSendResult.Result.Data.MessageId;
|
|
if (verificationSendResult.IsCompletedSuccessfully) return true;
|
|
|
|
var resStartStatus = verificationSendResult.Result;
|
|
var resResult = verificationSendResult.Status;
|
|
var reseExceptiont = verificationSendResult.Exception;
|
|
|
|
return false;
|
|
}
|
|
|
|
#endregion
|
|
}
|