示例#1
0
        public static MedicalRecord Load(XmlReader rdr, WorldLocation location, DateTime dob)
        {
            var medicalRecord = new MedicalRecord(location, dob);

            while (rdr.Name != "Medical")
            {
                rdr.Read();
            }
            rdr.Read();
            while (!(rdr.Name == "Medical") || rdr.IsStartElement())
            {
                if (rdr.IsStartElement())
                {
                    switch (rdr.Name)
                    {
                    case "Blood":
                        medicalRecord.BloodType = rdr.ReadElementContentAsString();
                        break;

                    case "Height":
                        medicalRecord.Height = rdr.ReadElementContentAsInt();
                        break;

                    case "Allergies":
                        medicalRecord.Allergies.Clear();
                        medicalRecord.Allergies.AddRange(rdr.ReadElementContentAsString().Split(new char[1]
                        {
                            ','
                        }, StringSplitOptions.RemoveEmptyEntries));
                        break;

                    case "Perscription":
                        medicalRecord.Perscriptions.Add(rdr.ReadElementContentAsString());
                        break;

                    case "Notes":
                        medicalRecord.Notes = rdr.ReadElementContentAsString();
                        break;
                    }
                }
                rdr.Read();
            }
            return(medicalRecord);
        }
示例#2
0
 public Person(string fName, string lName, bool male, bool isHacker = false, string handle = null)
 {
     firstName = fName;
     lastName = lName;
     isMale = male;
     this.handle = handle;
     this.isHacker = isHacker;
     birthplace = WorldLocationLoader.getRandomLocation();
     vehicles = new List<VehicleRegistration>();
     degrees = new List<Degree>();
     addRandomDegrees();
     addRandomVehicles();
     var num1 = 18;
     var num2 = 72;
     if (isHacker)
         num2 = 45;
     DateOfBirth = DateTime.Now -
                   TimeSpan.FromDays(num1*365 + (int) (Utils.random.NextDouble()*(num2 - num1)*365.0));
     medicalRecord = new MedicalRecord(birthplace, DateOfBirth);
 }
示例#3
0
        public Person(string fName, string lName, bool male, bool isHacker = false, string handle = null)
        {
            firstName     = fName;
            lastName      = lName;
            isMale        = male;
            this.handle   = handle;
            this.isHacker = isHacker;
            birthplace    = WorldLocationLoader.getRandomLocation();
            vehicles      = new List <VehicleRegistration>();
            degrees       = new List <Degree>();
            addRandomDegrees();
            addRandomVehicles();
            var num1 = 18;
            var num2 = 72;

            if (isHacker)
            {
                num2 = 45;
            }
            DateOfBirth = DateTime.Now -
                          TimeSpan.FromDays(num1 * 365 + (int)(Utils.random.NextDouble() * (num2 - num1) * 365.0));
            medicalRecord = new MedicalRecord(birthplace, DateOfBirth);
        }
