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");
        }