Ejemplo n.º 1
0
        public string csvString()
        {
            string word = ID.ToString() + ',' + ChannelID.ToString() + ',' + Name.Replace(',', '-') + ',' + AlarmTypeID.ToString() + ',' + Severity.ToString() + ',' + High.ToString() + ',' + Low.ToString() + ',' + RangeInclusive.ToString() + ','
                          + PerUnit.ToString() + ',' + Enabled.ToString() + ',' + MeasurementType + ',' + MeasurementTypeID.ToString() + ',' + MeasurementCharacteristic + ',' + MeasurementCharacteristicID.ToString() + ',' +
                          Phase + ',' + PhaseID.ToString() + ',' + HarmonicGroup.ToString() + ',' + IsDefault.ToString();

            return(word);
        }
Ejemplo n.º 2
0
        public void ApplyTo(IOrder order, Configuration configuration, IAppSettings appSettings)
        {
            var finalBase = BasePrice?.GetInCurrency(configuration, order.Currency) ?? 0;

            var grams       = order.Weight;
            var weightPrice = PerGram?.Where(p => p.MaxUnit < grams).OrderByDescending(p => p.MaxUnit).FirstOrDefault();

            if (weightPrice != null)
            {
                var baseWeightPrice = weightPrice.Base.GetInCurrency(configuration, order.Currency) ?? 0;
                var perWeight       = weightPrice.PerUnit.GetInCurrency(configuration, order.Currency) ?? 0;
                finalBase += baseWeightPrice + perWeight * grams;
            }

            var units      = order.Units;
            var unitsPrice = PerUnit?.Where(p => p.MaxUnit < units).OrderByDescending(p => p.MaxUnit).FirstOrDefault();

            if (unitsPrice != null)
            {
                var baseUnitPrice = unitsPrice.Base.GetInCurrency(configuration, order.Currency) ?? 0;
                var perUnit       = weightPrice.PerUnit.GetInCurrency(configuration, order.Currency) ?? 0;
                finalBase += baseUnitPrice + perUnit * units;
            }

            finalBase += order.Price * PercentItemPrice;

            var final =
                new Amount
            {
                Base            = finalBase,
                TaxRateExcluded = TaxRateExcluded,
                TaxRateIncluded = TaxRateIncluded
            };

            final.Update(appSettings);

            order.ShippingTemplateName = this.Title;

            order.Delivery = final;
        }
    private static Money GetMoneyPerUnit(Money PerUnit, bool HourDistribution, bool FinalDistributionButHourly, AdPackType adPackType)
    {
        if (AppSettings.RevShare.AdPack.DistributionPolicy == DistributionPolicy.Pools)
        {
            var maxRoi = Money.MultiplyPercent(Money.MultiplyPercent(adPackType.Price, adPackType.PackReturnValuePercentage),
                                               AppSettings.RevShare.AdPack.MaxDailyROIPercent);

            if (PerUnit > maxRoi)
            {
                PerUnit = maxRoi;
            }
        }

        //Hour distribution?
        if (HourDistribution)
        {
            PerUnit = new Money(PerUnit.ToDecimal() / (Decimal)(24));
        }

        //Hour but final
        if (FinalDistributionButHourly)
        {
            PerUnit = PerUnit - (AppSettings.RevShare.HourlyDistributionsMadeToday * (new Money(PerUnit.ToDecimal() / (Decimal)(24))));
        }

        return(PerUnit);
    }