Пример #1
0
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            // <?xml version="1.0"?><merchant.response><trust id="65376205"><slavepurse>U731654115046</slavepurse><slavewmid>729376294758</slavewmid><masterwmid>301095414760</masterwmid></trust><retval>0</retval><retdesc></retdesc><userdesc>Trust successfull! The required trust set from member`s purse U731654115046 to merchant wmid 301095414760</userdesc></merchant.response>
            TrustId     = wmXmlPackage.SelectInt32("trust/@id");
            ClientPurse = wmXmlPackage.SelectPurse("trust/slavepurse");
            ClientWmId  = wmXmlPackage.SelectWmId("trust/slavewmid");
            StoreWmId   = wmXmlPackage.SelectWmId("trust/masterwmid");
            Info        = wmXmlPackage.SelectString("userdesc");
        }
Пример #2
0
        internal override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Id           = wmXmlPackage.SelectUInt32("@id");
            Ts           = wmXmlPackage.SelectUInt32("@ts");
            OrderId      = wmXmlPackage.SelectUInt32("orderid");
            SourceWmId   = wmXmlPackage.SelectWmId("customerwmid");
            TargetPurse  = wmXmlPackage.SelectPurse("storepurse");
            Amount       = wmXmlPackage.SelectAmount("amount");
            Description  = (Description)wmXmlPackage.SelectString("desc");
            Address      = (Description)wmXmlPackage.SelectString("address");
            Period       = wmXmlPackage.SelectUInt8("period");
            Expiration   = wmXmlPackage.SelectUInt8("expiration");
            InvoiceState = (InvoiceState)wmXmlPackage.SelectInt32("state");
            CreateTime   = wmXmlPackage.SelectWmDateTime("datecrt");
            UpdateTime   = wmXmlPackage.SelectWmDateTime("dateupd");
            OperationId  = wmXmlPackage.SelectUInt32("wmtranid");

            if (wmXmlPackage.Exists("customerpurse") &&
                !string.IsNullOrEmpty(wmXmlPackage.SelectString("customerpurse")))
            {
                SourcePurse = wmXmlPackage.SelectPurse("customerpurse");
            }
        }
Пример #3
0
        internal override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            PrimaryId    = wmXmlPackage.SelectInt64("@id");
            SecondaryId  = wmXmlPackage.SelectInt64("@ts");
            SourcePurse  = wmXmlPackage.SelectPurse("pursesrc");
            TargetPurse  = wmXmlPackage.SelectPurse("pursedest");
            Amount       = wmXmlPackage.SelectAmount("amount");
            Commission   = wmXmlPackage.SelectAmount("comiss");
            TransferType = (TransferType)wmXmlPackage.SelectInt32("opertype");
            InvoiceId    = wmXmlPackage.SelectInt64("wminvid");
            OrderId      = wmXmlPackage.SelectInt32("orderid");
            PaymentId    = wmXmlPackage.SelectInt32("tranid");
            Period       = wmXmlPackage.SelectUInt8("period");
            Description  = (Description)wmXmlPackage.SelectString("desc");
            CreateTime   = wmXmlPackage.SelectWmDateTime("datecrt");
            UpdateTime   = wmXmlPackage.SelectWmDateTime("dateupd");
            Partner      = wmXmlPackage.SelectWmId("corrwm");
            Rest         = wmXmlPackage.SelectAmount("rest");

            if (wmXmlPackage.Exists("timelock"))
            {
                IsLocked = true;
            }
        }
