Пример #1
0
    private bool VerifyCard(Card card)
    {
        if (card.ExpiryDate.Year < DateTime.Now.Year && card.ExpiryDate.Month < DateTime.Now.Month)
        {
            return(false);
        }

        return(Mod10.Validate(card.CardNumber));
    }
Пример #2
0
        public CodebarResult GenerateConsumo(int segment, string code, string value)
        {
            int    identifierType = randomValues.Next(2) == 0 ? 6 : 8;
            string valueF         = Utils.GetFactorFromValueFormatted(value, 11);

            CodebarResult consumo = new CodebarResult();

            string block01 = String.Concat("8", segment, identifierType, valueF.Substring(0, 7));

            string block02 = String.Concat(valueF.Substring(7, 4), code, randomCode.Next(1000).ToString().PadLeft(3, '0'));

            string block03 = String.Concat(
                randomCode.Next(100000).ToString().PadLeft(5, '0'),
                randomCode.Next(1000).ToString().PadLeft(3, '0'),
                randomCode.Next(1000).ToString().PadRight(3, '0'));

            string block04 = String.Concat(
                randomCode.Next(100000).ToString().PadLeft(5, '0'),
                randomCode.Next(1000).ToString().PadLeft(3, '0'),
                randomCode.Next(1000).ToString().PadRight(3, '0'));

            string allBlocks = String.Concat(block01, block02, block03, block04);

            string digVMaster = identifierType == 6 ? Mod10.GetMod10Digit(allBlocks) : Mod11.GetMod11Digit(allBlocks);

            block01 = block01.Insert(3, digVMaster);


            if (identifierType == 6)
            {
                block01 = Mod10.ConcactMod10Digit(block01);
                block02 = Mod10.ConcactMod10Digit(block02);
                block03 = Mod10.ConcactMod10Digit(block03);
                block04 = Mod10.ConcactMod10Digit(block04);
            }
            else
            {
                block01 = Mod11.ConcactMod11Digit(block01);
                block02 = Mod11.ConcactMod11Digit(block02);
                block03 = Mod11.ConcactMod11Digit(block03);
                block04 = Mod11.ConcactMod11Digit(block04);
            }

            consumo.LineFormatted = String.Format("{0} {1} {2} {3}", block01, block02, block03, block04);
            consumo.Line          = Utils.GetNumbersFromLine(consumo.LineFormatted);
            consumo.BarcodeLine   = Utils.ConvertToBarcode(consumo.LineFormatted);
            Image img = Image.FromStream(new MemoryStream(new C2of5i(consumo.BarcodeLine, 1, 50, consumo.BarcodeLine.Length).ToByte()));

            using (MemoryStream imgJpg = new MemoryStream())
            {
                img.Save(imgJpg, ImageFormat.Png);
                consumo.BarcodeBase64 = Convert.ToBase64String(imgJpg.ToArray());
            }
            return(consumo);
        }