Пример #1
0
        protected override void ReadContent(XmlPackage xmlPackage)
        {
            if (null == xmlPackage)
            {
                throw new ArgumentNullException(nameof(xmlPackage));
            }

            var wmXmlPackage = new WmXmlPackage(xmlPackage);

            _xml = wmXmlPackage.OuterXml;

            try
            {
                Inspect(wmXmlPackage);
                Fill(wmXmlPackage);
            }
            catch (Exception exception)
            {
                if (exception is WmException)
                {
                    Logger.Debug(exception.Message, exception);
                    Logger.Debug(string.Format(CultureInfo.InvariantCulture, "RESPONSE:\r\n\r\n{0}", SelectXml()));
                }
                else
                {
                    Logger.Error(exception.Message, exception);
                    Logger.Error(string.Format(CultureInfo.InvariantCulture, "RESPONSE:\r\n\r\n{0}", SelectXml()));
                }

                throw;
            }
        }
Пример #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 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");
        }
Пример #4
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;
            }
        }
Пример #5
0
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Value = wmXmlPackage.SelectInt32("tl/@val");
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            ContractId = wmXmlPackage.SelectInt32("contractid");
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Token    = wmXmlPackage.SelectNotEmptyString("transtoken");
            Lifetime = wmXmlPackage.SelectUInt32("validityperiodinhours");
        }
Пример #8
0
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

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

            TransferId = wmXmlPackage.SelectInt64("paymer2purse/tranid");
            Amount     = wmXmlPackage.SelectAmount("paymer2purse/amount");
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Invoice = new RecentInvoice();
            Invoice.Fill(wmXmlPackage);
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            PositiveCount = wmXmlPackage.SelectInt32("certinfo/claims/row/@posclaimscount");
            NegativeCount = wmXmlPackage.SelectInt32("certinfo/claims/row/@negclaimscount");
        }
Пример #12
0
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            string result = wmXmlPackage.SelectNotEmptyString("testsign/res");

            VerificationResult = result.Equals("yes", StringComparison.InvariantCultureIgnoreCase);
        }
        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");
        }
Пример #14
0
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Id         = (Description)wmXmlPackage.SelectString("retid");
            FirstName  = (Description)wmXmlPackage.SelectString("userinfo/iname");
            Patronymic = (Description)wmXmlPackage.SelectString("userinfo/oname");
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            InvoiceId        = wmXmlPackage.SelectInt64("operation/@wminvoiceid");
            ConfirmationType = (ConfirmationType)wmXmlPackage.SelectInt32("operation/realsmstype");
            Info             = wmXmlPackage.SelectString("userdesc");
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Id           = wmXmlPackage.SelectUInt32("operation/@id");
            Ts           = wmXmlPackage.SelectUInt32("operation/@ts");
            TransferType = (TransferType)wmXmlPackage.SelectInt32("operation/opertype");
            UpdateTime   = wmXmlPackage.SelectWmDateTime("operation/dateupd");
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Success = wmXmlPackage.SelectBool("retval");

            if (!Success)
            {
                return;
            }

            WmId = wmXmlPackage.SelectWmIdIfExists("testwmpurse/wmid");

            var transferRejectedValue = wmXmlPackage.SelectInt32("testwmpurse/wmid/@available");

            if (transferRejectedValue >= 0)
            {
                TransferRejected = 1 == transferRejectedValue;
            }

            var partnerAvailabilityValue = wmXmlPackage.SelectInt32("testwmpurse/wmid/@themselfcorrstate");

            if (partnerAvailabilityValue > 0)
            {
                Availability = (PartnerAvailability)partnerAvailabilityValue;
            }

            var passportValue = wmXmlPackage.SelectInt32("testwmpurse/wmid/@newattst");

            if (passportValue >= 0)
            {
                Passport = (PassportDegree)passportValue;
            }

            Purse = wmXmlPackage.SelectPurseIfExists("testwmpurse/purse");

            var merchantEnabledValue = wmXmlPackage.SelectInt32("testwmpurse/purse/@merchant_active_mode");

            if (merchantEnabledValue >= 0)
            {
                MerchantEnabled = 1 == merchantEnabledValue;
            }

            var cashierEnabled = wmXmlPackage.SelectInt32("testwmpurse/purse/@merchant_allow_cashier");

            if (cashierEnabled >= 0)
            {
                CashierEnabled = 1 == cashierEnabled;
            }
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Id          = wmXmlPackage.SelectUInt32("purse/@id");
            Purse       = wmXmlPackage.SelectPurse("purse/pursename");
            Amount      = wmXmlPackage.SelectAmount("purse/amount");
            Description = (Description)wmXmlPackage.SelectNotEmptyString("purse/desc");
        }
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Reference        = wmXmlPackage.SelectInt32("trust/@purseid");
            ConfirmationType = (ConfirmationType)wmXmlPackage.SelectInt32("trust/realsmstype");
            Info             = wmXmlPackage.SelectString("userdesc");
            SmsReference     = wmXmlPackage.SelectString("smssecureid");
        }