Пример #4
0
        internal void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Id              = wmXmlPackage.SelectUInt32("@id");
            InvoiceAllowed  = wmXmlPackage.SelectBool("@inv");
            TransferAllowed = wmXmlPackage.SelectBool("@trans");
            BalanceAllowed  = wmXmlPackage.SelectBool("@purse");
            HistoryAllowed  = wmXmlPackage.SelectBool("@transhist");
            Master          = wmXmlPackage.SelectWmId("master");

            if (wmXmlPackage.Exists("purse") &&
                !string.IsNullOrEmpty(wmXmlPackage.SelectString("purse")))
            {
                Purse = wmXmlPackage.SelectPurse("purse");
            }

            Hours24Limit = wmXmlPackage.SelectAmount("daylimit");
            DayLimit     = wmXmlPackage.SelectAmount("dlimit");
            WeekLimit    = wmXmlPackage.SelectAmount("wlimit");
            MonthLimit   = wmXmlPackage.SelectAmount("mlimit");
            DayAmount    = wmXmlPackage.SelectAmount("dsum");
            WeekAmount   = wmXmlPackage.SelectAmount("wsum");
            MonthAmount  = wmXmlPackage.SelectAmount("msum");
            LastDate     = wmXmlPackage.SelectWmDate("lastsumdate");
        }
        internal void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            ContractId = wmXmlPackage.SelectInt32("@contractid");
            WmId       = wmXmlPackage.SelectWmId("@wmid");
            AcceptTime = wmXmlPackage.SelectWmDateTimeIfExists("@acceptdate");
        }
        internal void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            WmId             = wmXmlPackage.SelectWmId("@wmid");
            Alias            = wmXmlPackage.SelectString("@nickname");
            Description      = wmXmlPackage.SelectString("@info");
            RegistrationDate = wmXmlPackage.SelectWmDateTime("@datereg");
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Id         = wmXmlPackage.SelectUInt32("message/@id");
            WmId       = wmXmlPackage.SelectWmId("message/receiverwmid");
            Subject    = (Description)wmXmlPackage.SelectString("message/msgsubj");
            Content    = (Message)wmXmlPackage.SelectNotEmptyString("message/msgtext");
            CreateTime = wmXmlPackage.SelectWmDateTime("message/datecrt");
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Success = wmXmlPackage.SelectBool("retval");

            if (!Success)
            {
                return;
            }

            if (!string.IsNullOrEmpty(wmXmlPackage.SelectString("testwmpurse/wmid")))
            {
                WmId = wmXmlPackage.SelectWmId("testwmpurse/wmid");
            }

            if (wmXmlPackage.SelectInt32("testwmpurse/wmid/@available") >= 0)
            {
                TransferRejected = wmXmlPackage.SelectBool("testwmpurse/wmid/@available");
            }

            if (wmXmlPackage.SelectInt32("testwmpurse/wmid/@themselfcorrstate") > 0)
            {
                Availability = (PartnerAvailability)wmXmlPackage.SelectInt32("testwmpurse/wmid/@themselfcorrstate");
            }

            if (wmXmlPackage.SelectInt32("testwmpurse/wmid/@newattst") >= 0)
            {
                Passport = (PassportDegree)wmXmlPackage.SelectInt32("testwmpurse/wmid/@newattst");
            }

            if (!string.IsNullOrEmpty(wmXmlPackage.SelectString("testwmpurse/purse")))
            {
                Purse = wmXmlPackage.SelectPurse("testwmpurse/purse");
            }

            if (wmXmlPackage.SelectInt32("testwmpurse/purse/@merchant_active_mode") >= 0)
            {
                MerchantEnabled = wmXmlPackage.SelectBool("testwmpurse/purse/@merchant_active_mode");
            }

            if (wmXmlPackage.SelectInt32("testwmpurse/purse/@merchant_allow_cashier") >= 0)
            {
                CashierEnabled = wmXmlPackage.SelectBool("testwmpurse/purse/@merchant_allow_cashier");
            }
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Id              = wmXmlPackage.SelectInt32("trust/@id");
            InvoiceAllowed  = wmXmlPackage.SelectBool("trust/@inv");
            TransferAllowed = wmXmlPackage.SelectBool("trust/@trans");
            BalanceAllowed  = wmXmlPackage.SelectBool("trust/@purse");
            HistoryAllowed  = wmXmlPackage.SelectBool("trust/@transhist");
            Master          = wmXmlPackage.SelectWmId("trust/master");
            Purse           = wmXmlPackage.SelectPurseIfExists("trust/purse");
        }
