public void TestRemovalOfAsciiControlCharacters()
        {
            var proxy = new JournalProxy();
            var dto = CreateJournalDto();
            proxy.Insert(dto);

            Assert.IsTrue(dto.Uid > 0, "Uid must be > 0 after save.");

            // Ascii control characters in the summary string below are not visible in visual studio. you need to copy this string to notepad++ to view the non printable characters
            const string summaryTextWithControlCharacters = "Control characters start between these hashes ##  ## control characters end";
            const string summaryTextWithoutControlCharacters = "Control characters start between these hashes ##  ## control characters end";
            dto.Summary = summaryTextWithControlCharacters;

            proxy.Update(dto);

            var read = (JournalDto)proxy.GetByUid(dto.Uid);

            Assert.IsTrue(read.Summary.Equals(summaryTextWithoutControlCharacters, StringComparison.OrdinalIgnoreCase));
        }
        public void Update()
        {
            JournalProxy proxy = new JournalProxy();
            JournalDto dto = CreateJournalDto();
            proxy.Insert(dto);

            Assert.IsTrue(dto.Uid > 0, "Uid must be > 0 after save.");

            dto.Summary = "Add some summary.";
            dto.Notes = "Updated journal.";
            proxy.Update(dto);

            JournalDto read = (JournalDto)proxy.GetByUid(dto.Uid);

            ReflectionTester.AssertAreEqual("Journal", dto, read,new[] {"LastModified", "Tags"});
        }
        public void TestInsertAndUpdateByUid()
        {
            JournalProxy proxy = new JournalProxy();
            JournalDto insert = CreateJournalDto();

            proxy.Insert(insert);

            Assert.IsTrue(insert.Uid > 0, "Uid must be > 0 after save.");

            JournalDto read = (JournalDto)proxy.GetByUid(insert.Uid);

            read.Notes = "Updated";

            // change Total and Flip Them Around
            read.Items[0].Amount = 345.78M;
            read.Items[0].Type = DebitCreditType.Debit;

            read.Items[1].Amount = 345.78M;
            read.Items[1].Type = DebitCreditType.Credit;

            proxy.Update(read);

            JournalDto updated = (JournalDto)proxy.GetByUid(insert.Uid);

            ReflectionTester.AssertAreEqual("Journal", read, updated);
        }