Пример #20
0
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            PrimaryId   = wmXmlPackage.SelectInt64("ininvoice/@id");
            SecondaryId = wmXmlPackage.SelectInt64("ininvoice/@ts");
            State       = (InvoiceState)wmXmlPackage.SelectUInt32("ininvoice/state");
            UpdateTime  = wmXmlPackage.SelectWmDateTime("ininvoice/dateupd");
        }
        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");
        }
Пример #23
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");
        }
        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");
            }
        }
Пример #25
0
        internal void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Id                   = wmXmlPackage.SelectUInt32("@id");
            Purse                = wmXmlPackage.SelectPurse("pursename");
            Amount               = wmXmlPackage.SelectAmount("amount");
            Description          = (Description)wmXmlPackage.SelectString("desc");
            Enable               = wmXmlPackage.SelectBool("outsideopen");
            LastIncomingTransfer = wmXmlPackage.SelectUInt32("lastintr");
            LastOutgoingTransfer = wmXmlPackage.SelectUInt32("lastouttr");
        }
        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");
        }
Пример #27
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");
            }
        }
Пример #28
0
        internal void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Id          = wmXmlPackage.SelectInt32("@id");
            Purse       = wmXmlPackage.SelectPurse("pursename");
            Amount      = wmXmlPackage.SelectAmount("amount");
            Description = (Description)wmXmlPackage.SelectString("desc");

            // Элементы outsideopen, lastintr, lastouttr отсутствуют при авторизации ключами Keeper Light.
            Enable = wmXmlPackage.SelectBoolIfExists("outsideopen") ?? false;
            LastIncomingTransferId = wmXmlPackage.SelectInt64IfExists("lastintr") ?? 0;
            LastOutgoingTransferId = wmXmlPackage.SelectInt64IfExists("lastouttr") ?? 0;
        }
Пример #29
0
        protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Id          = wmXmlPackage.SelectUInt32("operation/@id");
            Ts          = wmXmlPackage.SelectUInt32("operation/@ts");
            OperationId = wmXmlPackage.SelectUInt32("operation/inwmtranid");
            SourcePurse = wmXmlPackage.SelectPurse("operation/pursesrc");
            TargetPurse = wmXmlPackage.SelectPurse("operation/pursedest");
            Amount      = wmXmlPackage.SelectAmount("operation/amount");
            Commission  = wmXmlPackage.SelectAmount("operation/comiss");
            Description = (Description)wmXmlPackage.SelectString("operation/desc");
            CreateTime  = wmXmlPackage.SelectWmDateTime("operation/datecrt");
            UpdateTime  = wmXmlPackage.SelectWmDateTime("operation/dateupd");
        }
Пример #30
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;
        }