public static TimeSpan DurationFor(PaidServiceType paidServiceType) { var service = AvailableServices.FirstOrDefault(x => x.Type == paidServiceType); if (service == null) { throw new Exceptions.UnknownService(paidServiceType); } return(service.Duration); }
public List<PerformerStat> GetAllManagers(PaidServiceType? serviceTypeFilter) { var performers = new List<PerformerStat>(); using (var ctx = DatabaseContext.Instance.Make()) { try { // ReSharper disable LoopCanBeConvertedToQuery foreach (var p in ctx.GetPerformers()) // ReSharper restore LoopCanBeConvertedToQuery { performers.Add(new PerformerStat { Account = p.AccountId.HasValue ? p.AccountId.Value : -1, Login = p.UserNames, Email = p.Email, Group = p.AccountGroup, SubscriberCount = p.SubscriberCount ?? 0, DepoCurrency = p.Currency, Service = p.ID, ServiceType = p.ServiceType, TradeSignalTitle = p.Comment, UserId = p.User, FeeUSD = p.FixedPrice, IsRealAccount = p.IsReal, FullName = p.FullName }); } } catch (Exception ex) { Logger.Error("Ошибка в ServerManagerAccount.GetAllManagers()", ex); } // пересчитать Fee в USD var quotes = QuoteStorage.Instance.ReceiveAllData(); foreach (var performer in performers) { if (performer.DepoCurrency == PerformerStat.FeeCurrency || performer.FeeUSD == 0) continue; // произвести пересчет string errorString; var fee = DalSpot.Instance.ConvertSourceCurrencyToTargetCurrency(PerformerStat.FeeCurrency, performer.DepoCurrency, (double) performer.FeeUSD, quotes, out errorString); if (!fee.HasValue) Logger.Error("GetAllManagers() - cannot convert " + performer.DepoCurrency + " to " + PerformerStat.FeeCurrency); performer.FeeUSD = fee ?? 0; } } return performers; }
public List<PerformerStat> GetAllManagers(PaidServiceType? serviceTypeFilter) { if (channel == null) throw new Exception("TradeSharpServerProxy: связь не установлена"); try { return channel.GetAllManagers(serviceTypeFilter); } catch (Exception) { RenewFactory(); try { return channel == null ? null : channel.GetAllManagers(serviceTypeFilter); } catch (Exception ex) { Logger.Error("GetAllManagers()", ex); return null; } } }
ActivePaidService(PaidServiceType paidServiceType, DateTimeOffset expiresAt) { ServiceType = paidServiceType; ExpiresAt = expiresAt; }
public static ActivePaidService Create(PaidServiceType paidServiceType, DateTimeOffset startFrom) { var expiresAt = startFrom + PaidService.PaidService.DurationFor(paidServiceType); return(new ActivePaidService(paidServiceType, expiresAt)); }
public UnknownService(PaidServiceType paidServiceType) : base($"Paid service of type {paidServiceType} is unknown") { }