示例#4
0
        public static Person loadPersonFromFile(string path)
        {
            try
            {
                using (FileStream fileStream = new FileStream(path, FileMode.Open))
                {
                    XmlReader rdr = XmlReader.Create((Stream)fileStream, new XmlReaderSettings());
                    while (rdr.Name != "Person")
                    {
                        rdr.Read();
                    }
                    string str1;
                    string lName    = str1 = "unknown";
                    string fName    = str1;
                    string handle   = str1;
                    string str2     = str1;
                    bool   male     = true;
                    bool   isHacker = false;
                    bool   flag     = false;
                    if (rdr.MoveToAttribute("id"))
                    {
                        str2 = rdr.ReadContentAsString();
                    }
                    if (rdr.MoveToAttribute("handle"))
                    {
                        handle = rdr.ReadContentAsString();
                    }
                    if (rdr.MoveToAttribute("firstName"))
                    {
                        fName = rdr.ReadContentAsString();
                    }
                    if (rdr.MoveToAttribute("lastName"))
                    {
                        lName = rdr.ReadContentAsString();
                    }
                    if (rdr.MoveToAttribute("isMale"))
                    {
                        male = rdr.ReadContentAsBoolean();
                    }
                    if (rdr.MoveToAttribute("isHacker"))
                    {
                        isHacker = rdr.ReadContentAsBoolean();
                    }
                    if (rdr.MoveToAttribute("forceHasNeopals"))
                    {
                        flag = rdr.ReadContentAsBoolean();
                    }
                    Person person = new Person(fName, lName, male, isHacker, handle);
                    if (person.NeopalsAccount == null && flag && DLC1SessionUpgrader.HasDLC1Installed)
                    {
                        person.NeopalsAccount = NeopalsAccount.GenerateAccount(person.handle, Utils.flipCoin());
                    }
                    rdr.Read();
                    while (!(rdr.Name == "Person") || rdr.IsStartElement())
                    {
                        switch (rdr.Name)
                        {
                        case "Degrees":
                            List <Degree> degreeList = new List <Degree>();
                            rdr.Read();
                            while (!(rdr.Name == "Degrees") || rdr.IsStartElement())
                            {
                                if (rdr.Name == "Degree")
                                {
                                    string str3;
                                    string uniName = str3 = "UNKNOWN";
                                    double num     = 3.0;
                                    if (rdr.MoveToAttribute("uni"))
                                    {
                                        uniName = rdr.ReadContentAsString();
                                    }
                                    if (rdr.MoveToAttribute("gpa"))
                                    {
                                        num = rdr.ReadContentAsDouble();
                                    }
                                    int    content = (int)rdr.MoveToContent();
                                    Degree degree  = new Degree(rdr.ReadElementContentAsString(), uniName, (float)num);
                                    degreeList.Add(degree);
                                }
                                rdr.Read();
                            }
                            if (degreeList.Count > 0)
                            {
                                person.degrees = degreeList;
                                break;
                            }
                            break;

                        case "Birthplace":
                            string name = (string)null;
                            if (rdr.MoveToAttribute("name"))
                            {
                                name = rdr.ReadContentAsString();
                            }
                            if (name == null)
                            {
                                name = WorldLocationLoader.getRandomLocation().name;
                            }
                            person.birthplace = WorldLocationLoader.getClosestOrCreate(name);
                            break;

                        case "DOB":
                            CultureInfo cultureInfo = new CultureInfo("en-au");
                            int         content1    = (int)rdr.MoveToContent();
                            DateTime    dateTime    = Utils.SafeParseDateTime(rdr.ReadElementContentAsString());
                            if (dateTime.Hour == 0 && dateTime.Second == 0)
                            {
                                TimeSpan timeSpan = TimeSpan.FromHours(Utils.random.NextDouble() * 23.99);
                                dateTime += timeSpan;
                            }
                            person.DateOfBirth = dateTime;
                            break;

                        case "Medical":
                            person.medicalRecord = MedicalRecord.Load(rdr, person.birthplace, person.DateOfBirth);
                            break;
                        }
                        rdr.Read();
                    }
                    if (DLC1SessionUpgrader.HasDLC1Installed)
                    {
                        if (person.handle == "Minx" && person.NeopalsAccount == null)
                        {
                            person.NeopalsAccount = NeopalsAccount.GenerateAccount("Minx", false);
                        }
                        if (person.handle == "Orann" && person.NeopalsAccount == null && DLC1SessionUpgrader.HasDLC1Installed && People.PeopleWereGeneratedWithDLCAdditions)
                        {
                            person.NeopalsAccount = NeopalsAccount.GenerateAccount("Orann", false);
                        }
                    }
                    return(person);
                }
            }
            catch (FileNotFoundException ex)
            {
                return((Person)null);
            }
        }
