private bool RestoreMaster(string hash, long masterID) { Dictionary <string, object> dic = new Dictionary <string, object>(); string result = string.Empty; var res = new List <Master>(); try { MyCom = new MLDBUtils.SQLCom(connectionString, ""); MyCom.setCommand("sRestorePair"); MyCom.AddParam(hash); MyCom.AddParam(masterID); dic = MyCom.GetResultD(); if (dic == null || dic.Count == 0) { return(false); } result = dic["ok"].ToString(); } catch (Exception ex) { var err = ex.Message; return(false); } return(result.Equals("0")); }
private bool IsDeviceOnline(long queueCommandID) { Dictionary <string, object> dic = new Dictionary <string, object>(); InitSqlPath(); bool online = false; try { MyCom = new MLDBUtils.SQLCom(connectionString, ""); MyCom.setCommand("bCheckDeviceOnline"); MyCom.AddParam(queueCommandID); dic = MyCom.GetResultD(); if (dic != null && dic.Count != 0) { bool.TryParse(dic["online"].ToString(), out online); } } catch (Exception ex) { SaveErrorLog(queueCommandID, "IsDeviceOnline(): " + ex.Message); } return(online); }
private async Task <int> SavePowerPC(Device device, List <PowerPC> powerpcs) { connectionString = Utils.InitSqlPath(connectionString); int result = 0; Dictionary <string, object> dic = new Dictionary <string, object>(); MyCom = new MLDBUtils.SQLCom(connectionString, ""); int count = 0; int newrecords = 0; try { string guidnew = string.Empty; foreach (var ppc in powerpcs) { MyCom.clearParams(); MyCom.setCommand("sSetpowerTime"); MyCom.AddParam(device.AndroidIDmacHash); MyCom.AddParam(device.TypeDeviceID); MyCom.AddParam(ppc.GUID); MyCom.AddParam(ppc.dateTimeOnPC); MyCom.AddParam(ppc.dateTimeOffPC); dic = MyCom.GetResultD(); if (dic == null || dic.Count == 0) { result = 0; break; } int.TryParse(dic["c"].ToString(), out count); int.TryParse(dic["n"].ToString(), out newrecords); if (newrecords == 1) { guidnew = ppc.GUID; } if (count == NOT_FOUND_DEVICEID || count == NotActive) { result = count; break; } else { result += count; } } if (newrecords == 1 && !string.IsNullOrEmpty(guidnew)) { SendAutoInfoToMaster(guidnew, device.AndroidIDmacHash); } } catch (Exception ex) { var err = ex.Message; result = SQL_ERROR; } return(result); }
private async void SendCommand(long chatid, string commandID) { int command = 0; int.TryParse(commandID, out command); Dictionary <string, object> dic = new Dictionary <string, object>(); InitSqlPath(); try { MyCom = new MLDBUtils.SQLCom(connectionString, ""); MyCom.setCommand("bSendCommand"); MyCom.AddParam(chatid); MyCom.AddParam(command); dic = MyCom.GetResultD(); if (dic == null || dic.Count == 0) { SendMessage(chatid, "Error sending command"); } else { long QueueCommandID = 0; long.TryParse(dic["i"].ToString(), out QueueCommandID); if (QueueCommandID != 0) { string responce = await ExecuteCommand(command, QueueCommandID); SendMessage(chatid, responce); } else { SendMessage(chatid, "Error SendCommand()"); } } //CurrentStatus status = GetStatus(new CurrentStatus { ChatID = chatid, Name = string.Empty, Data = string.Empty, StatusID = 0 }); //Task.Delay(300); //DeviceMenuShow(chatid, status.Data, status.Name); } catch (Exception ex) { SaveErrorLog(chatid, "SendCommand(): " + ex.Message); } }
private string GetCodeA(Device device) { //-3 exception sql //-2 return random not uniq //-1 data return empty connectionString = Utils.InitSqlPath(connectionString); Dictionary <string, object> dic = new Dictionary <string, object>(); string result = string.Empty; try { MyCom = new MLDBUtils.SQLCom(connectionString, ""); MyCom.setCommand("sGETcodeA"); MyCom.AddParam(Utils.getRandom()); MyCom.AddParam(device.AndroidIDmacHash); //hash MyCom.AddParam(device.TypeDeviceID); dic = MyCom.GetResultD(); if (dic == null || dic.Count == 0) { return(EMPTY_SQL); } result = dic["a"].ToString(); } catch (Exception ex) { var err = ex.Message; return(SQL_ERROR); } if (!result.Equals(NOT_UNIQUE)) { return(result); } return(GetCodeA(device)); }
private string GetCodeB(int codeA, Master master) { //-11 not valid code A //-12 code A is Expired 2min //-22 for code A pair EXIST before!!! //-4 unexpected error //-3 exception sql //-1 data return empty connectionString = Utils.InitSqlPath(connectionString); Dictionary <string, object> dic = new Dictionary <string, object>(); string result = string.Empty; try { MyCom = new MLDBUtils.SQLCom(connectionString, ""); MyCom.setCommand("bGETcodeB"); MyCom.AddParam(Utils.getRandom()); MyCom.AddParam(codeA); MyCom.AddParam(master.ChatId); MyCom.AddParam(master.TypeDeviceID); MyCom.AddParam(master.Name); dic = MyCom.GetResultD(); if (dic == null || dic.Count == 0) { return(EMPTY_SQL); } result = dic["b"].ToString(); } catch (Exception ex) { var err = ex.Message; result = SQL_ERROR; } return(result); }
private Device Registration(List<string> data) { //@email NVARCHAR(50), //@pwd NVARCHAR(50), //@TypeDeviceID INT, //@Token NVARCHAR(300), //@AndroidIDMacaddress NVARCHAR(100), //@Name NVARCHAR(50) Device dev = new Device(); int typeDevice = Convert.ToInt32(data[TypeDeviceIDX]); if (typeDevice < 1) { dev.Name = "type device not define"; return dev; } try { MyCom = new MLDBUtils.SQLCom(connectionString, ""); Dictionary<string, object> dic = new Dictionary<string, object>(); MyCom.setCommand("aRegistration"); MyCom.AddParam(Utils.TruncateLongString(data[EMAILIDX], 50)); MyCom.AddParam(Utils.TruncateLongString(data[PWDIDX], 50)); MyCom.AddParam(typeDevice); MyCom.AddParam(Utils.TruncateLongString(data[TokenIDX], 500)); MyCom.AddParam(Utils.TruncateLongString(data[AndroidIDMacAddressIDX], 100)); MyCom.AddParam(Utils.TruncateLongString(data[NameIDX], 50)); MyCom.AddParam(Utils.TruncateLongString(data[VersionIDX], 10)); dic = MyCom.GetResultD(); if (dic == null || dic.Count == 0) { dev.Name = "dic is null or empty"; return dev; } dev.UserID = Convert.ToInt64(dic["userID"].ToString()); if (dev.UserID == EXISTUSER) { dev.Name = "User Exist"; return dev; } if (dev.UserID == ERRORSQL) { dev.Name = "Error SQL"; return dev; } dev.DeviceID = Convert.ToInt64(dic["deviceID"]); //dev.TypeDeviceID = Convert.ToInt32(dic["TypeDeviceID"]); //dev.Token = dic["Token"].ToString(); //dev.AndroidIDMacaddress = dic["AndroidIDMacaddress"].ToString(); dev.Name = dic["Name"].ToString(); //dev.DateCreate = Convert.ToDateTime(dic["dateCreate"]); } catch (Exception ex) { dev.UserID = ERRORDB; dev.Name = "Sql Exept. - "; if (ex.Message != null) { dev.Name += ex.Message; } return dev; } return dev; }
private string GetB(List<string> data) { try { MyCom = new MLDBUtils.SQLCom(connectionString, ""); Dictionary<string, object> dic = new Dictionary<string, object>(); MyCom.setCommand("addDeviceB"); int typedevice = 0; if(!Int32.TryParse((data[TypeDeviceIDX]), out typedevice)) { return String.Empty; } MyCom.AddParam(typedevice); MyCom.AddParam(Utils.TruncateLongString(data[TokenIDX], 500)); MyCom.AddParam(Utils.TruncateLongString(data[AndroidIDMacAddressIDX], 100));//AndroidID MyCom.AddParam(Utils.TruncateLongString(data[AndroidIDMacAddressIDX], 20)); //MacAdress MyCom.AddParam(Convert.ToInt32(data[CodeAIDX])); MyCom.AddParam(Utils.TruncateLongString(data[IpIDX], 50)); dic = MyCom.GetResultD(); if (dic == null || dic.Count == 0) { return "-2"; } return dic["codeB"].ToString(); } catch (Exception ex) { return "-2"; } }
private string getA(List<string> listdata) { string deviceID = String.Empty; try { deviceID = listdata[DeviceIdIDX]; } catch (Exception ex) { return String.Empty; //return ex.Message; } char first = deviceID[deviceID.Length - 1]; char second = first; if (deviceID.Length > 2) { second = deviceID[deviceID.Length - 2]; } string codeA = String.Format("{0}{1}{2}{3}{4}{5}", GetRandomNumberNotZero(), GetRandomNumber(), GetRandomNumber(), GetRandomNumber(), first, second ); string codeB = String.Format("{0}{1}{2}{3}{4}{5}", GetRandomNumberNotZero(), GetRandomNumber(), GetRandomNumber(), GetRandomNumber(), GetRandomNumber(), GetRandomNumber() ); string namedevice; if (String.IsNullOrEmpty(listdata[NameIDX])) { namedevice = "host new"; } else { namedevice = listdata[NameIDX]; } try { MyCom = new MLDBUtils.SQLCom(connectionString, ""); Dictionary<string, object> dic = new Dictionary<string, object>(); MyCom.setCommand("addDeviceA"); /* * @deviceID BIGINT, @codeA INT, @codeB INT * SELECT @@IDENTITY AS ID */ MyCom.AddParam(Convert.ToInt64(deviceID)); MyCom.AddParam(Convert.ToInt32(codeA)); MyCom.AddParam(Convert.ToInt32(codeB)); MyCom.AddParam(Utils.TruncateLongString(namedevice, 50)); dic = MyCom.GetResultD(); if (dic == null || dic.Count == 0) { return string.Empty; } long id = 0; if (!Int64.TryParse(dic["ID"].ToString(), out id)) { return String.Empty; } if (id == 0) { return String.Empty; } } catch (Exception ex) { return String.Empty; } return codeA; }
private string FinishAddHostDevice(List<string> data) { Dictionary<string, object> dic = new Dictionary<string, object>(); string result = String.Empty; try { MyCom = new MLDBUtils.SQLCom(connectionString, ""); MyCom.setCommand("acheckABfinish"); long deviceID = 0; if (!Int64.TryParse(data[DeviceIdIDX], out deviceID)) { return String.Empty; } MyCom.AddParam(deviceID); MyCom.AddParam(Convert.ToInt32(data[CodeAIDX])); MyCom.AddParam(Convert.ToInt32(data[CodeBIDX])); MyCom.AddParam(Utils.TruncateLongString(data[IpIDX], 50)); dic = MyCom.GetResultD(); if (dic == null || dic.Count == 0) { return "-1"; } result = dic["DeviceID"].ToString(); } catch (Exception ex) { return "-3"; } try { //for send push after and active deviceID long newDeviceId = 0; if (Int64.TryParse(dic["DeviceID"].ToString(), out newDeviceId)) { if (newDeviceId > 0) { if (dic["token"] != null) { string mess = newDeviceId.ToString(); string url = "http:\\tut.by"; string title = "title"; Utils.responseGCM responcegsm = Utils.SendGCM(mess, url, title, dic["token"].ToString()); string err = responcegsm.Warningmess; if (String.IsNullOrEmpty(err)) { err = "OK"; } var responce = responcegsm.ResponseLine; if (String.IsNullOrEmpty(responce)) { responce = "EMPTY"; } string request = String.Format("{0};{1};{2}", mess, url, title); MyCom = new MLDBUtils.SQLCom(connectionString, ""); MyCom.setCommand("aGCMlog"); MyCom.AddParam(Utils.TruncateLongString(request, 50)); MyCom.AddParam(Utils.TruncateLongString(responce, 255)); MyCom.AddParam(newDeviceId); MyCom.AddParam(Utils.TruncateLongString(err, 50)); MyCom.AddParam(Utils.TruncateLongString("ADDdevice", 20)); MyCom.ExecuteCommand(); } } } } catch (Exception ex) { return "-5|" + dic["DeviceID"].ToString(); } return result; }
private Device Authentication(List<string> data) { Device dev = new Device(); int typeDevice = Convert.ToInt32(data[TypeDeviceIDX]); if (typeDevice < 1) { dev.Name = "type device not define"; return dev; } try { MyCom = new MLDBUtils.SQLCom(connectionString, ""); Dictionary<string, object> dic = new Dictionary<string, object>(); MyCom.setCommand("aAuthentication"); MyCom.AddParam(Utils.TruncateLongString(data[EMAILIDX], 50)); MyCom.AddParam(Utils.TruncateLongString(data[PWDIDX], 50)); MyCom.AddParam(typeDevice); MyCom.AddParam(Utils.TruncateLongString(data[TokenIDX], 500)); MyCom.AddParam(Utils.TruncateLongString(data[AndroidIDMacAddressIDX], 100)); MyCom.AddParam(Utils.TruncateLongString(data[IpIDX], 50)); MyCom.AddParam(Utils.TruncateLongString(data[VersionIDX], 10)); dic = MyCom.GetResultD(); if (dic == null || dic.Count == 0) { dev.Name = "dic is null or empty"; return dev; } //SELECT @OK AS 'returncode', @deviceID AS 'deviceID', @DeviceName AS 'DeviceName', '0' AS 'PGP' dev.Code = Convert.ToInt32(dic["returncode"]); dev.DeviceID = Convert.ToInt64(dic["deviceID"]); dev.Name = dic["DeviceName"].ToString(); } catch (Exception ex) { dev.Code = ERRORDB; dev.Name = "Sql Exept. - "; if (ex.Message != null) { dev.Name += ex.Message; } return dev; } return dev; }
private string Activation(List<string> data) { long deviceID = 0; string result = String.Empty; if (!Int64.TryParse(data[host_deviceID_idx], out deviceID)) { return String.Empty; } Dictionary<string, object> dic = new Dictionary<string, object>(); try { MyCom = new MLDBUtils.SQLCom(connectionString, ""); MyCom.setCommand("aActivationDevice"); MyCom.AddParam(deviceID); MyCom.AddParam(Convert.ToInt32(data[host_TypeDeviceID_idx])); MyCom.AddParam(Utils.TruncateLongString(data[host_Token_idx], 512)); MyCom.AddParam(Utils.TruncateLongString(data[host_AndroidID_idx], 50)); MyCom.AddParam(Utils.TruncateLongString(data[host_MacAddress_idx], 50)); MyCom.AddParam(Utils.TruncateLongString(data[host_ip_idx], 50)); MyCom.AddParam(Utils.TruncateLongString(data[host_Version_idx], 10)); dic = MyCom.GetResultD(); if (dic == null || dic.Count == 0) { return "-4"; } result = dic["result"].ToString(); } catch (Exception ex) { return ex.Message; } return result; }