Thank you to anyone who has already donated - your generous donations helped make three months of treatment possible.

My brother Nate continues to fight stage IV Hodgkin's lymphoma. He's just 31, with a wife and baby girl. They have no active income (since he's been unable to return to work), no insurance, and cannot afford the treatment he needs. Nate and his family need your help. Please consider a donation, every dollar helps. Thanks.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Attributes;
using MongoDB.Driver;

namespace TestRootInterface
{
    public enum Gender
    {
        Male = 1,
        Female = 2
    }

    public class Address
    {
        public string Line1 { get; set; }
        public string City { get; set; }
        public string State { get; set; }
    }

    public interface ICodedValue
    {
        string Code { get; set; }
        string Name { get; set; }
    }

    public class Person : ICodedValue
    {
        [BsonId]
        public string Code { get; set; }
        public string Name { get; set; }
        public Gender Gender { get; set; }
        public DateTime BirthDate { get; set; }
    }

    public class Organization : ICodedValue
    {
        [BsonId]
        public string Code { get; set; }
        public string Name { get; set; }
        public Address Address { get; set; }
        public string Phone { get; set; }
    }

    public static class Program
    {
        public static void Main(string[] args)
        {
            try
            {
                BsonSerializer.LookupSerializer(typeof(Person));
                BsonSerializer.LookupSerializer(typeof(Organization));

                var server = MongoServer.Create("mongodb://localhost/database?safe=true");
                var database = server.GetDatabase("test");
                var collection = database.GetCollection<ICodedValue>("testrootinterface");

                if (!collection.Exists())
                {
                    var person = new Person { Code = "1234", Name = "John Doe", Gender = Gender.Male, BirthDate = new DateTime(2012, 1, 2, 0, 0, 0, DateTimeKind.Utc) };
                    collection.Insert(person);

                    var address = new Address { Line1 = "123 Main St", City = "New York", State = "NY" };
                    var organization = new Organization { Code = "5678", Name = "Org XYZ", Address = address, Phone = "1234" };
                    collection.Insert(organization);
                }

                foreach (var document in collection.FindAll())
                {
                    Console.WriteLine(document.GetType().FullName);
                    Console.WriteLine(document.ToJson());
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Unhandled exception:");
                Console.WriteLine(ex);
            }

            Console.WriteLine("Press Enter to continue");
            Console.ReadLine();
        }
    }
}