public List <ASPTrayBase> GetServerFiles(Ix ix) { if (mFirstRound) { mFirstRound = false; if ("_3GetData.DebugHardcoded.WithDelay".IsConfiguredAndTRUE()) { ix.iDsp.AddLine("_3GetData_DebugHardcoded: Waiting 30 sec, Bring Firefox to front."); ix.iDsp.Delay(10000); ix.iDsp.AddLine("10 sec..."); ix.iDsp.Delay(10000); ix.iDsp.AddLine("_3GetData_DebugHardcoded: Waiting 30 sec, Bring Firefox to front."); ix.iDsp.AddLine("20 sec..."); } } else { throw new ArgumentException("not mFirstRound"); } List <ASPTrayBase> ret = new List <ASPTrayBase>(); foreach (var e1 in toProcess.Values) { if (ret.Count > 5) { break; } ASPTrayBase f1 = e1.To_MessageFile(); ret.Add(f1); } return(ret); }
public Data_Net__02ScreenshotRequest ReadOne(NiceSystemInfo niceSystem, string fileName, IMyLog log) { try { WithAndWithoutUnderline ww = new WithAndWithoutUnderline( FolderNames.GetFolder(niceSystem, MyFolders.ASP_QueuedMessages_), fileName); Data_Net__02ScreenshotRequest o = null; Stream stream = OpenFile.ForRead(ww.Existing, false, false, log); if (stream == null) { return(null); } using (BinaryReader br = new BinaryReader(stream)) { ASPTrayBase ox = ASPTrayBase.ReadOne(br); if (ox.GetEnumType() == ASPTrayBase.eASPtrayType.ScreenShotRequest) { o = (Data_Net__02ScreenshotRequest)ox; } } return(o); } catch (SystemException se) { log.Error("*** SystemException ***"); log.Error(se.Message); } return(null); }
public Data_Net__00NormalMessage ReadOne(NiceSystemInfo niceSystem, string fileName, Data_Net__00NormalMessage.eLocation location, IMyLog log) { try { WithAndWithoutUnderline ww = new WithAndWithoutUnderline( FolderNames.GetFolder(niceSystem, eLocationToMyFolder(location)), fileName); Data_Net__00NormalMessage o = null; Stream stream = OpenFile.ForRead(ww.Existing, false, false, log); if (stream == null) { return(null); } using (BinaryReader br = new BinaryReader(stream)) { ASPTrayBase ox = ASPTrayBase.ReadOne(br); if (ox.GetEnumType() == ASPTrayBase.eASPtrayType.NormalMessage) { o = (Data_Net__00NormalMessage)ox; } } return(o); } catch (SystemException se) { log.Error("*** SystemException ***"); log.Error(se.Message); } return(null); }
public void Debug_GetProcessIdOfFile(ASPTrayBase file, out int processId, out bool useProcessId) { processId = 0; useProcessId = false; if (file.GetEnumType() == ASPTrayBase.eASPtrayType.NormalMessage) { Data_Net__00NormalMessage _0 = (Data_Net__00NormalMessage)file; if (toProcess.ContainsKey(_0.DestMobile)) { OneListEntry e1 = toProcess[_0.DestMobile]; processId = e1.processId; useProcessId = true; } } }
public void ForEach(NiceSystemInfo niceSystem, IMyLog log, dProcess_Data_Net__02ScreenshotRequest cb) { try { foreach (var f1 in Directory.GetFiles(FolderNames.GetFolder(niceSystem, MyFolders.ASP_QueuedMessages_))) { if (!ASPTrayBase.s_MsgFile_IsOld(f1)) { ASPTrayBase d1 = ASPTrayBase.ReadOne(f1, log); if ((d1 != null) && (d1.GetEnumType() == ASPTrayBase.eASPtrayType.ScreenShotRequest)) { cb((Data_Net__02ScreenshotRequest)d1); } } } } catch (SystemException se) { log.Error("*** SystemException ***"); log.Error(se.Message); } }
private void forEach(NiceSystemInfo niceSystem, DateTime newerThan, string containsUser, MyFolders folder, IMyLog log, dProcess_Data_Net__00NormalMessage cb) { foreach (var f1 in Directory.GetFiles(FolderNames.GetFolder(niceSystem, folder))) { if ((containsUser != null) && (!f1.Contains(containsUser))) { // wrong user continue; } DateTime fileTime = ASPTrayBase.s_MsgFile_GetDateTimeOfMessageFile(f1); if (fileTime >= newerThan) { if (!ASPTrayBase.s_MsgFile_IsOld(f1)) { ASPTrayBase d1 = ASPTrayBase.ReadOne(f1, log); if ((d1 != null) && (d1.GetEnumType() == ASPTrayBase.eASPtrayType.NormalMessage)) { cb((Data_Net__00NormalMessage)d1); } } } } }
public void Debug_GetProcessIdOfFile(ASPTrayBase file, out int processId, out bool useProcessId) { processId = 0; useProcessId = false; }
public void AddResultFile(ASPTrayBase file) { toASP.ObjectList.Add(file); }
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); }
private void processCheckTelNumbersResult(Data_Net__05CheckTelNumbersResult _05, bool sendEmails) { // 1) delete the triggering file ASPTrayBase.MsgFileParts info = ASPTrayBase.s_MsgFile_GetPartsFromMessageFile(_05.RequestFileName);//mg check this Data_Net__04CheckTelNumbers msg04 = DSSwitch.msgFile04().ReadOne(niceSystem, _05.RequestFileName, trayLog); DSSwitch.msgFile04().Delete(niceSystem, _05.RequestFileName, trayLog); string niceEmail = null; bool sendWelcomeMessages = false; string sendWelcomeMessages_GUID = null; string sendWelcomeMessages_TelList = null; if ((_05.TelListOk == null) && (_05.TelListDoRetry == null) && (_05.TelListNotWorking == null)) { // this is from directTel, so the first checked is not ok MobileNoHandler hOk = new MobileNoHandler(msg04.TelListChecked); MobileNoHandler hToDo = new MobileNoHandler(msg04.TelList); hOk.AddIfNew(hToDo.RemoveAndReturnFirst()); _05.TelListOk = hOk.getVal; _05.TelListDoRetry = hToDo.getVal; _05.TelListNotWorking = ""; } // 2) do retry if not all worked and non failed if ((_05.TelListDoRetry.Length > 0) && (_05.TelListNotWorking.Length == 0)) { // early retry Data_Net__04CheckTelNumbers _04 = new Data_Net__04CheckTelNumbers(info.Email, DateTime.UtcNow.Ticks, _05.TelListDoRetry, _05.TelListOk); DSSwitch.msgFile04().Store(niceSystem, _04, trayLog); } else { // open the userfile and merge MobileNoHandler doAgain = new MobileNoHandler(_05.TelListDoRetry); DSSwitch.appUser().Update_General(info.Email, delegate(Data_AppUserFile user, Object args) { // action niceEmail = user.Email; foreach (string telGood in (new MobileNoHandler(_05.TelListOk)).MobileNumberArray) { user.MobileNumbers_AllConfirmed__.AddIfNew(telGood); user.MobileNumbers_AllUnConfirmed__.Remove(telGood); } foreach (string telNotWorking in (new MobileNoHandler(_05.TelListNotWorking)).MobileNumberArray) { user.AddCommentLine(telNotWorking + " not working", true); user.MobileNumbers_AllUnConfirmed__.Remove(telNotWorking); user.MobileNumbers_AllConfirmed__.Remove(telNotWorking); } foreach (string telAgain in user.MobileNumbers_AllUnConfirmed__.MobileNumberArray) { doAgain.AddIfNew(telAgain); } if (doAgain.MobileNumbersCount == 0) { // nothing elso to check, so make a desision if (user.AccountStatus == Data_AppUserFile.eUserStatus.verified_checkingTelNumbers) { if (user.MobileNumbers_AllConfirmed__.MobileNumbersCount > 0) { // we have good numbers, so upgrade user.AccountStatus = Data_AppUserFile.eUserStatus.free_account; if (sendEmails) { EMail.SendJustActivated(user, log4Email); } sendWelcomeMessages = true; sendWelcomeMessages_GUID = user.ApiGuId; sendWelcomeMessages_TelList = user.MobileNumbers_AllConfirmed__.getVal; } else { // we have no valid numbers, so block user.AccountStatus = Data_AppUserFile.eUserStatus.blocked; if (sendEmails) { EMail.SendWrongTelRegistered(user, log4Email); } } } else if (user.AccountStatus == Data_AppUserFile.eUserStatus.free_account) { // this could be a free account number adding if (sendEmails) { EMail.SendJustActivated(user, log4Email); } sendWelcomeMessages = true; sendWelcomeMessages_GUID = user.ApiGuId; sendWelcomeMessages_TelList = user.MobileNumbers_AllConfirmed__.getVal; } } }, null, delegate(Object args) { // post user file processing if (doAgain.MobileNumbersCount != 0) { // still unprocessed numbers Data_Net__04CheckTelNumbers _04 = new Data_Net__04CheckTelNumbers(info.Email, DateTime.UtcNow.Ticks, doAgain.getVal, ""); DSSwitch.msgFile04().Store(niceSystem, _04, trayLog); } if (sendWelcomeMessages) { MessageProcessing_API api = new MessageProcessing_API(sendWelcomeMessages_GUID); string additionalInfo; api.SendWhatsApp( niceSystem, sendWelcomeMessages_TelList, "Welcome to NiceApi.net\r\n", true, trayLog, out additionalInfo); } }, trayLog); } }
public void AddResultFile(ASPTrayBase file) { }
public OneListEntry(ASPTrayBase alreadyFormated) { this.alreadyFormated = alreadyFormated; }
private static int ComparisonWithPriority(ASPTrayBase x, ASPTrayBase y) { int ret = 0; if (ret == 0) { // consider file priority ret = (int)x.GetFilePriority() - (int)y.GetFilePriority(); } if ((ret == 0) && (x.GetType() != y.GetType())) { Data_Net__00NormalMessage n = null; Data_Net__04CheckTelNumbers t = null; if ((x.GetType() == typeof(Data_Net__00NormalMessage)) && (y.GetType() == typeof(Data_Net__04CheckTelNumbers))) { n = (Data_Net__00NormalMessage)x; t = (Data_Net__04CheckTelNumbers)y; if (t.GetFailedCount() > 5) { ret = 1; } else { ret = -1; } } if ((y.GetType() == typeof(Data_Net__00NormalMessage)) && (x.GetType() == typeof(Data_Net__04CheckTelNumbers))) { n = (Data_Net__00NormalMessage)y; t = (Data_Net__04CheckTelNumbers)x; if (t.GetFailedCount() > 5) { ret = -1; } else { ret = 1; } } } if (ret == 0) { // consider failed counter ret = x.GetFailedCount() - y.GetFailedCount(); } if (ret == 0) { // consider file time if ( (x.GetEnumType() == ASPTrayBase.eASPtrayType.NormalMessage) && (y.GetEnumType() == ASPTrayBase.eASPtrayType.NormalMessage)) { Data_Net__00NormalMessage xn = (Data_Net__00NormalMessage)x; Data_Net__00NormalMessage yn = (Data_Net__00NormalMessage)y; if (ret == 0) { // compare the FailedConter ret = xn.FailedCounter - yn.FailedCounter; } if (ret == 0) { // older message first ret = (int)(xn.MsgTicks - yn.MsgTicks); } } if ( (x.GetEnumType() == ASPTrayBase.eASPtrayType.CheckTelNumbers) && (y.GetEnumType() == ASPTrayBase.eASPtrayType.CheckTelNumbers)) { Data_Net__04CheckTelNumbers xt = (Data_Net__04CheckTelNumbers)x; Data_Net__04CheckTelNumbers yt = (Data_Net__04CheckTelNumbers)y; if (ret == 0) { // compare the FailedConter ret = xt.GetFailedCount() - yt.GetFailedCount(); } if (ret == 0) { // older message first ret = (int)(xt.MsgTicks - yt.MsgTicks); } } } return(ret); }