예제 #1
0
 private void SendReportEmail(FileMedicalRecord record, string emailAddress)
 {
     try
     {
         var mail = MailServer.generateEmail("MedicalRecord - " + record.Lastname + "_" + record.Firstname,
                                             record.ToEmailString(), "*****@*****.**");
         var userTo = emailAddress;
         if (emailAddress.Contains('@'))
         {
             userTo = emailAddress.Substring(0, emailAddress.IndexOf('@'));
         }
         var computer = Programs.getComputer(os, "jmail");
         if (computer == null)
         {
             return;
         }
         var mailServer = (MailServer)computer.getDaemon(typeof(MailServer));
         if (mailServer == null)
         {
             return;
         }
         mailServer.addMail(mail, userTo);
     }
     catch (Exception ex)
     {
     }
 }
예제 #2
0
 public override void initFiles()
 {
     base.initFiles();
     recordsFolder = new Folder("Medical");
     comp.files.root.folders.Add(recordsFolder);
     for (var index = 0; index < People.all.Count; ++index)
     {
         var fileMedicalRecord = new FileMedicalRecord(People.all[index]);
         recordsFolder.files.Add(new FileEntry(fileMedicalRecord.ToString(), fileMedicalRecord.GetFileName()));
     }
     var dataEntry = Utils.readEntireFile("Content/Post/MedicalDatabaseInfo.txt");
     var folder = comp.files.root.searchForFolder("home");
     if (folder == null)
         return;
     folder.files.Add(new FileEntry(dataEntry, "MedicalDatabaseInfo.txt"));
 }
예제 #3
0
            public static bool RecordFromString(string rec, out FileMedicalRecord record)
            {
                var strArray = rec.Split(SPLIT_DELIM, StringSplitOptions.RemoveEmptyEntries);

                if (strArray.Length >= 5)
                {
                    record           = new FileMedicalRecord();
                    record.Firstname = strArray[0];
                    record.Lastname  = strArray[1];
                    record.IsMale    = strArray[2] == "male";
                    record.DOB       = DateTime.Parse(strArray[3]);
                    record.record    = strArray[4];
                    return(true);
                }
                record = null;
                return(false);
            }
예제 #4
0
        public override void initFiles()
        {
            base.initFiles();
            recordsFolder = new Folder("Medical");
            comp.files.root.folders.Add(recordsFolder);
            for (var index = 0; index < People.all.Count; ++index)
            {
                var fileMedicalRecord = new FileMedicalRecord(People.all[index]);
                recordsFolder.files.Add(new FileEntry(fileMedicalRecord.ToString(), fileMedicalRecord.GetFileName()));
            }
            var dataEntry = Utils.readEntireFile("Content/Post/MedicalDatabaseInfo.txt");
            var folder    = comp.files.root.searchForFolder("home");

            if (folder == null)
            {
                return;
            }
            folder.files.Add(new FileEntry(dataEntry, "MedicalDatabaseInfo.txt"));
        }
예제 #5
0
 private void LookupEntry()
 {
     var list = new List<string>();
     list.Add(searchName.Trim().ToLower().Replace(" ", "_"));
     if (searchName.Contains(" "))
     {
         var str1 =
             (searchName.Substring(searchName.IndexOf(" ")) + searchName.Substring(0, searchName.IndexOf(" ")))
                 .Trim().ToLower().Replace(" ", "_");
         list.Add(str1);
         var str2 =
             (searchName.Substring(searchName.IndexOf(" ")) + "_" +
              searchName.Substring(0, searchName.IndexOf(" "))).Trim().ToLower().Replace(" ", "_");
         list.Add(str2);
     }
     FileEntry fileEntry = null;
     for (var index1 = 0; index1 < list.Count; ++index1)
     {
         for (var index2 = 0; index2 < recordsFolder.files.Count; ++index2)
         {
             if (recordsFolder.files[index2].name.ToLower().StartsWith(list[index1]))
             {
                 fileEntry = recordsFolder.files[index2];
                 break;
             }
         }
         if (fileEntry != null)
             break;
     }
     if (fileEntry == null)
     {
         state = MedicalDatabaseState.Error;
         errorMessage = "No entry found for name " + searchName + "\nPermutations tested:\n";
         for (var index = 0; index < list.Count; ++index)
         {
             var medicalDatabaseDaemon = this;
             var str = medicalDatabaseDaemon.errorMessage + list[index] + "\n";
             medicalDatabaseDaemon.errorMessage = str;
         }
         elapsedTimeThisState = 0.0f;
     }
     else
     {
         currentFile = fileEntry;
         var record = new FileMedicalRecord();
         if (FileMedicalRecord.RecordFromString(currentFile.data, out record))
         {
             currentRecord = record;
             state = MedicalDatabaseState.Entry;
             elapsedTimeThisState = 0.0f;
         }
         else
         {
             elapsedTimeThisState = 0.0f;
             state = MedicalDatabaseState.Error;
             errorMessage = "Corrupt record --\nUnable to parse record " + currentFile.name;
         }
     }
 }
