Exemplo n.º 1
0
        public void IntegerMappingTest()
        {
            const int status = 3;

            var mapping = new MappingBuilder <CaseFile>()
                          .ForCreate()
                          .Map(x => x.Status)
                          .ForUpdate()
                          .Map(x => x.Status)
                          .GetMapping();

            var obj = new CaseFile {
                Status = 3
            };
            var createValues = mapping.GetCreateValues(obj);
            var updateValues = mapping.GetUpdateValues(obj);

            Assert.IsNotNull(createValues);
            Assert.IsTrue(createValues.Count == 1);
            Assert.AreEqual(status, (int)createValues["Status"]);

            Assert.IsNotNull(updateValues);
            Assert.IsTrue(updateValues.Count == 1);
            Assert.AreEqual(status, (int)updateValues["Status"]);
        }
Exemplo n.º 2
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());
                }
            }
        }
Exemplo n.º 3
0
        //--button handlers--//
        private void saveCaseFile_Click(object sender, RoutedEventArgs e)
        {
            if (UserPrefs.caseFile == null)
            {
                MessageBox.Show("Nothing to save");
                return;
            }

            System.Windows.Forms.SaveFileDialog save = new System.Windows.Forms.SaveFileDialog();

            save.InitialDirectory = UserPrefs.GetCasefileDirectory();
            save.DefaultExt       = UserPrefs.CASEFILE_EXTENSION;
            save.AddExtension     = true;
            save.FileName         = UserPrefs.caseFile.name;

            if (save.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                //Don't use this! The serializer method doesn't insert a checksum!

                /*
                 * XmlSerializer ser = new XmlSerializer(typeof(CaseFile));
                 * using (TextWriter writer = new StreamWriter(save.FileName))
                 * {
                 *  ser.Serialize(writer, UserPrefs.caseFile);
                 * }*/
                //do this instead
                CaseFile.SaveCaseFile(UserPrefs.caseFile, save.FileName);
            }
        }
Exemplo n.º 4
0
        public Boolean AssignUser(User user, CaseFile caseFile)
        {
            try
            {
                conn.Open();

                string sqlStatement = "INSERT INTO assigned" +
                                      "(username, case_id) " +
                                      "VALUES (@username, @case_id)";
                MySqlCommand command = new MySqlCommand(sqlStatement, conn);
                command.Prepare();
                command.Parameters.AddWithValue("@username", user.username);
                command.Parameters.AddWithValue("@case_id", caseFile.caseID);

                command.ExecuteNonQuery();

                conn.Close();
                return(true);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(false);
            }
        }
Exemplo n.º 5
0
        public Boolean UpdateCaseFile(CaseFile caseFile)
        {
            if (!CaseExists(caseFile))
            {
                return(false);
            }

            try
            {
                conn.Open();
                string sqlStatement = "UPDATE case_files " +
                                      "SET facility_name=@facilityName, facility_license=@facilityLicense";
                MySqlCommand command = new MySqlCommand(sqlStatement, conn);
                command.Prepare();
                command.Parameters.AddWithValue("@facilityName", caseFile.facilityName);
                command.Parameters.AddWithValue("@facilityLicense", caseFile.facilityLicenseNo);
                command.ExecuteNonQuery();

                conn.Close();
                return(true);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                return(false);
            }
        }
Exemplo n.º 6
0
        private Boolean IsLocalOlder(CaseFile caseFile)
        {
            try
            {
                MySqlDataReader reader = null;
                conn.Open();

                string       sqlStatement = "SELECT last_modified FROM case_files WHERE case_id=@caseID";
                MySqlCommand command      = new MySqlCommand(sqlStatement, conn);
                command.Prepare();
                command.Parameters.AddWithValue("@caseID", caseFile.caseID);
                reader = command.ExecuteReader();
                while (reader.Read())
                {
                    DateTime lastModified = DateTime.Parse(reader["last_modified"].ToString());
                    Console.WriteLine("Last Modified: " + lastModified.ToString());
                    if (lastModified.ToLocalTime().CompareTo(caseFile.lastModified) >= 0)
                    {
                        conn.Close();
                        return(true);
                    }
                }
                conn.Close();
                return(false);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                return(false);
            }
        }
