Exemple #1
0
        public IUserProfileWinner AggregationResultForWinsReport(Object listitem)
        {
            UserProfileWinner up = new UserProfileWinner();

            try
            {
                var doc = listitem as BsonDocument;
                up.FirstName = doc["FirstName"].AsString;
                up.LastName  = doc["LastName"].AsString;
                if (doc.Contains("RegisteredOn"))
                {
                    up.RegisteredOn = new DateTime(doc["RegisteredOn"].AsInt64).ToLocalTime();
                }
                up.Email = doc["Email"].AsString;

                if (doc.Contains("Prizes"))
                {
                    BsonValue ps    = doc["Prizes"].AsBsonDocument["_v"];
                    var       prize = BsonSerializer.Deserialize <UserPrize>(ps.ToJson());
                    up.Prizes.Add(prize);
                }
            }
            catch (Exception)
            {
            }

            return(up);
        }
Exemple #2
0
        public IUserProfileWinner AggregationResultAsUserProfileWinner(Object listitem)
        {
            UserProfileWinner up = new UserProfileWinner();

            try
            {
                var doc = listitem as BsonDocument;
                up.FirstName = doc["FirstName"].AsString;
                up.LastName  = doc["LastName"].AsString;
                if (doc.Contains("RegisteredOn"))
                {
                    up.RegisteredOn = new DateTime(doc["RegisteredOn"].AsInt64).ToLocalTime();
                }
                up.Email = doc["Email"].AsString;
                if (doc.Contains("PrizeCount"))
                {
                    up.User.PrizeCount = doc["PrizeCount"].ToDouble();
                }
                if (doc.Contains("Prizes"))
                {
                    BsonValue        ps    = doc["Prizes"];
                    List <UserPrize> plist = BsonSerializer.Deserialize <List <UserPrize> >(ps.ToJson());

                    foreach (var p in plist)
                    {
                        up.Prizes.Add(p);
                    }

                    up.User.PrizeCount = up.Prizes.Count;
                }
            }
            catch (Exception)
            {
            }

            return(up);
        }