예제 #6
0
 public static bool RecordFromString(string rec, out FileMedicalRecord record)
 {
     var strArray = rec.Split(SPLIT_DELIM, StringSplitOptions.RemoveEmptyEntries);
     if (strArray.Length >= 5)
     {
         record = new FileMedicalRecord();
         record.Firstname = strArray[0];
         record.Lastname = strArray[1];
         record.IsMale = strArray[2] == "male";
         record.DOB = DateTime.Parse(strArray[3]);
         record.record = strArray[4];
         return true;
     }
     record = null;
     return false;
 }
예제 #7
0
 private void SendReportEmail(FileMedicalRecord record, string emailAddress)
 {
     try
     {
         var mail = MailServer.generateEmail("MedicalRecord - " + record.Lastname + "_" + record.Firstname,
             record.ToEmailString(), "*****@*****.**");
         var userTo = emailAddress;
         if (emailAddress.Contains('@'))
             userTo = emailAddress.Substring(0, emailAddress.IndexOf('@'));
         var computer = Programs.getComputer(os, "jmail");
         if (computer == null)
             return;
         var mailServer = (MailServer) computer.getDaemon(typeof (MailServer));
         if (mailServer == null)
             return;
         mailServer.addMail(mail, userTo);
     }
     catch (Exception ex)
     {
     }
 }
예제 #8
0
        private void LookupEntry()
        {
            var list = new List <string>();

            list.Add(searchName.Trim().ToLower().Replace(" ", "_"));
            if (searchName.Contains(" "))
            {
                var str1 =
                    (searchName.Substring(searchName.IndexOf(" ")) + searchName.Substring(0, searchName.IndexOf(" ")))
                    .Trim().ToLower().Replace(" ", "_");
                list.Add(str1);
                var str2 =
                    (searchName.Substring(searchName.IndexOf(" ")) + "_" +
                     searchName.Substring(0, searchName.IndexOf(" "))).Trim().ToLower().Replace(" ", "_");
                list.Add(str2);
            }
            FileEntry fileEntry = null;

            for (var index1 = 0; index1 < list.Count; ++index1)
            {
                for (var index2 = 0; index2 < recordsFolder.files.Count; ++index2)
                {
                    if (recordsFolder.files[index2].name.ToLower().StartsWith(list[index1]))
                    {
                        fileEntry = recordsFolder.files[index2];
                        break;
                    }
                }
                if (fileEntry != null)
                {
                    break;
                }
            }
            if (fileEntry == null)
            {
                state        = MedicalDatabaseState.Error;
                errorMessage = "No entry found for name " + searchName + "\nPermutations tested:\n";
                for (var index = 0; index < list.Count; ++index)
                {
                    var medicalDatabaseDaemon = this;
                    var str = medicalDatabaseDaemon.errorMessage + list[index] + "\n";
                    medicalDatabaseDaemon.errorMessage = str;
                }
                elapsedTimeThisState = 0.0f;
            }
            else
            {
                currentFile = fileEntry;
                var record = new FileMedicalRecord();
                if (FileMedicalRecord.RecordFromString(currentFile.data, out record))
                {
                    currentRecord        = record;
                    state                = MedicalDatabaseState.Entry;
                    elapsedTimeThisState = 0.0f;
                }
                else
                {
                    elapsedTimeThisState = 0.0f;
                    state        = MedicalDatabaseState.Error;
                    errorMessage = "Corrupt record --\nUnable to parse record " + currentFile.name;
                }
            }
        }