public virtual void FillSubscribeSettings(ISubscribeSettings activity) { var settings = Get(activity.Id); if (settings == null) { return; } activity.CanSubscribe = settings.CanSubscribe; activity.SubscribeNotes = settings.SubscribeNotes; }
public virtual async Task FillSubscribeSettingsAsync(ISubscribeSettings activity) { var settings = await GetAsync(activity.Id); if (settings == null) { return; } activity.CanSubscribe = settings.CanSubscribe; activity.SubscribeNotes = settings.SubscribeNotes; }
public void SignalSubscriptionSettingsUpdate(Int64 accountSlaveId, Int64 accountMasterId, ISubscribeSettings settings) { using (var db = GetDBConnect()) { Queryable.Where(db.signal_subscriptions, sub => sub.account_slave_id == accountSlaveId && sub.account_master_id == accountMasterId) .Set(p => p.subscription_type, (short)settings.SignalType) .Set(p => p.multiplier, settings.Multiplier) .Set(p => p.reverse, settings.Reverse) .Set(p => p.risk, settings.Risk) .Set(p => p.max_order_count, settings.MaxOrderCount) .Set(p => p.max_volume, settings.MaxVolume) .Set(p => p.order_type, (short)settings.OrdersType) .Set(p => p.status, (short)settings.Status) .Update(); var settingsVal = Enumerable.First(subscriptionCache.Filter(x => x.account_slave_id == accountSlaveId && x.account_master_id == accountMasterId)); settingsVal.subscription_type = (short)settings.SignalType; settingsVal.multiplier = settings.Multiplier; settingsVal.reverse = settings.Reverse; settingsVal.risk = settings.Risk; settingsVal.max_order_count = settings.MaxOrderCount; settingsVal.max_volume = settings.MaxVolume; settingsVal.order_type = (short)settings.OrdersType; settingsVal.status = (short)settings.Status; subscriptionCache.InsertOrUpdate(settingsVal.id, settingsVal); } }
public void SignalSubscription(short status, long accountSlaveId, string masterNickname, ISubscribeSettings settings, AccountInfo result) { using (var db = GetDBConnect()) { try { db.BeginTransaction(); var signalSubscriber = new signal_subscribers { id = (int)accountSlaveId, client_account_id = result.ClientId, account_type_id = result.AccountTypeId, isenabled = result.IsEnabled, isdeleted = false, login = result.Login, nickname = result.Nickname, avatar = result.Avatar, currency = result.Currency }; db.InsertOrReplace(signalSubscriber); subscriberCache.InsertOrUpdate(accountSlaveId, signalSubscriber); var signalSubscription = new signal_subscriptions { status = (short)SubscriptionStatus.On, account_slave_id = accountSlaveId, account_master_id = Queryable.First(db.signal_providers, source => source.nickname.ToLower() == masterNickname.ToLower()).id, slave_profit = 0, subscription_type = (short)settings.SignalType, multiplier = settings.Multiplier, reverse = settings.Reverse, risk = settings.Risk, max_order_count = settings.MaxOrderCount, max_volume = settings.MaxVolume, order_type = (short)settings.OrdersType }; var id = Convert.ToInt32(db.InsertWithIdentity(signalSubscription)); subscriptionCache.InsertOrUpdate(id, signalSubscription); db.CommitTransaction(); } catch (Exception) { db.RollbackTransaction(); throw; } } }