Exemplo n.º 7
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);
            }
        }
Exemplo n.º 8
0
        public void AddCaseFileTest()
        {
            var folder = new Folder();
            var cf     = new CaseFile();

            TestUtil.TestLink(() => folder.AddCaseFile(cf), folder, cf);
        }
Exemplo n.º 9
0
        public void RemoveCaseFileTest()
        {
            var folder = new Folder();
            var cf     = new CaseFile();

            TestUtil.TestUnlink(() => folder.RemoveCaseFile(cf), folder, cf);
        }
Exemplo n.º 10
0
        private Boolean IsAssignedCase(User user, CaseFile caseFile)
        {
            try
            {
                MySqlDataReader reader = null;
                conn.Open();

                string       sqlStatement = "SELECT EXISTS (SELECT * FROM assigned WHERE username=@username AND case_id=@case_id) as assigned";
                MySqlCommand command      = new MySqlCommand(sqlStatement, conn);
                command.Prepare();
                command.Parameters.AddWithValue("@username", user.username);
                command.Parameters.AddWithValue("@case_id", caseFile.caseID);

                reader = command.ExecuteReader();
                while (reader.Read())
                {
                    Boolean assigned = reader.GetBoolean("assigned");
                    conn.Close();
                    return(assigned);
                }

                conn.Close();
                return(false);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(false);
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// called when we're done making changes and want to apply them and go back to whatever else
        /// we were doing.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDone_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                CaseFile caseFile = UserPrefs.caseFile;

                if (caseFile == null)
                {
                    MessageBox.Show("No active case file, cannot assign users!");
                    this.Close();
                }

                string[] alreadyAssignedIds = caseFile.assignedUserIDs.ToArray();

                foreach (User user in this.assignedUsers)
                {
                    if (!alreadyAssignedIds.Contains(user.id))
                    {
                        caseFile.AssignUser(user);
                    }
                }

                UserPrefs.caseFile = caseFile;
                MainWindow.instance.SetCaseFile(caseFile);
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// Creates/Updates a casefile on the database and also adds the reports/forms.
        /// </summary>
        /// <param name="file"></param>
        public void InsertCaseFile(CaseFile file)
        {
            if (GetCaseInfo(file.caseID) == null)
            {
                try
                {
                    using (WebClient client = new WebClient())
                    {
                        NameValueCollection postData = new NameValueCollection()
                        {
                            { "facility_name", file.facilityName },
                            { "facility_license", file.facilitylicenseNumber.ToString() }
                        };
                        string pagesource = Encoding.UTF8.GetString(client.UploadValues(caseSyncAddress, postData));
                        file.caseID = pagesource;
                    }
                } catch (WebException e)
                {
                    Console.WriteLine(e.Message);
                    UserPrefs.isOnline = false;
                }
            }
            else
            {
                UpdateCaseFile(file);
            }

            ReportSyncer reportSyncer = new ReportSyncer();

            foreach (Report report in file.reports)
            {
                reportSyncer.InsertReport(report);
            }
        }
Exemplo n.º 13
0
 /// <summary>
 /// Creates a blank casefile on the database.
 /// </summary>
 /// <param name="facilityName"></param>
 /// <param name="facilityLicenseNumber"></param>
 /// <returns></returns>
 public CaseFile CreateCaseFile(string facilityName, int facilityLicenseNumber)
 {
     try
     {
         using (WebClient client = new WebClient())
         {
             NameValueCollection postData = new NameValueCollection()
             {
                 { "facility_name", facilityName },
                 { "facility_license", facilityLicenseNumber.ToString() }
             };
             string pagesource = Encoding.UTF8.GetString(client.UploadValues(caseSyncAddress, postData));
             if (pagesource == "already exists")
             {
                 return(null);
             }
             string   caseID = pagesource;
             CaseFile temp   = new CaseFile(facilityName, facilityName, facilityLicenseNumber);
             temp.caseID = caseID;
             return(temp);
         }
     } catch (WebException e)
     {
         Console.WriteLine(e.Message);
         UserPrefs.isOnline = false;
         return(new CaseFile(facilityName, facilityName, facilityLicenseNumber));
     }
 }
Exemplo n.º 14
0
        public void StringMappingTest()
        {
            const string title = "My Title";

            var mapping = new MappingBuilder <CaseFile>()
                          .ForCreate()
                          .Map(x => x.Title)
                          .ForUpdate()
                          .Map(x => x.Title)
                          .GetMapping();

            var obj = new CaseFile {
                Title = title
            };
            var createValues = mapping.GetCreateValues(obj);
            var updateValues = mapping.GetUpdateValues(obj);

            Assert.IsNotNull(createValues);
            Assert.IsTrue(createValues.Count == 1);
            Assert.AreEqual(title, (string)createValues["Title"]);

            Assert.IsNotNull(updateValues);
            Assert.IsTrue(updateValues.Count == 1);
            Assert.AreEqual(title, (string)updateValues["Title"]);
        }
Exemplo n.º 15
0
 public void InsertCase(CaseFile caseInfo)
 {
     using (SqlConnection conn = new SqlConnection(ConnectString))
     {
         conn.Insert <CaseFile>(caseInfo);
     }
 }
Exemplo n.º 16
0
        private Report UpdateLocalReport(CaseFile caseFile, String reportID)
        {
            try
            {
                MySqlDataReader reader = null;
                conn.Open();

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

                reader = command.ExecuteReader();
                while (reader.Read())
                {
                    String   caseID       = reader["case_id"].ToString();
                    int      authorID     = reader.GetInt32("author_id");
                    DateTime lastModified = reader.GetDateTime("last_modified").ToLocalTime();
                    conn.Close();
                    caseFile.UpdateReport(reportID, lastModified);
                }

                conn.Close();
                return(null);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                return(null);
            }
        }
Exemplo n.º 17
0
        public CaseFile GetCaseFile(CaseFile caseFile)
        {
            try
            {
                MySqlDataReader reader = null;
                conn.Open();

                string       sqlStatement = "SELECT * FROM case_files 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 caseID          = reader["case_id"].ToString();
                    String facilityName    = reader["facility_name"].ToString();
                    int    facilityLicense = reader.GetInt32("facility_license");
                    conn.Close();
                    CaseFile     tempCaseFile = new CaseFile(caseID, facilityName, facilityLicense);
                    ReportSyncer syncer       = new ReportSyncer();
                    return(syncer.GetAllReports(tempCaseFile));
                }

                conn.Close();
                return(caseFile);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                return(caseFile);
            }
        }
Exemplo n.º 18
0
        private static Signer CreateSigner()
        {
            var cf = new CaseFile();
            var s  = new Signer(cf, "john", "1111111111");

            return(s);
        }
Exemplo n.º 19
0
        private Boolean CaseExists(CaseFile caseFile)
        {
            try
            {
                MySqlDataReader reader = null;
                conn.Open();

                string       sqlStatement = "SELECT COUNT(case_id) FROM case_files WHERE case_id=@caseID";
                MySqlCommand command      = new MySqlCommand(sqlStatement, conn);
                command.Prepare();
                command.Parameters.AddWithValue("@caseID", caseFile.caseID);
                reader = command.ExecuteReader();
                while (reader.Read())
                {
                    int number = int.Parse(reader["count(case_id)"].ToString());
                    if (number > 0)
                    {
                        conn.Close();
                        return(true);
                    }
                }
                conn.Close();
                return(false);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                return(false);
            }
        }
Exemplo n.º 20
0
 public CaseFile SyncCaseFile(CaseFile caseFile, User user)
 {
     if (CaseExists(caseFile))
     {
         if (IsAssignedCase(user, caseFile))
         {
             if (IsLocalOlder(caseFile))
             {
                 return(GetCaseFile(caseFile));
             }
             else
             {
                 ReportSyncer syncer = new ReportSyncer();
                 foreach (Report report in caseFile.reports)
                 {
                     syncer.SyncReport(caseFile, report.reportID);
                 }
                 return(caseFile);
             }
         }
         else
         {
             Console.WriteLine("You aren't assigned to this case");
             return(caseFile);
         }
     }
     else
     {
         InsertCaseFile(caseFile);
         return(caseFile);
     }
 }
Exemplo n.º 21
0
        public void RemoveCaseFileTest()
        {
            var con    = TestUtil.CreatePenneoConnector();
            var folder = new Folder();
            var cf     = new CaseFile();

            TestUtil.TestUnlink(con, () => folder.RemoveCaseFile(con, cf), folder, cf);
        }
Exemplo n.º 22
0
        private static Document CreateDocument()
        {
            var cf  = new CaseFile();
            var doc = new Document(cf, "doc", "path");

            doc.Id = 1;
            return(doc);
        }
Exemplo n.º 23
0
        private static SignatureLine CreateSignatureLine()
        {
            var cf  = new CaseFile();
            var doc = new Document(cf);
            var s   = new SignatureLine(doc, "role", 1, "conditions");

            return(s);
        }
Exemplo n.º 24
0
        private void SelectCaseFile(object sender, EventArgs e)
        {
            var item = sender as System.Windows.Controls.ListViewItem;

            if (item != null)
            {
                selectedCaseFile = item.DataContext as CaseFile;
            }
        }
Exemplo n.º 25
0
        public void CaseFileShouldInferSuspectsResultingInHypothesis()
        {
            var caseFile = new CaseFile();

            var result = caseFile.InferSuspects();

            result.Should().NotBeNull();
            result.Should().BeOfType<Hypothesis>();
        }
Exemplo n.º 26
0
 public CaseDialog()
 {
     InitializeComponent();
     Data = new CaseFile()
     {
         DateFiled = DateTime.Now
     };
     DataContext = this;
 }
Exemplo n.º 27
0
        private async Task AddCaseFile(CaseFile casefile)
        {
            var jsonCaseFile    = JsonConvert.SerializeObject(casefile);
            var contentExpected = new StringContent(jsonCaseFile, Encoding.UTF8, "application/json");

            var postResponse = await _client.PostAsync("http://localhost:1443/api/casefile/", contentExpected);

            Assert.IsTrue(postResponse.IsSuccessStatusCode);
        }
Exemplo n.º 28
0
        private void load_Click(object sender, RoutedEventArgs e)
        {
            XmlSerializer ser = new XmlSerializer(typeof(CaseFile));

            using (TextReader reader = new StreamReader(GetPath(@"\caseFile.csfl")))
            {
                right = (CaseFile)ser.Deserialize(reader);
                this.rightView.Content = right.UIelement;
            }
        }
Exemplo n.º 29
0
        public void GivenANewCaseFileItIsStored()
        {
            var mockedStorable = new Mock <Storable>();
            var controller     = new CaseFileController(mockedStorable.Object);
            var casefile       = new CaseFile();

            controller.Add(casefile);

            mockedStorable.Verify(s => s.Save(casefile));
        }
Exemplo n.º 30
0
        public IHttpActionResult GetCaseFile(int id)
        {
            CaseFile caseFile = db.CaseFiles.Find(id);

            if (caseFile == null)
            {
                return(NotFound());
            }

            return(Ok(caseFile));
        }
Exemplo n.º 31
0
        public IHttpActionResult PostCaseFile(CaseFile caseFile)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.CaseFiles.Add(caseFile);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = caseFile.CaseFileID }, caseFile));
        }