public bool AreSame(Subscription s) { var areSame = Service == s.Service && User == s.User && TimeEnd == s.TimeEnd && TimeStarted == s.TimeStarted && RenewAuto == s.RenewAuto; if (!areSame) return false; if (AutoTradeSettings == null && s.AutoTradeSettings == null) return true; if (AutoTradeSettings == null || s.AutoTradeSettings == null) return false; return AutoTradeSettings.AreSame(s.AutoTradeSettings); }
public void ModifySubscription(Subscription cat) { var existCatIndex = categories.FindIndex(c => c.Service == cat.Service); if (existCatIndex < 0) return; categories[existCatIndex] = cat; WasModified = true; if (modelIsLoaded != null) modelIsLoaded(categories); }
public void RemoveSubscription(Subscription cat) { var existCat = categories.FirstOrDefault(c => c.Service == cat.Service); if (existCat == null) return; categories.Remove(existCat); WasModified = true; if (modelIsLoaded != null) modelIsLoaded(categories); }
public static Subscription DecorateSubscription(SUBSCRIPTION_V sub) { var sb = new Subscription { User = sub.User, RenewAuto = sub.RenewAuto ?? true, Service = sub.Service, TimeEnd = sub.TimeEnd, TimeStarted = sub.TimeStarted }; sb.PaidService = new PaidService { Id = sub.Service, Comment = sub.Comment, FixedPrice = sub.FixedPrice ?? 0, AccountId = sub.AccountId, Currency = sub.Currency, ServiceType = (PaidServiceType) sub.ServiceType }; if (sub.AutoTrade.HasValue) { sb.AutoTradeSettings = new AutoTradeSettings { TradeAuto = sub.AutoTrade.Value, VolumeRound = (VolumeRoundType?) sub.VolumeRound, FixedVolume = sub.FixedVolume, HedgingOrdersEnabled = sub.HedgingOrdersEnabled, MaxLeverage = sub.MaxLeverage, MaxVolume = sub.MaxVolume, MinVolume = sub.MinVolume, PercentLeverage = sub.PercentLeverage ?? 100, StepVolume = sub.StepVolume, TargetAccount = sub.TargetAccount }; } return sb; }