Пример #10
0
        internal void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            ContractId = wmXmlPackage.SelectUInt32("@contractid");
            WmId       = wmXmlPackage.SelectWmId("@wmid");

            if (wmXmlPackage.Exists("@acceptdate") && !string.IsNullOrEmpty(wmXmlPackage.SelectString("@acceptdate")))
            {
                AcceptTime = wmXmlPackage.SelectWmDateTime("@acceptdate");
            }
        }
Пример #11
0
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            TransferId  = wmXmlPackage.SelectInt64("operation/@wmtransid");
            InvoiceId   = wmXmlPackage.SelectInt64("operation/@wminvoiceid");
            Amount      = wmXmlPackage.SelectAmount("operation/amount");
            Date        = wmXmlPackage.SelectWmDateTime("operation/operdate");
            Description = (Description)wmXmlPackage.SelectString("operation/purpose");
            ClientPurse = wmXmlPackage.SelectPurse("operation/pursefrom");
            ClientWmId  = wmXmlPackage.SelectWmId("operation/wmidfrom");
            Info        = wmXmlPackage.SelectString("userdesc");
            SmsState    = (SmsState?)wmXmlPackage.SelectEnumIfExists(typeof(SmsState), "smssentstate") ??
                          SmsState.BUFFERED;
        }
Пример #12
0
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Id              = wmXmlPackage.SelectUInt32("trust/@id");
            InvoiceAllowed  = wmXmlPackage.SelectBool("trust/@inv");
            TransferAllowed = wmXmlPackage.SelectBool("trust/@trans");
            BalanceAllowed  = wmXmlPackage.SelectBool("trust/@purse");
            HistoryAllowed  = wmXmlPackage.SelectBool("trust/@transhist");
            Master          = wmXmlPackage.SelectWmId("trust/master");

            // TODO: [L] Упростить проверку!
            if (wmXmlPackage.Exists("trust/purse") &&
                !string.IsNullOrEmpty(wmXmlPackage.SelectString("trust/purse")))
            {
                Purse = wmXmlPackage.SelectPurse("trust/purse");
            }
        }