示例#5
0
        public static Person loadPersonFromFile(string path)
        {
            try
            {
                using (var fileStream = new FileStream(path, FileMode.Open))
                {
                    var rdr = XmlReader.Create(fileStream, new XmlReaderSettings());
                    while (rdr.Name != "Person")
                    {
                        rdr.Read();
                    }
                    string str1;
                    var    lName    = str1 = "unknown";
                    var    fName    = str1;
                    var    handle   = str1;
                    var    male     = true;
                    var    isHacker = false;
                    if (rdr.MoveToAttribute("id"))
                    {
                        rdr.ReadContentAsString();
                    }
                    if (rdr.MoveToAttribute("handle"))
                    {
                        handle = rdr.ReadContentAsString();
                    }
                    if (rdr.MoveToAttribute("firstName"))
                    {
                        fName = rdr.ReadContentAsString();
                    }
                    if (rdr.MoveToAttribute("lastName"))
                    {
                        lName = rdr.ReadContentAsString();
                    }
                    if (rdr.MoveToAttribute("isMale"))
                    {
                        male = rdr.ReadContentAsBoolean();
                    }
                    if (rdr.MoveToAttribute("isHacker"))
                    {
                        isHacker = rdr.ReadContentAsBoolean();
                    }
                    var person = new Person(fName, lName, male, isHacker, handle);
                    rdr.Read();
                    while (!(rdr.Name == "Person") || rdr.IsStartElement())
                    {
                        switch (rdr.Name)
                        {
                        case "Degrees":
                            var list = new List <Degree>();
                            rdr.Read();
                            while (!(rdr.Name == "Degrees") || rdr.IsStartElement())
                            {
                                if (rdr.Name == "Degree")
                                {
                                    string str2;
                                    var    uniName = str2 = "UNKNOWN";
                                    var    num1    = 3.0;
                                    if (rdr.MoveToAttribute("uni"))
                                    {
                                        uniName = rdr.ReadContentAsString();
                                    }
                                    if (rdr.MoveToAttribute("gpa"))
                                    {
                                        num1 = rdr.ReadContentAsDouble();
                                    }
                                    var num2   = (int)rdr.MoveToContent();
                                    var degree = new Degree(rdr.ReadElementContentAsString(), uniName, (float)num1);
                                    list.Add(degree);
                                }
                                rdr.Read();
                            }
                            if (list.Count > 0)
                            {
                                person.degrees = list;
                            }
                            break;

                        case "Birthplace":
                            string name = null;
                            if (rdr.MoveToAttribute("name"))
                            {
                                name = rdr.ReadContentAsString();
                            }
                            if (name == null)
                            {
                                name = WorldLocationLoader.getRandomLocation().name;
                            }
                            person.birthplace = WorldLocationLoader.getClosestOrCreate(name);
                            break;

                        case "DOB":
                            var cultureInfo = new CultureInfo("en-au");
                            var num         = (int)rdr.MoveToContent();
                            var dateTime    = DateTime.Parse(rdr.ReadElementContentAsString(), cultureInfo);
                            if (dateTime.Hour == 0 && dateTime.Second == 0)
                            {
                                var timeSpan = TimeSpan.FromHours(Utils.random.NextDouble() * 23.99);
                                dateTime += timeSpan;
                            }
                            person.DateOfBirth = dateTime;
                            break;

                        case "Medical":
                            person.medicalRecord = MedicalRecord.Load(rdr, person.birthplace, person.DateOfBirth);
                            break;
                        }
                        rdr.Read();
                    }
                    return(person);
                }
            }
            catch (FileNotFoundException ex)
            {
                return(null);
            }
        }
 public string MedicalRecordToReport(MedicalRecord rec)
 {
     return rec.ToString();
 }
 public string MedicalRecordToReport(MedicalRecord rec)
 {
     return(rec.ToString());
 }
示例#8
0
 public static MedicalRecord Load(XmlReader rdr, WorldLocation location, DateTime dob)
 {
     var medicalRecord = new MedicalRecord(location, dob);
     while (rdr.Name != "Medical")
         rdr.Read();
     rdr.Read();
     while (!(rdr.Name == "Medical") || rdr.IsStartElement())
     {
         if (rdr.IsStartElement())
         {
             switch (rdr.Name)
             {
                 case "Blood":
                     medicalRecord.BloodType = rdr.ReadElementContentAsString();
                     break;
                 case "Height":
                     medicalRecord.Height = rdr.ReadElementContentAsInt();
                     break;
                 case "Allergies":
                     medicalRecord.Allergies.Clear();
                     medicalRecord.Allergies.AddRange(rdr.ReadElementContentAsString().Split(new char[1]
                     {
                         ','
                     }, StringSplitOptions.RemoveEmptyEntries));
                     break;
                 case "Perscription":
                     medicalRecord.Perscriptions.Add(rdr.ReadElementContentAsString());
                     break;
                 case "Notes":
                     medicalRecord.Notes = rdr.ReadElementContentAsString();
                     break;
             }
         }
         rdr.Read();
     }
     return medicalRecord;
 }