Example #1
0
        public void GetDataKKT()
        {
            //< Parameters
            //KKTNumber="2345234523452345"
            //KKTSerialNumber="412412412412412"
            //Fiscal="true"
            //FNSerialNumber="23523445"
            //OrganizationName="ООО ВЕКТОР"
            //VATIN="325435435223"
            //AddressSettle="Москва, Дмитровское шоссе д.6"
            //TaxVariant="0,3"
            //OfflineMode="false"
            //AutomaticMode="false"
            //AutomaticNumber=""
            //OFDVATIN="32456234523452"/>
            int    length = 16;
            string tableParametesKKT;

            Res = Kkt.ПолучитьПараметрыККТ(Device, out tableParametesKKT);
            Console.WriteLine(tableParametesKKT);
            var doc = new XmlDocument();

            doc.LoadXml(tableParametesKKT);
            XmlElement root = doc.DocumentElement;
            // Обязательное наличие в структуре
            var  KKTSerialNumber = root.GetAttribute("KKTSerialNumber");
            var  FNSerialNumber  = root.GetAttribute("FNSerialNumber");
            bool Fiscal          = bool.Parse(root.GetAttribute("Fiscal"));

            // Необязательное наличие в структуре.
            var KKTNumber           = root.GetAttribute("KKTNumber");
            var FFDVersionFN        = root.GetAttribute("FFDVersionFN");
            var FFDVersionKKT       = root.GetAttribute("FFDVersionKKT");
            var DocumentNumber      = root.GetAttribute("DocumentNumber");
            var DateTimeParam       = DateTime.Parse(root.GetAttribute("DateTime"));
            var OrganizationName    = root.GetAttribute("OrganizationName");
            var VATIN               = root.GetAttribute("VATIN");
            var AddressSettle       = root.GetAttribute("AddressSettle");
            var TaxVariant          = root.GetAttribute("TaxVariant");
            var OfflineMode         = bool.Parse(root.GetAttribute("OfflineMode"));
            var ServiceSign         = bool.Parse(root.GetAttribute("ServiceSign"));
            var BSOSing             = bool.Parse(root.GetAttribute("BSOSing"));
            var CalcOnlineSign      = bool.Parse(root.GetAttribute("CalcOnlineSign"));
            var AutomaticMode       = root.GetAttribute("AutomaticMode");
            var AutomaticNumber     = root.GetAttribute("AutomaticNumber");
            var OFDOrganizationName = root.GetAttribute("OFDOrganizationName");
            var OFDVATIN            = root.GetAttribute("OFDVATIN");

            int docNumber = 0;

            int.TryParse(DocumentNumber, out docNumber);
            Assert.AreNotEqual(0, docNumber, "Номер документ не должен быть нулевым");
            Assert.IsTrue(Res, MessageError);
            Assert.AreEqual(length, KKTNumber.Length, $"Неверная длина {nameof(KKTNumber)} '{KKTNumber}'");
            Assert.AreEqual(length, FNSerialNumber.Length, $"Неверная длина {nameof(FNSerialNumber)} '{FNSerialNumber}'");
            Assert.IsNotNull(OFDOrganizationName, "Название ОФД не может быть пустым");
            Assert.IsNotNull(OFDVATIN, "ИНН ОФД не может быть пустым");
        }