Пример #13
0
        internal override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Id          = wmXmlPackage.SelectUInt32("invoice/@id");
            Ts          = wmXmlPackage.SelectUInt32("invoice/@ts");
            OrderId     = wmXmlPackage.SelectUInt32("invoice/orderid");
            SourceWmId  = wmXmlPackage.SelectWmId("invoice/customerwmid");
            TargetPurse = wmXmlPackage.SelectPurse("invoice/storepurse");
            Amount      = wmXmlPackage.SelectAmount("invoice/amount");
            Description = (Description)wmXmlPackage.SelectString("invoice/desc");
            Address     = (Description)wmXmlPackage.SelectString("invoice/address");
            Period      = wmXmlPackage.SelectUInt8("invoice/period");
            Expiration  = wmXmlPackage.SelectUInt8("invoice/expiration");
            State       = (InvoiceState)wmXmlPackage.SelectInt32("invoice/state");
            CreateTime  = wmXmlPackage.SelectWmDateTime("invoice/datecrt");
            UpdateTime  = wmXmlPackage.SelectWmDateTime("invoice/dateupd");
        }
        internal override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            PrimaryId    = wmXmlPackage.SelectInt64("@id");
            SecondaryId  = wmXmlPackage.SelectInt64("@ts");
            OrderId      = wmXmlPackage.SelectInt32("orderid");
            TargetWmId   = wmXmlPackage.SelectWmId("storewmid");
            TargetPurse  = wmXmlPackage.SelectPurse("storepurse");
            Amount       = wmXmlPackage.SelectAmount("amount");
            Description  = (Description)wmXmlPackage.SelectString("desc");
            Address      = (Description)wmXmlPackage.SelectString("address");
            Period       = wmXmlPackage.SelectUInt8("period");
            Expiration   = wmXmlPackage.SelectUInt8("expiration");
            InvoiceState = (InvoiceState)wmXmlPackage.SelectInt32("state");
            CreateTime   = wmXmlPackage.SelectWmDateTime("datecrt");
            UpdateTime   = wmXmlPackage.SelectWmDateTime("dateupd");
            TransferId   = wmXmlPackage.SelectInt64("wmtranid");
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            TransferId  = wmXmlPackage.SelectUInt32("operation/@wmtransid");
            InvoiceId   = wmXmlPackage.SelectUInt32("operation/@wminvoiceid");
            Amount      = wmXmlPackage.SelectAmount("operation/amount");
            Date        = wmXmlPackage.SelectWmDateTime("operation/operdate");
            Description = (Description)wmXmlPackage.SelectString("operation/purpose");
            ClientPurse = wmXmlPackage.SelectPurse("operation/pursefrom");
            ClientWmId  = wmXmlPackage.SelectWmId("operation/wmidfrom");
            Info        = wmXmlPackage.SelectString("userdesc");

            if (wmXmlPackage.Exists("smssentstate"))
            {
                SmsState =
                    (SmsState)Enum.Parse(typeof(SmsState), wmXmlPackage.SelectNotEmptyString("smssentstate"), true);
            }
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            TransferId     = wmXmlPackage.SelectInt64("operation/@wmtransid");
            InvoiceId      = wmXmlPackage.SelectInt64("operation/@wminvoiceid");
            CreateTime     = wmXmlPackage.SelectWmDateTime("operation/operdate");
            Description    = (Description)wmXmlPackage.SelectString("operation/purpose");
            SourcePurse    = wmXmlPackage.SelectPurse("operation/pursefrom");
            SourceWmId     = wmXmlPackage.SelectWmId("operation/wmidfrom");
            CapitallerFlag = wmXmlPackage.SelectBoolIfExists("operation/capitallerflag") ?? false;
            EnumFlag       = wmXmlPackage.SelectUInt8IfExists("operation/enumflag") ?? 0;
            IpAddress      = IPAddress.Parse(wmXmlPackage.SelectNotEmptyString("operation/IPAddress"));
            TelepatPhone   = wmXmlPackage.SelectString("operation/telepat_phone");
            TelepatMethod  =
                (TelepatMethod?)wmXmlPackage.SelectEnumFromIntegerIfExists(typeof(TelepatMethod),
                                                                           "operation/telepat_paytype");
            PaymerNumber = wmXmlPackage.TrySelectNotEmptyString("operation/paymer_number");
            PaymerEmail  = wmXmlPackage.TrySelectNotEmptyString("operation/paymer_email");
            PaymerType   =
                (PaymerType?)wmXmlPackage.SelectEnumFromIntegerIfExists(typeof(PaymerType),
                                                                        "operation/paymer_type") ?? PaymerType.None;

            //CashierNumber = wmXmlResponsePackage.SelectString("operation/cashier_number");

            //if (!string.IsNullOrEmpty(wmXmlResponsePackage.SelectString("operation/cashier_date")))
            //    CashierDate = wmXmlResponsePackage.SelectWmDateTime("operation/cashier_date");

            //if (!string.IsNullOrEmpty(wmXmlResponsePackage.SelectString("operation/cashier_amount")))
            //    CashierAmount = wmXmlResponsePackage.SelectAmount("operation/cashier_amount");

            SdpType = wmXmlPackage.SelectInt32IfExists("operation/sdp_type");
        }
