/// <summary> /// 获取可用的储值方案 /// </summary> /// <returns></returns> public IEnumerable <RechargePlanDto> GetUsablePlans(EClientType clientType, string cardTypeId) { var queryable = this.Repository.GetQueryable(false) .Where(t => t.IsAvailable == true && t.EffectiveDate <DateTime.Now && t.ExpiredDate> DateTime.Now); if (!string.IsNullOrEmpty(cardTypeId)) { queryable = queryable.Where(t => t.MatchCardType.Contains(cardTypeId)); } else { var giftCardId = MemberCardTypes.GiftCard.ToString(); var rechargeCardId = MemberCardTypes.PrePaidCard.ToString(); var disCountCardId = MemberCardTypes.DiscountCard.ToString(); switch (clientType) { case EClientType.Portal: queryable = queryable.Where(p => p.VisibleAtPortal && (p.MatchCardType.Contains(rechargeCardId) || p.MatchCardType.Contains(disCountCardId))); break; case EClientType.WeChat: queryable = queryable.Where(p => p.VisibleAtWeChat && (p.MatchCardType.Contains(rechargeCardId) || p.MatchCardType.Contains(disCountCardId))); break; case EClientType.GiftCard: queryable = queryable.Where(t => t.MatchCardType.Contains(giftCardId)); break; default: throw new DomainException("未知来源"); } } return(queryable.MapTo <RechargePlanDto>() .ToArray()); }
public void StartConnection(EClientType type) { DiscoverPeersTimer.AutoReset = true; DiscoverPeersTimer.Interval = 1000; DiscoverPeersTimer.Elapsed += DiscoverPeersTimer_Elapsed; DiscoverPeersTimer.Start(); ClientId = new ClientIdData(Environment.MachineName, CommonDebug.GetOptionalNumberId(), type); PeerDiscovery.EnableDiscoverable(PeerDiscovery.DiscoveryMethod.UDPBroadcast); PeerDiscovery.OnPeerDiscovered += PeerDiscovery_OnPeerDiscovered; PeerDiscovery.DiscoverPeersAsync(PeerDiscovery.DiscoveryMethod.UDPBroadcast); NetworkComms.AppendGlobalConnectionEstablishHandler(conn => OnConnectionEstablished(conn)); NetworkComms.AppendGlobalConnectionCloseHandler(conn => OnConnectionClosed(conn)); }
public ClientIdData(string name, int numberId, EClientType type) { Name = name; OptionalNumberId = numberId; ClientType = type; }
public ClientIdData(string name, EClientType type) { Name = name; ClientType = type; }
public Client(EClientType type, ForegroundClient foregroundClient) { clientType = type; this.foregroundClient = foregroundClient; }
public Client() { clientType = EClientType.None; foregroundClient = null; }
private bool CheckIfClientIsValid(string clientPublicId, Uri requestRedirectUri, EClientType clientType) { using (var context = RepositoriesFactory.CreateContext()) { var clientRepo = RepositoriesFactory.GetClientRepository(context); var clientReturnUrlRepo = RepositoriesFactory.GetClientReturnUrlRepository(context); var client = clientRepo.GetByPublicId(clientPublicId); if (client == null) { return(false); } if (!client.IsValid) { return(false); } if (client.ClientTypeId != (int)clientType) { return(false); } IList <Uri> clientUris = new List <Uri>(); foreach (var uri in clientReturnUrlRepo.GetAllByClientPublicId(clientPublicId)) { clientUris.Add(new Uri(uri.ReturnUrl, UriKind.Absolute)); } if (!clientUris.Contains(requestRedirectUri)) { return(false); } } return(true); }