Example #1
0
 private static bool IsValidRFnumber(string input, out string rfNum)
 {
     input = CommonUtilities.SanitizeAlphaNumeric(input.ToUpper());
     rfNum = input;
     if (RF.IsValidFinnishRFnumber(input) || RF.IsValidInternationalRFnumber(input))
     {
         return(true);
     }
     Console.WriteLine("Syƶtetty viitenumero ei ollut kelvollinen.");
     return(false);
 }
        public static bool ComposeBarCode(string accountNum, string rfNum, double sum, string dueDate, out List <int> barCode)
        {
            string res = string.Empty;

            if (IBAN.IsValidFinnishIBAN(accountNum) && (RF.IsValidFinnishRFnumber(rfNum) || RF.IsValidInternationalRFnumber(rfNum)))
            {
                res += rfNum.StartsWith("RF") ? "5" : "4";
                res += FormatAccountNumber(accountNum);
                if (sum >= 0)
                {
                    res += sum > 999999.99 ? "00000000" : int.Parse(Math.Round(sum * 100).ToString()).ToString("D8");
                }
                res += FormatRFnumber(rfNum);
                res += IsProperDate(dueDate) ? dueDate : "000000";
            }
            barCode = new List <int>();
            if (res.Length == 54)
            {
                barCode.Add(105);
                int i = 0;
                while (i < res.Length - 1)
                {
                    barCode.Add(int.Parse(res.Substring(i, 2)));
                    i += 2;
                }
                barCode.Add(CalculateCheckNumber(barCode));
                return(true);
            }
            return(false);
        }