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