public string Process_CreateCheckTelFileForTestAccount(NiceSystemInfo niceSystem, MobileNoHandler XTelList, IMyLog log) { APIId = null; StringBuilder sbInfo = new StringBuilder(); MobileNoHandler telForCheckFile = XTelList; try { timeNow = DateTime.UtcNow; string email = throw new NotImplementedException("not suitable for publication!"); Data_Net__04CheckTelNumbers _04 = new Data_Net__04CheckTelNumbers(email, timeNow.Ticks, telForCheckFile.getVal, ""); DSSwitch.msgFile04().Store(niceSystem, _04, log); sbInfo.AppendFormat("File {0} created\r\n", _04.GetFileName()); } catch (ArgumentException ae) { sbInfo.Append(ae.Message); } catch (Exception) { sbInfo.Append("ERROR"); } return(sbInfo.ToString()); }
public static DirectTel_OutJson ProcessDirectTel(DirectTel_InJson inJson, IMyLog trayLog, LogForEmailSend log4Email, dOnAction onGet, dOnAction onAck) { trayLog.Debug("DirectTel: Loading " + inJson.SubSystem); NiceSystemInfo subSystem = inJson.SubSystem.GetSystemInfoFromTrayType(); if (subSystem == null) { throw new Exception("subSystem == null"); } switch (inJson.Inst) { case "Get": { // Update loopback file (with the data from the incoming object) if (onGet != null) { onGet(subSystem); } // Prepare the object to be sent ASPTrayBase trayBase = MessageProcessing_TrayTo.GetFilesToSendToTray_ConsiderPriority(subSystem, 1, trayLog).FirstOrDefault(); if (trayBase == null) { // nothing, so just wait return(new DirectTel_OutJson() { WaitSec = 10, }); } if (trayBase is Data_Net__00NormalMessage) { Data_Net__00NormalMessage _00 = trayBase as Data_Net__00NormalMessage; return(new DirectTel_OutJson() { Id = "00" + _00.GetFileName(), Zapi = _00.DestMobile.Replace("+", ""), Text = _00.Msg, IsAddTelOnly = false, WaitSec = 1, }); } if (trayBase is Data_Net__04CheckTelNumbers) { Data_Net__04CheckTelNumbers _04 = trayBase as Data_Net__04CheckTelNumbers; MobileNoHandler h = new MobileNoHandler(_04.TelList); string firstTel = h.MobileNumberX_AsZapi(0); return(new DirectTel_OutJson() { Id = "04" + _04.GetFileName(), Zapi = firstTel, Text = null, IsAddTelOnly = true, WaitSec = 1, }); } } break; case "Ack": // Update loopback file (with the data from the incoming object) if (onAck != null) { onAck(subSystem); } MessageProcessing_TrayFrom proc = new MessageProcessing_TrayFrom(subSystem, null, trayLog, log4Email); Data_Net_Tray2ASP helper = new Data_Net_Tray2ASP(); if (inJson.Id.StartsWith("00")) { inJson.Id = inJson.Id.Substring(2); Data_Net__01NormalMessageResult _01 = new Data_Net__01NormalMessageResult(inJson.Id, true); helper.ObjectList.Add(_01); proc.Process_TrayFrom(helper, true); return(new DirectTel_OutJson()); } else if (inJson.Id.StartsWith("04")) { inJson.Id = inJson.Id.Substring(2); Data_Net__05CheckTelNumbersResult _05 = new Data_Net__05CheckTelNumbersResult(inJson.Id, null, null, null); helper.ObjectList.Add(_05); proc.Process_TrayFrom(helper, true); return(new DirectTel_OutJson()); } else { } break; default: throw new Exception("Unknown inst"); } return(null); }
public string Process_MGUseAddTelToFreeAccounts(NiceSystemInfo niceSystem, MobileNoHandler XTelList, int maxNumbers, IMyLog log) { StringBuilder sbInfo = new StringBuilder(); MobileNoHandler telForCheckFile = new MobileNoHandler(""); try { timeNow = DateTime.UtcNow; // 1 extract (check) input data #region 1 extract (check) input data if (string.IsNullOrEmpty(Email)) { throw new ArgumentException("X-APIId missing"); } #endregion // 2 load user file and check guid #region 2 load user file and check guid DSSwitch.appUser().Update_General(Email, delegate(Data_AppUserFile user, Object args) { if (user == null) { throw new ArgumentException("X-APIId unknown"); } #endregion // 3 action, add up to 5 numbers and produce telCheck file #region 3 action, add up to 5 numbers and produce telCheck file if (user.AccountStatus == Data_AppUserFile.eUserStatus.blocked) { // unblock, as this is an instraction from the admin user.AccountStatus = Data_AppUserFile.eUserStatus.free_account; } if (user.AccountStatus != Data_AppUserFile.eUserStatus.free_account) { throw new ArgumentException("This applies only to free_account. Not to " + user.AccountStatus.ToString()); } if (( user.MobileNumbers_AllConfirmed__.MobileNumbersCount + user.MobileNumbers_AllUnConfirmed__.MobileNumbersCount + XTelList.MobileNumbersCount) > maxNumbers) { throw new ArgumentException("Only up to 5 numbers allowed"); } foreach (string tel1 in XTelList.MobileNumberArray) { user.MobileNumbers_AllUnConfirmed__.Add(tel1); telForCheckFile.Add(tel1); sbInfo.AppendFormat("Added {0}\r\n", tel1); } sbInfo.AppendFormat("Now {0} # registered\r\n", (user.MobileNumbers_AllConfirmed__.MobileNumbersCount + user.MobileNumbers_AllUnConfirmed__.MobileNumbersCount)); #endregion }, null, delegate(Object args) // 4 post user file handling, create telCheck file { Data_Net__04CheckTelNumbers _04 = new Data_Net__04CheckTelNumbers(Email, timeNow.Ticks, telForCheckFile.getVal, ""); DSSwitch.msgFile04().Store(niceSystem, _04, log); sbInfo.AppendFormat("File {0} created\r\n", _04.GetFileName()); }, log); } catch (ArgumentException ae) { sbInfo.Append(ae.Message); } catch (Exception) { sbInfo.Append("ERROR"); } return(sbInfo.ToString()); }
void internalThread() { m_2iInfoDisplay.FileLog_Debug("internalThread start"); m_2iInfoDisplay.FileLog_Debug(Assembly.GetAssembly(typeof(IMyLog)).WriteAssemblyVersion()); m_2iInfoDisplay.ReturnWhenReady(); Ix iAll = new Ix(m_2iInfoDisplay, m_4Screen, m_5Mouse, m_6Process, m_8Updater, new C9_CPUSlowdown()); iAll.iSlowdown.Slowdown(iAll); processEmptyWakeUpTrigger(iAll); while (m_wantToStop.WaitOne(10, false) == false) { try { iAll.iSlowdown.Slowdown(iAll); m_2iInfoDisplay.LoopStart(); m_3iGetData.ExchangeDataWithServer(m_2iInfoDisplay, m_6Process); List <ASPTrayBase> serverFiles = m_3iGetData.GetServerFiles(iAll); if (serverFiles.Count == 0) { processEmptyWakeUpTrigger(iAll); } else { foreach (ASPTrayBase f1 in serverFiles) { m_2iInfoDisplay.FileLog_Info("".PadRight(50, '*')); m_2iInfoDisplay.FileLog_Info("processing start : " + f1.GetFileName()); iAll.iSlowdown.Slowdown(iAll); ASPTrayBase.eASPtrayType f1e = f1.GetEnumType(); switch (f1e) { case ASPTrayBase.eASPtrayType.ScreenShotRequest: { Data_Net__02ScreenshotRequest _02 = (Data_Net__02ScreenshotRequest)f1; m_2iInfoDisplay.FileLog_Info("processing screenshot start: " + _02.MsgTicks.ToString()); Bitmap bAll = ImageCapture.GetAll(); m_3iGetData.AddResultFile( new Data_Net__03ScreenshotResult( bAll.BmpToB64_Png(), _02.GetFileName())); m_2iInfoDisplay.FileLog_Info("processing done screenshot: " + _02.MsgTicks.ToString()); } break; case ASPTrayBase.eASPtrayType.NormalMessage: { Data_Net__00NormalMessage _00 = (Data_Net__00NormalMessage)f1; m_2iInfoDisplay.AddLine(_00.DestMobile); m_2iInfoDisplay.FileLog_Info(_00.DestMobile); if (_00.FailedCounter != 0) { m_2iInfoDisplay.FileLog_Info(String.Format("FailedCounter: {0} / {1}", _00.FailedCounter, _00.DisposeAfterNFailed)); } m_2iInfoDisplay.FileLog_Info("MSG: " + _00.Msg.MsgForLogFile()); int processId; bool use; m_3iGetData.Debug_GetProcessIdOfFile(f1, out processId, out use); if (use) { m_6Process.Debug_AmendProcessId(processId); } iAll.TypeOfProcess = Ix.eTypeOfProcess.Normal; eI6Error whatsAppRes = m_6Process.Process( _00.DestMobile, _00.Msg, iAll); m_2iInfoDisplay.AddLine(whatsAppRes.ToString()); switch (whatsAppRes) { case eI6Error.Success: m_3iGetData.AddResultFile(new Data_Net__01NormalMessageResult( _00.GetFileName(), true)); m_2iInfoDisplay.FileLog_Debug("processing done: " + _00.UniqueId()); break; case eI6Error.FailedButNoLettingHostKnow_TelNotActive: m_2iInfoDisplay.AddLine("No Tel in Android yet"); m_2iInfoDisplay.FileLog_Info("No Tel in Android yet"); break; default: // failed m_3iGetData.AddResultFile(new Data_Net__01NormalMessageResult( _00.GetFileName(), false)); m_2iInfoDisplay.FileLog_Debug("processing failed (interaction): " + _00.UniqueId() + " " + whatsAppRes.ToString()); break; } } break; case ASPTrayBase.eASPtrayType.CheckTelNumbers: { Data_Net__04CheckTelNumbers _04 = (Data_Net__04CheckTelNumbers)f1; m_2iInfoDisplay.AddLine("CheckTelNumbers:" + _04.GetFileName()); MobileNoHandler handleOk = new MobileNoHandler(_04.TelListChecked); MobileNoHandler handleRetryPlease = new MobileNoHandler(""); MobileNoHandler handleNotWorking = new MobileNoHandler(""); foreach (string toBeCheckedNoZap in new MobileNoHandler(_04.TelList).MobileNumberArray) { string toBeChecked = toBeCheckedNoZap.Zapi_Add(); m_2iInfoDisplay.AddLine("Checking " + toBeChecked); m_2iInfoDisplay.FileLog_Info("Checking " + toBeChecked); int processId; bool use; m_3iGetData.Debug_GetProcessIdOfFile(f1, out processId, out use); if (use) { m_6Process.Debug_AmendProcessId(processId); } iAll.TypeOfProcess = Ix.eTypeOfProcess.TelNumberChecking; eI6Error whatsAppRes = m_6Process.Process( toBeChecked, null, iAll); m_2iInfoDisplay.AddLine(whatsAppRes.ToString()); switch (whatsAppRes) { case eI6Error.Success: handleOk.Add(toBeCheckedNoZap); break; case eI6Error.FailedButNoLettingHostKnow_TelNotActive: handleRetryPlease.Add(toBeCheckedNoZap); break; default: // failed handleNotWorking.Add(toBeCheckedNoZap); break; } } m_3iGetData.AddResultFile( new Data_Net__05CheckTelNumbersResult( _04.GetFileName(), handleOk.getVal, handleRetryPlease.getVal, handleNotWorking.getVal)); } break; default: m_2iInfoDisplay.AddLine("UNKOWN FILE TYPE"); m_2iInfoDisplay.FileLog_Error("UNKOWN FILE TYPE"); break; } } } // delay if (m_3iGetData.DoWeHaveDataToSend()) { // we have data to send, so dont wait too long m_2iInfoDisplay.Delay(500); } else { m_2iInfoDisplay.Delay(2 * 1000); } } catch (SystemException se) { m_2iInfoDisplay.AddLine("SystemException"); m_2iInfoDisplay.AddLine(se.Message); m_2iInfoDisplay.AddLine(se.ToString()); if (!se.ToString().Contains("System.Net.WebException: The operation has timed out")) { m_2iInfoDisplay.FileLog_Error(se.Message + " - " + se.ToString()); } m_3iGetData.Reset_toASP(); m_2iInfoDisplay.Delay(5 * 1000); } } }