public ProductWebsiteDescription(ProductWebsiteData data, bool hasEnglish = false)
        {
            AssetClass = AssignString(data.AssetClass);
            AssetClassEn = AssignString(data.AssetClassEn);
            bonuslevel = AssignString(data.BonusLevel);
            bonuslevelEn = AssignString(data.BonusLevelEN);
            CallData = AssignString(data.CallData);
            CallDataEn = AssignString(data.CallDataEn);
            Cap = AssignString(data.Cap);
            capEn = AssignString(data.CapEN);
            ConditionalObservation = AssignString(data.CouponConditional);
            couponBedingtEn = AssignString(data.CouponConditionalEN);
            CouponGuaranteed_En = AssignString(data.CouponGuaranteedEN);
            CouponObservation = AssignString(data.CouponGuaranteed);
            cpbedingt = AssignString(data.ConditionalObservation);
            cpbedingtEn = AssignString(data.ConditionalObservationEn);
            CPFloater = AssignString(data.FloaterObservation);
            CPFloaterEn = AssignString(data.FloaterObservationEn);
            CpGuaranteed = AssignString(data.CouponObservation);
            CpGuaranteedEn = AssignString(data.CouponObservationEn);
            Currency = AssignString(data.Currency);
            CurrencyRisk = AssignString(data.CurrencyRisk);
            CurrencyRiskEn = AssignString(data.CurrencyRiskEn);
            Dirty = AssignString(data.IsPriceDirty ? "dirty" : "clean");
            Discount = AssignString(data.Discount);
            DiscountEn = AssignString(data.DiscountEN);
            EarlyRedemption = AssignString(data.EarlyRedemption);
            EarlyRedemptionEn = AssignString(data.EarlyRedemptionEn);
            EmissionType = AssignString(data.EmissionTypeDescription);
            EndFixationDate = AssignDateTime(data.EndFixationDate.GetValueOrDefault());
            Floater = AssignString(data.Floater);
            FloaterEn = AssignString(data.FloaterEN);
            Guarantor = AssignString(data.Guarantor);
            HasEnglish = hasEnglish;
            ISIN = AssignString(data.ISIN);
            Issuer = AssignString(data.Issuer);
            issuerNameShort = AssignString(data.IssuerShort);
            LeadManager = AssignString(data.LeadManager);
            maxCoupon = AssignString(data.CouponMaximal);
            maxCouponEn = AssignString(data.CouponMaximalEN);
            MaxPayback = AssignString(data.PaybackMaximal);
            MaxPaybackEn = AssignString(data.PaybackMaximaEN);
            MaxYield = AssignString(data.MaxYield);
            MaxYieldEn = AssignString(data.MaxYieldEN);
            minCoupon = AssignString(data.CouponMinimal);
            minCouponEn = AssignString(data.CouponMinimalEN);
            MinPayback = AssignString(data.PaybackMinimal);
            MinPaybackEn = AssignString(data.PaybackMinimalEN);
            Name = AssignString(data.Name);
            NameEn = AssignString(data.NameEN);
            Partizipation = AssignString(data.Participation);
            PartizipationEn = AssignString(data.ParticipationEN);
            PartizipationText = AssignString(data.TextParticipation);
            PartizipationTextEn = AssignString(data.TextParticipationEN);
            Pricing = AssignString(data.Pricing);
            Pricing = AssignString(data.Pricing);
            PricingEn = AssignString(data.PricingEn);
            ProductCat = AssignString(data.ProductCategory);
            ProductCatEn = AssignString(data.ProductCategoryEn);
            productKatId = AssignInteger(data.ProductCategoryValue.GetValueOrDefault());
            ProductState = AssignString(data.ProductState);
            ProductType = AssignString(data.ProductType);
            ProductTypeEn = AssignString(data.ProductTypeEn);
            productTypeId = AssignInteger(data.ProductTypeValue);
            Protection = AssignString(data.Protection);
            ProtectionEn = AssignString(data.ProtectionEN);
            ProtectionType = AssignString(data.ProtectionType);
            RedemptionDate = AssignDateTime(data.RedemptionDate.GetValueOrDefault());
            s1t = AssignString(data.Additional1Text);
            s1tEN = AssignString(data.Additional1TextEN);
            s1v = AssignString(data.Additional1Value);
            s1vEn = AssignString(data.Additional1ValueEN);
            s2t = AssignString(data.Additional2Text);
            s2tEn = AssignString(data.Additional2TextEN);
            s2v = AssignString(data.Additional2Value);
            s2vEn = AssignString(data.Additional2ValueEN);
            s3t = AssignString(data.Additional3Text);
            s3tEn = AssignString(data.Additional3TextEN);
            s3v = AssignString(data.Additional3Value);
            s3vEn = AssignString(data.Additional3ValueEN);
            StartFixationDate = AssignDateTime(data.StartFixationDate.GetValueOrDefault());
            StockExchange = AssignString(data.StockExchange);
            Symbol = AssignString(data.Symbol);
            Text_Bed_Coupon = AssignString(data.TextCouponConditional);
            textBedCoupon_En = AssignString(data.TextCouponConditionalEN);
            TextCoupon = AssignString(data.TextCoupon);
            TextCouponEn = AssignString(data.TextCouponEN);
            TextEarlyRedemtpion = AssignString(data.EarlyRedemption);
            TextEarlyRedemtpionEn = AssignString(data.EarlyRedemptionEn);
            TextFloater = AssignString(data.TextFloater);
            TextFloaterEn = AssignString(data.TextFloaterEN);
            TextMaxPayback = AssignString(data.TextPaybackMaximal);
            TextMaxPaybackEn = AssignString(data.TextPaybackMaximalEN);
            Valor = AssignInteger(data.Valor);
            ValutaDate = AssignDateTime(data.ValutaDate.GetValueOrDefault());

            if (Pricing.Equals("Nominal"))
            {
                EmissionPrice = AssignString(data.EmissionPrice + "%");
                NumberFormatInfo numberFormat = CultureInfo.GetCultureInfo("de-CH").NumberFormat;
                Nominal = AssignString(data.Currency + " " + data.Notional.ToString("##,##", numberFormat));
                SmallestTradeableUnit =
                    AssignString(data.Currency + " " + data.SmallestTradeableUnit.ToString("##,##", numberFormat));
            }
            else
            {
                EmissionPrice = AssignString(data.Currency + " " + data.EmissionPrice);
                Nominal = AssignString(data.Notional + " Zertifikat(e)");
                SmallestTradeableUnit = AssignString(data.SmallestTradeableUnit + " Zertifikat(e)");
            }
        }
 /// <summary>
 /// Create a new ProductWebsiteData object.
 /// </summary>
 /// <param name="valor">Initial value of the Valor property.</param>
 /// <param name="name">Initial value of the Name property.</param>
 /// <param name="nameEN">Initial value of the NameEN property.</param>
 /// <param name="isOnline">Initial value of the IsOnline property.</param>
 /// <param name="isPriceDirty">Initial value of the IsPriceDirty property.</param>
 /// <param name="emissionPrice">Initial value of the EmissionPrice property.</param>
 /// <param name="notional">Initial value of the Notional property.</param>
 /// <param name="smallestTradeableUnit">Initial value of the SmallestTradeableUnit property.</param>
 /// <param name="assetClass">Initial value of the AssetClass property.</param>
 /// <param name="assetClassEn">Initial value of the AssetClassEn property.</param>
 /// <param name="productCategory">Initial value of the ProductCategory property.</param>
 /// <param name="productCategoryEn">Initial value of the ProductCategoryEn property.</param>
 /// <param name="productState">Initial value of the ProductState property.</param>
 /// <param name="productStateEn">Initial value of the ProductStateEn property.</param>
 /// <param name="productType">Initial value of the ProductType property.</param>
 /// <param name="productTypeEn">Initial value of the ProductTypeEn property.</param>
 /// <param name="currency">Initial value of the Currency property.</param>
 /// <param name="currencyRisk">Initial value of the CurrencyRisk property.</param>
 /// <param name="currencyRiskEn">Initial value of the CurrencyRiskEn property.</param>
 /// <param name="pricing">Initial value of the Pricing property.</param>
 /// <param name="pricingEn">Initial value of the PricingEn property.</param>
 /// <param name="hasEndFixation">Initial value of the HasEndFixation property.</param>
 /// <param name="couponObservation">Initial value of the CouponObservation property.</param>
 /// <param name="couponObservationEn">Initial value of the CouponObservationEn property.</param>
 /// <param name="conditionalObservation">Initial value of the ConditionalObservation property.</param>
 /// <param name="conditionalObservationEn">Initial value of the ConditionalObservationEn property.</param>
 /// <param name="floaterObservation">Initial value of the FloaterObservation property.</param>
 /// <param name="floaterObservationEn">Initial value of the FloaterObservationEn property.</param>
 /// <param name="protectionType">Initial value of the ProtectionType property.</param>
 /// <param name="callData">Initial value of the CallData property.</param>
 /// <param name="callDataEn">Initial value of the CallDataEn property.</param>
 /// <param name="earlyRedemption">Initial value of the EarlyRedemption property.</param>
 /// <param name="earlyRedemptionEn">Initial value of the EarlyRedemptionEn property.</param>
 /// <param name="iSIN">Initial value of the ISIN property.</param>
 /// <param name="stockExchange">Initial value of the StockExchange property.</param>
 /// <param name="productTypeValue">Initial value of the ProductTypeValue property.</param>
 /// <param name="emissionTypeDescription">Initial value of the EmissionTypeDescription property.</param>
 /// <param name="symbol">Initial value of the Symbol property.</param>
 public static ProductWebsiteData CreateProductWebsiteData(global::System.Int32 valor, global::System.String name, global::System.String nameEN, global::System.Boolean isOnline, global::System.Boolean isPriceDirty, global::System.Double emissionPrice, global::System.Int32 notional, global::System.Int32 smallestTradeableUnit, global::System.String assetClass, global::System.String assetClassEn, global::System.String productCategory, global::System.String productCategoryEn, global::System.String productState, global::System.String productStateEn, global::System.String productType, global::System.String productTypeEn, global::System.String currency, global::System.String currencyRisk, global::System.String currencyRiskEn, global::System.String pricing, global::System.String pricingEn, global::System.Boolean hasEndFixation, global::System.String couponObservation, global::System.String couponObservationEn, global::System.String conditionalObservation, global::System.String conditionalObservationEn, global::System.String floaterObservation, global::System.String floaterObservationEn, global::System.String protectionType, global::System.String callData, global::System.String callDataEn, global::System.String earlyRedemption, global::System.String earlyRedemptionEn, global::System.String iSIN, global::System.String stockExchange, global::System.Int32 productTypeValue, global::System.String emissionTypeDescription, global::System.String symbol)
 {
     ProductWebsiteData productWebsiteData = new ProductWebsiteData();
     productWebsiteData.Valor = valor;
     productWebsiteData.Name = name;
     productWebsiteData.NameEN = nameEN;
     productWebsiteData.IsOnline = isOnline;
     productWebsiteData.IsPriceDirty = isPriceDirty;
     productWebsiteData.EmissionPrice = emissionPrice;
     productWebsiteData.Notional = notional;
     productWebsiteData.SmallestTradeableUnit = smallestTradeableUnit;
     productWebsiteData.AssetClass = assetClass;
     productWebsiteData.AssetClassEn = assetClassEn;
     productWebsiteData.ProductCategory = productCategory;
     productWebsiteData.ProductCategoryEn = productCategoryEn;
     productWebsiteData.ProductState = productState;
     productWebsiteData.ProductStateEn = productStateEn;
     productWebsiteData.ProductType = productType;
     productWebsiteData.ProductTypeEn = productTypeEn;
     productWebsiteData.Currency = currency;
     productWebsiteData.CurrencyRisk = currencyRisk;
     productWebsiteData.CurrencyRiskEn = currencyRiskEn;
     productWebsiteData.Pricing = pricing;
     productWebsiteData.PricingEn = pricingEn;
     productWebsiteData.HasEndFixation = hasEndFixation;
     productWebsiteData.CouponObservation = couponObservation;
     productWebsiteData.CouponObservationEn = couponObservationEn;
     productWebsiteData.ConditionalObservation = conditionalObservation;
     productWebsiteData.ConditionalObservationEn = conditionalObservationEn;
     productWebsiteData.FloaterObservation = floaterObservation;
     productWebsiteData.FloaterObservationEn = floaterObservationEn;
     productWebsiteData.ProtectionType = protectionType;
     productWebsiteData.CallData = callData;
     productWebsiteData.CallDataEn = callDataEn;
     productWebsiteData.EarlyRedemption = earlyRedemption;
     productWebsiteData.EarlyRedemptionEn = earlyRedemptionEn;
     productWebsiteData.ISIN = iSIN;
     productWebsiteData.StockExchange = stockExchange;
     productWebsiteData.ProductTypeValue = productTypeValue;
     productWebsiteData.EmissionTypeDescription = emissionTypeDescription;
     productWebsiteData.Symbol = symbol;
     return productWebsiteData;
 }