public bool UserAccepted(string FileName) { string ShortName = CCommon.GetFileName(FileName); string[] PreviewLines = { " Начальные строки Файла ..." , "___________________________________________________" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "___________________________________________________" , " Для загрузки файла нажмите Enter. Для отмены - Esc" }; if (AFileReader.Open(FileName, CAbc.CHARSET_DOS)) { TotalCredit = CCommon.CInt64(AFileReader.Head(CSepAFileInfo.H_TOTALCREDIT).Trim()); PreviewLines[0] = ShortName + " : " + AFileReader.Head(CSepAFileInfo.H_STRCOUNT).Trim() + " строк, общая сумма" + CCommon.StrN(Total_Credit, 11).Replace(",", "."); int I = 3; while ((AFileReader.Read()) && (I < PreviewLines.Length - 2)) { PreviewLines[I] = CCommon.Left(AFileReader[CSepAFileInfo.L_DEBITMFO].Trim(), 6) + " : " + CCommon.Left(AFileReader[CSepAFileInfo.L_DEBITACC].Trim(), 14) + " >> " + CCommon.Left(AFileReader[CSepAFileInfo.L_CREDITMFO].Trim(), 6) + " : " + CCommon.Left(AFileReader[CSepAFileInfo.L_CREDITACC].Trim(), 14); I++; } } else { AFileReader.Close(); return(false); } AFileReader.Close(); return(CConsole.GetBoxChoice(PreviewLines)); }
public string Check(CCommand Command, string SourceFileName) { string Result = ""; string AboutError = ""; bool HaveError = false; string ShortFileName = CCommon.GetFileName(SourceFileName); TotalCredit = 0; StringCount = 0; if (AFileReader.Open(SourceFileName, CAbc.CHARSET_DOS)) { HaveError = false; while (AFileReader.Read()) { TotalCredit += CCommon.CInt64(AFileReader[CSepAFileInfo.L_SUMA].Trim()); StringCount++; AboutError = ""; CmdText = "exec dbo.pMega_OpenGate_CheckPalvis" + " @Code = '" + AFileReader[CSepAFileInfo.L_NDOC].Replace("'", "`").Trim() + "'" + ",@Ctrls = '" + AFileReader[CSepAFileInfo.L_NDOC].Replace("'", "`").Trim() + "'" + ",@SourceCode = '" + AFileReader[CSepAFileInfo.L_DEBITMFO].Replace("'", "`").Trim() + "'" + ",@DebitMoniker = '" + AFileReader[CSepAFileInfo.L_DEBITACC].Replace("'", "`").Trim() + "'" + ",@DebitState = '" + AFileReader[CSepAFileInfo.L_OKPO1].Replace("'", "`").Trim() + "'" + ",@DebitIBAN = '" + AFileReader[CSepAFileInfo.L_DEBITIBAN].Replace("'", "`").Trim() + "'" + ",@TargetCode = '" + AFileReader[CSepAFileInfo.L_CREDITMFO].Replace("'", "`").Trim() + "'" + ",@CreditMoniker= '" + AFileReader[CSepAFileInfo.L_CREDITACC].Replace("'", "`").Trim() + "'" + ",@CreditState = '" + AFileReader[CSepAFileInfo.L_OKPO2].Replace("'", "`").Trim() + "'" + ",@CreditIBAN = '" + AFileReader[CSepAFileInfo.L_CREDITIBAN].Replace("'", "`").Trim() + "'" + ",@CrncyAmount = " + AFileReader[CSepAFileInfo.L_SUMA].Replace("'", "`").Trim() + ",@CurrencyId = " + AFileReader[CSepAFileInfo.L_CURRENCY].Replace("'", "`").Trim() + ",@FileName = '" + ShortFileName.Replace("'", "`").Trim() + "'" + ",@LineNum = " + StringCount.ToString() + ",@UserName = '******'" ; AboutError = (string)Command.GetScalar(CmdText); if (AFileReader[CSepAFileInfo.L_PURPOSE].Trim() == "") { AboutError += " Не заполнено назначение платежа ;"; } if (AFileReader[CSepAFileInfo.L_DEBITNAME].Trim() == "") { AboutError += " Не заполнено название дб. счета ;"; } if (AFileReader[CSepAFileInfo.L_CREDITNAME].Trim() == "") { AboutError += " Не заполнено название кт. счета ;"; } if (AboutError != null) { if ((AboutError.Trim() != "")) { HaveError = true; Result = Result + " Ошибка в строке " + StringCount.ToString() + " : " + AboutError.Trim() + CAbc.CRLF; } } CConsole.ShowBox("", " Проверяется строка" + CCommon.StrI(StringCount, 5) + " ", ""); } CConsole.Clear(); if (HaveError) { Result = Result + "Ошибка в реквизитах платежей !" + CAbc.CRLF; } if (TotalCredit != CCommon.CInt64(AFileReader.Head(CSepAFileInfo.H_TOTALCREDIT).Trim())) { Result = Result + CAbc.CRLF + "Неверная итоговая сумма платежей !" + CAbc.CRLF; } if (CCommon.IsDigit("0" + AFileReader.Head(CSepAFileInfo.H_STRCOUNT).Trim()) == false) { Result = Result + CAbc.CRLF + "Неверное общее количество строк !" + CAbc.CRLF; } else if (StringCount != CCommon.CInt32("0" + AFileReader.Head(CSepAFileInfo.H_STRCOUNT).Trim())) { Result = Result + CAbc.CRLF + "Неверное общее количество строк !" + CAbc.CRLF; } } else { Result += "Ошибка чтения файла !" + CAbc.CRLF; } AFileReader.Close(); byte SavedColor = CConsole.BoxColor; if ((( int )CCommon.IsNull(Command.GetScalar("exec dbo.pMega_OpenGate_CheckPalvis;2 @TaskCode='OpenGate',@FileName='" + ShortFileName + "'"), (int)0)) > 0) { CConsole.BoxColor = CConsole.RED * 16 + CConsole.WHITE; CConsole.GetBoxChoice("Внимание ! Файл " + ShortFileName + " сегодня уже загружался !", "", "Нажмите Enter."); HaveError = true; Result += "Файл " + ShortFileName + " сегодня уже загружался !" + CAbc.CRLF; CConsole.BoxColor = SavedColor; } return(Result); }