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");
        }
Beispiel #2
0
        public WmDate SelectWmDate(string xPath)
        {
            if (string.IsNullOrEmpty(xPath))
            {
                throw new ArgumentNullException(nameof(xPath));
            }

            string text = SelectNotEmptyString(xPath);
            WmDate wmDate;

            if (!WmDate.TryParseServerString(text, out wmDate))
            {
                throw new FormatException(string.Format(CultureInfo.InvariantCulture,
                                                        "The value of the element '{0}' is not in a correct format.",
                                                        xPath));
            }

            return(wmDate);
        }
Beispiel #3
0
        public WmDate?SelectWmDateIfExists(string xPath)
        {
            if (string.IsNullOrEmpty(xPath))
            {
                throw new ArgumentNullException(nameof(xPath));
            }

            string text = TrySelectNotEmptyString(xPath);

            if (null == text)
            {
                return(null);
            }

            if (!WmDate.TryParseServerString(text, out var wmDate))
            {
                throw new FormatException(string.Format(CultureInfo.InvariantCulture,
                                                        "The value '{0}' of the element '{1}' is not in a correct format.", text, xPath));
            }

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