예제 #1
0
        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());
                }
            }
        }
예제 #2
0
        /// <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);
            }
        }
예제 #3
0
        /// <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);
        }