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); }
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); }