private void btnCloseFile_Click(object sender, RoutedEventArgs e) { CaseFile caseFile = UserPrefs.caseFile; if (caseFile == null) { MessageBox.Show("No open case file to close!"); return; } string message = "Closing the casefile will disable editing and is not reversible. Continue?"; MessageBoxResult result = MessageBox.Show(message, "Close Case File", MessageBoxButton.YesNo, MessageBoxImage.Warning); if (result == MessageBoxResult.Yes) { try { caseFile.CloseCase(); } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); } } }
/// <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); } }
/// <summary> /// Gets all the casefiles. /// </summary> /// <returns></returns> public List <CaseFile> GetAllCaseFiles() { List <CaseFile> caseFiles = new List <CaseFile>(); try { WebRequest request = WebRequest.Create(caseSyncAddress); 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(); string[] result = pagesource.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries); foreach (string caseFileLine in result) { string[] caseFileResult = caseFileLine.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries); CaseFile temp = new CaseFile(caseFileResult[1], caseFileResult[1], int.Parse(caseFileResult[2])); //changed this temp.caseID = caseFileResult[0]; if (int.Parse(caseFileResult[3]) == 1) { temp.CloseCase(); } foreach (string username in AssignedUsers(temp.caseID)) { temp.AssignUser(username); } caseFiles.Add(temp); } } } } catch (WebException e) { Console.WriteLine(e.Message); UserPrefs.isOnline = false; } return(caseFiles); }