Пример #17
0
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            WmId = wmXmlPackage.SelectWmId("certinfo/@wmid");

            // attestat
            Degree      = (PassportDegree)wmXmlPackage.SelectInt32("certinfo/attestat/row/@tid");
            Revoked     = wmXmlPackage.SelectBool("certinfo/attestat/row/@recalled");
            CreateTime  = wmXmlPackage.SelectWmDateTime("certinfo/attestat/row/@datecrt");
            IssuerId    = wmXmlPackage.SelectWmId("certinfo/attestat/row/@regwmid");
            IssuerAlias = wmXmlPackage.SelectString("certinfo/attestat/row/@regnickname");

            WmIdInfoList = new List <WmIdInfo>();

            var packageList = wmXmlPackage.SelectList("certinfo/wmids/row");

            foreach (var innerPackage in packageList)
            {
                var wmIdInfo = new WmIdInfo();
                wmIdInfo.Fill(new WmXmlPackage(innerPackage));

                WmIdInfoList.Add(wmIdInfo);
            }

            // userinfo
            Status      = (PassportStatus)wmXmlPackage.SelectInt32("certinfo/userinfo/value/row/@ctype");
            Appointment = (PassportAppointment)wmXmlPackage.SelectInt32("certinfo/userinfo/value/row/@jstatus");

            Basis       = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@osnovainfo");
            Alias       = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@nickname");
            Information = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@infoopen");
            City        = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@city");
            Region      = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@region");
            Country     = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@country");
            ZipCode     = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@zipcode");
            Address     = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@adres");
            Surname     = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@fname");
            FirstName   = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@iname");
            Patronymic  = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@oname");

            // Passport
            PassportNumber = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@pnomer");

            WmDate passportDate;

            if (WmDate.TryParse(wmXmlPackage.SelectString("certinfo/userinfo/value/row/@pdate"),
                                out passportDate))
            {
                PassportDate = passportDate;
            }

            PassportCountry     = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@pcountry");
            PassportCity        = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@pcity");
            PassportIssuer      = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@pbywhom");
            RegistrationCountry = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@rcountry");
            RegistrationCity    = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@rcity");
            RegistrationAddress = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@radres");

            // Birthplace and birthday
            Birthplace = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@bplace");

            if (!string.IsNullOrEmpty(wmXmlPackage.SelectString("certinfo/userinfo/value/row/@bday")) &&
                !string.IsNullOrEmpty(wmXmlPackage.SelectString("certinfo/userinfo/value/row/@bmonth")) &&
                !string.IsNullOrEmpty(wmXmlPackage.SelectString("certinfo/userinfo/value/row/@byear")))
            {
                int birthDay   = wmXmlPackage.SelectInt32("certinfo/userinfo/value/row/@bday");
                int birthMonth = wmXmlPackage.SelectInt32("certinfo/userinfo/value/row/@bmonth");
                int birthYear  = wmXmlPackage.SelectInt32("certinfo/userinfo/value/row/@byear");

                Birthday = (WmDate) new DateTime(birthYear, birthMonth, birthDay);
            }

            // Organization
            OrganizationName                 = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@name");
            OrganizationManager              = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@dirfio");
            OrganizationAccountant           = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@buhfio");
            OrganizationTaxId                = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@inn");
            OrganizationId                   = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@okpo");
            OrganizationActivityId           = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@okonx");
            OrganizationAddress              = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@jadres");
            OrganizationCountry              = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@jcountry");
            OrganizationCity                 = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@jcity");
            OrganizationZipCode              = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@jzipcode");
            OrganizationBankName             = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@bankname");
            OrganizationBankId               = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@bik");
            OrganizationCorrespondentAccount = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@ks");
            OrganizationAccount              = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@rs");

            // Contacts
            HomePhone    = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@phonehome");
            CellPhone    = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@phonemobile");
            ICQ          = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@icq");
            Fax          = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@fax");
            EMail        = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@email");
            WebAddress   = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@web");
            ContactPhone = wmXmlPackage.SelectString("certinfo/userinfo/value/row/@phone");

            WmId capitallerParent;

            if (WmId.TryParse(wmXmlPackage.SelectString("certinfo/userinfo/value/row/@cap_owner"),
                              out capitallerParent))
            {
                CapitallerParent = capitallerParent;
            }

            if (wmXmlPackage.Exists("certinfo/userinfo/value/row/@pasdoc"))
            {
                PassportInspection = wmXmlPackage.SelectBool("certinfo/userinfo/value/row/@pasdoc");
            }

            if (wmXmlPackage.Exists("certinfo/userinfo/value/row/@inndoc"))
            {
                TaxInspection = wmXmlPackage.SelectBool("certinfo/userinfo/value/row/@inndoc");
            }

            StatusConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                        "certinfo/userinfo/check-lock/row/@jstatus");
            BasisConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                       "certinfo/userinfo/check-lock/row/@osnovainfo");
            AliasConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                       "certinfo/userinfo/check-lock/row/@nickname");
            InformationConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                             "certinfo/userinfo/check-lock/row/@infoopen");
            CityConfirmation    = selectConfirmationFlag(wmXmlPackage, "certinfo/userinfo/check-lock/row/@city");
            RegionConfirmation  = selectConfirmationFlag(wmXmlPackage, "certinfo/userinfo/check-lock/row/@region");
            CountryConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                         "certinfo/userinfo/check-lock/row/@country");
            ZipCodeConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                         "certinfo/userinfo/check-lock/row/@zipcode");
            AddressConfirmation   = selectConfirmationFlag(wmXmlPackage, "certinfo/userinfo/check-lock/row/@adres");
            SurnameConfirmation   = selectConfirmationFlag(wmXmlPackage, "certinfo/userinfo/check-lock/row/@fname");
            FirstNameConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                           "certinfo/userinfo/check-lock/row/@iname");
            PatronymicConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                            "certinfo/userinfo/check-lock/row/@oname");

            // Passport confirmation
            PassportNumberConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                "certinfo/userinfo/check-lock/row/@pnomer");
            PassportDateConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                              "certinfo/userinfo/check-lock/row/@pdate");
            PassportCountryConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                 "certinfo/userinfo/check-lock/row/@pcountry");
            PassportCityConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                              "certinfo/userinfo/check-lock/row/@pcity");
            PassportIssuerConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                "certinfo/userinfo/check-lock/row/@pbywhom");
            RegistrationCountryConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                     "certinfo/userinfo/check-lock/row/@rcountry");
            RegistrationCityConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                  "certinfo/userinfo/check-lock/row/@rcity");
            RegistrationAddressConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                     "certinfo/userinfo/check-lock/row/@radres");

            // Birthplace and birthday confirmation
            BirthplaceConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                            "certinfo/userinfo/check-lock/row/@bplace");
            BirthdayConfirmation = selectConfirmationFlag(wmXmlPackage, "certinfo/userinfo/check-lock/row/@bday");

            // Organization confirmation
            OrganizationNameConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                  "certinfo/userinfo/check-lock/row/@name");
            OrganizationManagerConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                     "certinfo/userinfo/check-lock/row/@dirfio");
            OrganizationAccountantConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                        "certinfo/userinfo/check-lock/row/@buhfio");
            OrganizationTaxIdConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                   "certinfo/userinfo/check-lock/row/@inn");
            OrganizationIdConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                "certinfo/userinfo/check-lock/row/@okpo");
            OrganizationActivityIdConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                        "certinfo/userinfo/check-lock/row/@okonx");
            OrganizationAddressConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                     "certinfo/userinfo/check-lock/row/@jadres");
            OrganizationCountryConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                     "certinfo/userinfo/check-lock/row/@jcountry");
            OrganizationCityConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                  "certinfo/userinfo/check-lock/row/@jcity");
            OrganizationZipCodeConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                     "certinfo/userinfo/check-lock/row/@jzipcode");
            OrganizationBankNameConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                      "certinfo/userinfo/check-lock/row/@bankname");
            OrganizationBankIdConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                    "certinfo/userinfo/check-lock/row/@bik");
            OrganizationCorrespondentAccountConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                                  "certinfo/userinfo/check-lock/row/@ks");
            OrganizationAccountConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                                     "certinfo/userinfo/check-lock/row/@rs");

            // Contacts confirmation
            HomePhoneConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                           "certinfo/userinfo/check-lock/row/@phonehome");
            CellPhoneConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                           "certinfo/userinfo/check-lock/row/@phonemobile");
            ICQConfirmation        = selectConfirmationFlag(wmXmlPackage, "certinfo/userinfo/check-lock/row/@icq");
            FaxConfirmation        = selectConfirmationFlag(wmXmlPackage, "certinfo/userinfo/check-lock/row/@fax");
            EMailConfirmation      = selectConfirmationFlag(wmXmlPackage, "certinfo/userinfo/check-lock/row/@email");
            WebAddressConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                            "certinfo/userinfo/check-lock/row/@web");
            ContactPhoneConfirmation = selectConfirmationFlag(wmXmlPackage,
                                                              "certinfo/userinfo/check-lock/row/@phone");
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            OperationId = wmXmlPackage.SelectUInt32("operation/@wmtransid");
            InvoiceId   = wmXmlPackage.SelectUInt32("operation/@wminvoiceid");
            CreateTime  = wmXmlPackage.SelectWmDateTime("operation/operdate");
            Description = (Description)wmXmlPackage.SelectString("operation/purpose");
            SourcePurse = wmXmlPackage.SelectPurse("operation/pursefrom");
            SourceWmId  = wmXmlPackage.SelectWmId("operation/wmidfrom");

            var capitallerFlagXPath = "operation/capitallerflag";

            if (!string.IsNullOrEmpty(wmXmlPackage.SelectString(capitallerFlagXPath)))
            {
                CapitallerFlag = wmXmlPackage.SelectBool(capitallerFlagXPath);
            }

            var enumFlagFlagXPath = "operation/enumflag";

            if (!string.IsNullOrEmpty(wmXmlPackage.SelectString(enumFlagFlagXPath)))
            {
                EnumFlag = wmXmlPackage.SelectUInt8(enumFlagFlagXPath);
            }

            IpAddress    = IPAddress.Parse(wmXmlPackage.SelectNotEmptyString("operation/IPAddress"));
            TelepatPhone = wmXmlPackage.SelectString("operation/telepat_phone");

            // TelepatMethod
            var telepatMethod = wmXmlPackage.SelectString("operation/telepat_paytype");

            if (!string.IsNullOrEmpty(telepatMethod) && !"null".Equals(telepatMethod))
            {
                TelepatMethod =
                    (TelepatMethod)int.Parse(telepatMethod, NumberStyles.Integer, CultureInfo.InvariantCulture.NumberFormat);
            }

            PaymerNumber = wmXmlPackage.SelectString("operation/paymer_number");
            PaymerEmail  = wmXmlPackage.SelectString("operation/paymer_email");

            string paymerType = wmXmlPackage.SelectString("operation/paymer_type");

            if (!string.IsNullOrEmpty(paymerType) && !"null".Equals(paymerType))
            {
                PaymerType =
                    (PaymerType)int.Parse(paymerType, NumberStyles.Integer, CultureInfo.InvariantCulture.NumberFormat);
            }
            else
            {
                PaymerType = PaymerType.None;
            }

            //CashierNumber = wmXmlResponsePackage.SelectString("operation/cashier_number");

            //if (!string.IsNullOrEmpty(wmXmlResponsePackage.SelectString("operation/cashier_date")))
            //    CashierDate = wmXmlResponsePackage.SelectWmDateTime("operation/cashier_date");

            //if (!string.IsNullOrEmpty(wmXmlResponsePackage.SelectString("operation/cashier_amount")))
            //    CashierAmount = wmXmlResponsePackage.SelectAmount("operation/cashier_amount");

            string sdpType = wmXmlPackage.SelectString("operation/sdp_type");

            if (!string.IsNullOrEmpty(sdpType))
            {
                SdpType = int.Parse(sdpType, NumberStyles.Integer, CultureInfo.InvariantCulture.NumberFormat);
            }
        }