コード例 #1
0
        List <QueryAdvResponse> QueryComplexAdv(QueryAdvRequest request)
        {
            AdvDao     dao       = new AdvDao();
            uint       timestamp = request.CreationTime != 0 ? request.CreationTime : Util.ToTimestamp(DateTime.Now);
            List <Adv> list      = dao.GetByCtime(timestamp);
            List <QueryAdvResponse> responses = new List <QueryAdvResponse>();

            foreach (var adv in list)
            {
                OrcaAdv          orca_adv = AdvManager.Get(adv.AdvId);
                QueryAdvResponse response = new QueryAdvResponse
                {
                    Adv = new OrcaAdv
                    {
                        AdvId    = adv.AdvId,
                        DivPaper = orca_adv.DivPaper
                    }
                };
                if (request.Resolution == QueryAdvRequest.Types.Resolution.Res4To3)
                {
                    response.Adv.WallPaper4To3 = orca_adv.WallPaper4To3;
                }
                if (request.Resolution == QueryAdvRequest.Types.Resolution.Res16To9)
                {
                    response.Adv.WallPaper16To9 = orca_adv.WallPaper16To9;
                }
                responses.Add(response);
            }
            return(responses);
        }
コード例 #2
0
 private List <QueryAdvResponse> QueryAdv(QueryAdvRequest request)
 {
     if (request.Type == QueryAdvRequest.Types.QueryType.Simple)
     {
         return(QuerySimpleAdv(request));
     }
     return(QueryComplexAdv(request));
 }
コード例 #3
0
        public override async Task QueryAdvAsync(QueryAdvRequest request, IServerStreamWriter <QueryAdvResponse> responseStream, ServerCallContext context)
        {
            var responses = QueryAdv(request);

            foreach (var response in responses)
            {
                await responseStream.WriteAsync(response);
            }
        }
コード例 #4
0
        List <QueryAdvResponse> QuerySimpleAdv(QueryAdvRequest request)
        {
            AdvDao     dao  = new AdvDao();
            List <Adv> list = request.CreationTime != 0 ? dao.GetByCtime(request.CreationTime) : dao.GetAll();
            List <QueryAdvResponse> responses = new List <QueryAdvResponse>();

            foreach (var adv in list)
            {
                QueryAdvResponse response = new QueryAdvResponse
                {
                    Adv = AdvManager.Get(adv.AdvId)
                };
                responses.Add(response);
            }
            return(responses);
        }