public void SubmitNote()
        {
            // ---- Arrange ----
            // set up model state
            CRM_web.Models.Model.Model m = CRM_web.Models.Model.Model.GetModel();
            DefTblNotes def = new DefTblNotes();

            m.ExecuteActionQuery(String.Format("DELETE FROM {0} WHERE {1} = {2};", def.TblName, def.Cid.Name, TestNote.cid));
            TestCase.PopulateTestData();
            m.Cid = TestNote.cid;
            m.LoadCustomers();
            m.LoadNotes(TestNote.cid);
            // set up controller and view model
            FrmNoteController controller = new FrmNoteController();
            NoteViewModel     vm         = new NoteViewModel();

            vm.Id         = TestNote.id;
            vm.Cid        = TestNote.cid;
            vm.CreatedBy  = TestNote.createdBy;
            vm.EntryDate  = TestNote.entryDate;
            vm.Memo       = TestNote.memo;
            vm.Category   = TestNote.category;
            vm.Attachment = TestNote.attachment;

            // ---- Act ----
            RedirectToRouteResult result = controller.Submit(vm) as RedirectToRouteResult;

            Thread.Sleep(1000);

            // ---- Assert ----
            Assert.AreEqual(TestNote.id, m.Notes[0][def.Id.Name]);
            Assert.AreEqual(TestNote.cid, m.Notes[0][def.Cid.Name]);
            Assert.AreEqual(TestNote.createdBy, m.Notes[0][def.CreatedBy.Name]);
            Assert.AreEqual(TestNote.entryDate, m.Notes[0][def.EntryDate.Name]);
            Assert.AreEqual(TestNote.memo, m.Notes[0][def.Memo.Name]);
            Assert.AreEqual(TestNote.category, m.Notes[0][def.Category.Name]);
            Assert.AreEqual(TestNote.attachment, m.Notes[0][def.Attachment.Name]);

            TestCase.CleanUp();
        }