Beispiel #1
0
        public CaseFile GetAllReports(CaseFile caseFile)
        {
            try
            {
                MySqlDataReader reader = null;
                conn.Open();

                string       sqlStatement = "SELECT * FROM reports WHERE case_id=@caseID";
                MySqlCommand command      = new MySqlCommand(sqlStatement, conn);
                command.Prepare();
                command.Parameters.AddWithValue("@caseID", caseFile.caseID);

                reader = command.ExecuteReader();
                while (reader.Read())
                {
                    String   reportID     = reader["report_id"].ToString();
                    String   caseID       = reader["case_id"].ToString();
                    string   authorID     = reader["author_id"].ToString();
                    DateTime lastModified = reader.GetDateTime("last_modified").ToLocalTime();
                    Report   tempReport   = caseFile.AddReport(reportID, authorID.ToString());
                    tempReport.lastModified = lastModified;
                    FormSyncer formSyncer = new FormSyncer();
                    formSyncer.GetForms(tempReport);
                }

                conn.Close();
                return(caseFile);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                return(caseFile);
            }
        }
        /// <summary>
        /// Get a casefile. Also gets all the reports and forms included with it.
        /// </summary>
        /// <param name="caseFileID"></param>
        /// <returns></returns>
        public CaseFile GetCaseFile(string caseFileID)
        {
            try
            {
                WebRequest request = WebRequest.Create(caseSyncAddress + "?case_id=" + caseFileID);
                request.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
                request.Method      = "GET";
                using (WebResponse response = request.GetResponse())
                {
                    using (StreamReader stream = new StreamReader(response.GetResponseStream()))
                    {
                        string pagesource = stream.ReadToEnd();
                        Console.WriteLine(pagesource);
                        if (pagesource == "invalid")
                        {
                            return(null);
                        }
                        else
                        {
                            string[] result = pagesource.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries);
                            CaseFile temp   = new CaseFile(result[0], result[0], int.Parse(result[1])); //changed this
                            temp.caseID = caseFileID;
                            if (int.Parse(result[2]) == 1)
                            {
                                temp.CloseCase();
                            }
                            foreach (string username in AssignedUsers(caseFileID))
                            {
                                temp.AssignUser(username);
                            }
                            List <Report> reports = new ReportSyncer().GetReports(temp);
                            foreach (Report report in reports)
                            {
                                temp.AddReport(report);
                            }

                            return(temp);
                        }
                    }
                }
            } catch (WebException e)
            {
                Console.WriteLine(e.Message);
                UserPrefs.isOnline = false;
                return(null);
            }
        }
Beispiel #3
0
        private static void TestForm()
        {
            CaseFile caseFile = new CaseFile("case00001", "Steve's assisted living", 00004);
            Report   report   = caseFile.AddReport("kenny00001", "kenny");
            Form     form     = report.AddForm(new Form("formA"));
            User     testUser;


            Console.WriteLine(caseFile);

            Console.WriteLine("Testing users");
            UserSyncer userSyncer = new UserSyncer();

            userSyncer.CreateUser("tester", "tpassword", "Bob", false);
            Console.WriteLine("Testing valid login info");
            testUser = userSyncer.Login("tester", "tpassword");
            Console.WriteLine("Testing invalid login info");
            userSyncer.Login("tester", "asd");
            Console.WriteLine("Testing colliding usernames user creation");
            userSyncer.CreateUser("tester", "tPassword", "Bill", true);

            CaseFileSyncer syncer = new CaseFileSyncer();

            Console.WriteLine("Testing inserting case file into database");
            //syncer.SyncCaseFile(caseFile, testUser);
            caseFile.Sync(testUser);
            Console.WriteLine("Testing updating case file already in database");
            CaseFile caseFile2 = new CaseFile("case00001", "Bob's assisted living", 00004);

            //syncer.SyncCaseFile(caseFile2, testUser);
            caseFile2.Sync(testUser);
            CaseFile caseFile3 = new CaseFile(caseFile2.caseID, "Bob's existing living", 00004);

            syncer.UpdateCaseFile(caseFile3);

            CaseFile databaseCaseFile = new CaseFile("14", "invalid", -1);

            //databaseCaseFile = syncer.SyncCaseFile(databaseCaseFile, testUser);
            databaseCaseFile.Sync(testUser);
            Console.WriteLine(databaseCaseFile);



            string dir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "testXML");

            XmlSerializer ser = new XmlSerializer(caseFile.GetType());

            using (TextWriter writer = new StreamWriter(dir + @"\groupTest.xml"))
            {
                ser.Serialize(writer, caseFile);
            }


            Console.WriteLine("\n    >done!");
            Console.WriteLine("    >Now reading from file!");


            CaseFile readField;

            using (TextReader reader = new StreamReader(dir + @"\groupTest.xml"))
            {
                readField = (CaseFile)ser.Deserialize(reader);
            }

            Console.WriteLine(readField);
        }