コード例 #1
0
        private List <UserSequence> CreateUserSequences(DateTime startDate, DateTime endDate)
        {
            var customerOrders = _dbContext.UkRetailOriginalSales
                                 .Where(a => a.InvoiceDate.Date >= startDate.Date && a.InvoiceDate.Date <= endDate.Date &&
                                        a.CustomerID != null && a.CustomerID < 13000 && a.Quantity > 0 &&
                                        string.Compare(a.StockCode, "a") == -1)
                                 .Select(a => new { a.CustomerID, Year = a.InvoiceDate.Year, Month = a.InvoiceDate.Month, a.StockCode })
                                 //.OrderBy(a => new { a.Year, a.Month })
                                 .GroupBy(a => new { a.CustomerID });
            //.GroupBy(a => new { a.CustomerID, a.Year, a.Month });

            List <UserSequence> userSequences = new List <UserSequence>();

            foreach (var groupCustomer in customerOrders)
            {
                var                   customerMonthlyorder = groupCustomer.GroupBy(a => new { a.Year, a.Month });
                UserSequence          userSequence         = new UserSequence();
                List <List <string> > sequence             = new List <List <string> >();
                foreach (var groupCustomerMontlyOrder in customerMonthlyorder)
                {
                    List <string> itemset = new List <string>();
                    foreach (var order in groupCustomerMontlyOrder)
                    {
                        itemset.Add(order.StockCode);
                    }
                    sequence.Add(itemset);
                    userSequence.User     = groupCustomerMontlyOrder.Select(a => a.CustomerID.GetValueOrDefault()).FirstOrDefault();
                    userSequence.Sequence = sequence;
                }
                userSequences.Add(userSequence);
            }
            return(userSequences);
        }
コード例 #2
0
 public void OnAddUserList(UserSequence users)
 {
     foreach (User user in users.Elements)
     {
         this._users[user.Identity] = user;
     }
     this.HandleUpdateUserListEvent(users.Elements);
     Logger.LogInfo("Get user list , Length : {0} ", new object[] { users.Elements.Count });
 }
コード例 #3
0
        public async Task <UserSequence> GetFollowings(int limit = 100, string cursor = null)
        {
            if (this.Account == null)
            {
                throw new InvalidOperationException();
            }

            var param = new Dictionary <string, object>
            {
                ["userId"] = this.Account.Id,
                ["limit"]  = limit
            };

            if (cursor != null)
            {
                param.Add("cursor", cursor);
            }

            var res = await this.Account.Request("users/following", param);

            return(UserSequence.FromJObject(res));
        }