iMonitor desktop application using dotnet 4.8
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

327 lines
8.7 KiB

using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using iMonitorApp.Classes;
using iMonitorApp.Properties;
namespace iMonitorApp
{
// Token: 0x02000018 RID: 24
public partial class PhoneDialer : Form
{
// Token: 0x060000AA RID: 170 RVA: 0x0000770C File Offset: 0x0000590C
public PhoneDialer(ParentForm pf)
{
this.parentForm = pf;
this.InitializeComponent();
this.Initialize();
}
// Token: 0x060000AB RID: 171 RVA: 0x00007740 File Offset: 0x00005940
public void Initialize()
{
try
{
}
catch
{
MessageBox.Show("Unable to get Skype Handle\r\n Reboot skype and Click Tools -> Options -> ConnectToSkype");
}
BackgroundWorker backgroundWorker = new BackgroundWorker();
backgroundWorker.DoWork += this.bw_DoWork;
backgroundWorker.RunWorkerAsync();
this.li = new AsyncBindingList<PhoneCall>(this);
this._queue = new ConcurrentQueue<PhoneCall>();
this.li.ListChanged += this.li_ListChanged;
Thread thread = new Thread(new ThreadStart(this.LaunchListener));
thread.Start();
new System.Windows.Forms.Timer
{
Interval = 10000
}.Tick += this.timer_Tick;
}
// Token: 0x060000AC RID: 172 RVA: 0x00007800 File Offset: 0x00005A00
private void timer_Tick(object sender, EventArgs e)
{
try
{
bool isRunning = this.sw.IsRunning;
if (isRunning)
{
bool flag = this.sw.Elapsed.TotalSeconds > 60.0;
if (flag)
{
this.Log("Stopwatch Elapsed Secs:" + this.sw.Elapsed.TotalSeconds.ToString());
bool flag2 = this.sw.Elapsed.TotalSeconds > 300.0;
if (flag2)
{
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("http://202.58.207.66/ectime/phonecall.php?email=manas@4ecap.com,sd@4ecap.com&phone=+6596999610,+6590211987&subject=EMERGENCY_SKYPE_NOT_WORKING");
string str = Convert.ToBase64String(Encoding.ASCII.GetBytes(Settings.Default.ExternalHeartbeatUsername + ":" + Settings.Default.ExternalHeartbeatPassword));
httpWebRequest.Headers.Add("Authorization", "Basic " + str);
httpWebRequest.ReadWriteTimeout = 30000;
httpWebRequest.Timeout = 30000;
httpWebRequest.Method = "GET";
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
}
}
}
}
catch
{
}
}
// Token: 0x060000AD RID: 173 RVA: 0x00007958 File Offset: 0x00005B58
private void bw_DoWork(object sender, DoWorkEventArgs e)
{
try
{
}
catch
{
}
}
// Token: 0x060000AE RID: 174 RVA: 0x00007980 File Offset: 0x00005B80
private void LaunchListener()
{
this.asl = new AsynchronousSocketListener(Settings.Default.CurrentIP, Settings.Default.PhonePort);
AsynchronousSocketListener.Received += this.AsynchronousSocketListener_Received;
this.Log("Listening on port: " + Settings.Default.PhonePort.ToString() + " IP: " + Settings.Default.CurrentIP);
AsynchronousSocketListener.StartListening();
}
// Token: 0x060000AF RID: 175 RVA: 0x000038AE File Offset: 0x00001AAE
private void li_ListChanged(object sender, ListChangedEventArgs e)
{
}
// Token: 0x060000B0 RID: 176 RVA: 0x000079F8 File Offset: 0x00005BF8
private void ProcessQueue()
{
try
{
}
catch
{
}
PhoneCall phoneCall;
bool flag = this._queue.TryDequeue(out phoneCall);
bool flag2 = flag;
if (flag2)
{
bool flag3 = !PhoneScheduleCheck.IsPhoneActive();
if (flag3)
{
this.Log("Phone Disabled in Schedule");
int num = 2;
int frequency = 4000;
int duration = 200;
for (int i = 0; i < num; i++)
{
Console.Beep(frequency, duration);
}
}
else
{
try
{
}
catch
{
}
foreach (string text in phoneCall.Numbers)
{
try
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
string requestUriString = "https://secure.hoiio.com/open/ivr/start/dial?dest=" + text + "&access_token=ssMWqlCqLcJUElOv&app_id=hQKILptEKhHNqXSC&msg=Call&caller_id=private";
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(requestUriString);
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (Stream responseStream = httpWebResponse.GetResponseStream())
{
using (StreamReader streamReader = new StreamReader(responseStream))
{
string text2 = streamReader.ReadToEnd();
}
}
string str = "Dialed: ";
string str2 = text;
string str3 = " Response: ";
HttpWebResponse httpWebResponse2 = httpWebResponse;
this.Log(str + str2 + str3 + ((httpWebResponse2 != null) ? httpWebResponse2.ToString() : null));
}
catch (Exception ex)
{
this.Log("Exception: " + ex.Message);
}
}
this.Log("Stop Watch Started");
this.Log("Dialing: " + string.Join(" , ", phoneCall.Numbers));
}
}
}
// Token: 0x060000B1 RID: 177 RVA: 0x00007BF4 File Offset: 0x00005DF4
private void AsynchronousSocketListener_Received(object sender, EventArgs e)
{
this.Log("Received: " + sender.ToString());
string text = sender.ToString().Replace("<EOF>", "");
List<string> list = (from t in text.Split(new char[]
{
','
}).ToList<string>()
where t.Trim() != ""
select t).ToList<string>();
List<string> list2 = new List<string>();
foreach (string text2 in list)
{
string text3 = text2.Replace(" ", "");
text3 = text3.Trim();
bool flag = text3[0] != '+';
if (!flag)
{
list2.Add(text3);
}
}
PhoneCall item = new PhoneCall
{
Numbers = list2,
Count = list.Count,
Status = "Queued"
};
this._queue.Enqueue(item);
this.ProcessQueue();
}
// Token: 0x060000B2 RID: 178 RVA: 0x00007D30 File Offset: 0x00005F30
private void skype_ContactsFocused(string Username)
{
this.Log(Username + " focused");
}
// Token: 0x060000B3 RID: 179 RVA: 0x00007D48 File Offset: 0x00005F48
public void Log(string text)
{
bool invokeRequired = this.tb_log.InvokeRequired;
if (invokeRequired)
{
this.tb_log.Invoke(new Action(delegate()
{
this.tb_log.Text = string.Concat(new string[]
{
DateTime.Now.ToString("dd/MMM hh:mm:ss"),
" ",
text,
"\r\n",
this.tb_log.Text
});
}));
}
else
{
this.tb_log.Text = string.Concat(new string[]
{
DateTime.Now.ToString("dd/MMM hh:mm:ss"),
" ",
text,
"\r\n",
this.tb_log.Text
});
}
}
// Token: 0x060000B4 RID: 180 RVA: 0x00007DE8 File Offset: 0x00005FE8
public void StatusUpdate(string text)
{
StatusStrip a = (StatusStrip)base.MdiParent.Controls["statusStrip"];
bool invokeRequired = a.InvokeRequired;
if (invokeRequired)
{
a.Invoke(new Action(delegate()
{
a.Text = text;
}));
}
else
{
a.Text = text;
}
}
// Token: 0x060000B5 RID: 181 RVA: 0x00007E60 File Offset: 0x00006060
public void UpdateLabel(Label l, string text)
{
bool invokeRequired = l.InvokeRequired;
if (invokeRequired)
{
l.Invoke(new Action(delegate()
{
l.Text = text;
}));
}
else
{
l.Text = text;
}
}
// Token: 0x060000B6 RID: 182 RVA: 0x00007EC0 File Offset: 0x000060C0
private void button1_Click(object sender, EventArgs e)
{
PhoneSchedule phoneSchedule = new PhoneSchedule();
phoneSchedule.ShowDialog();
}
// Token: 0x060000B7 RID: 183 RVA: 0x00007EDC File Offset: 0x000060DC
private void button2_Click(object sender, EventArgs e)
{
try
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
string text = "https://secure.hoiio.com/open/ivr/start/dial?dest=6596999610&access_token=ssMWqlCqLcJUElOv&app_id=hQKILptEKhHNqXSC&msg=Call&caller_id=private";
this.Log(text);
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(text);
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
string text2;
using (Stream responseStream = httpWebResponse.GetResponseStream())
{
using (StreamReader streamReader = new StreamReader(responseStream))
{
text2 = streamReader.ReadToEnd();
}
}
this.Log(text2);
}
catch (Exception ex)
{
this.Log("Exception: " + ex.Message);
}
}
// Token: 0x0400006B RID: 107
private ParentForm parentForm;
// Token: 0x0400006C RID: 108
private AsynchronousSocketListener asl;
// Token: 0x0400006D RID: 109
public AsyncBindingList<PhoneCall> li;
// Token: 0x0400006E RID: 110
private ConcurrentQueue<PhoneCall> _queue;
// Token: 0x0400006F RID: 111
private Stopwatch sw = new Stopwatch();
}
}