public HttpResponseMessage PostNote(NoteViewModel viewModel)
        {
            SaveNoteResponse response = noteService.InsertNote(new SaveNoteRequest()
            {
                NoteViewModel = viewModel
            });

            return(Request.BuildResponse(response));
        }
        public void InsertNote_RunTimeException_ExceptionDetails()
        {
            NoteViewModel noteViewModel = NoteMockData.GetNoteViewModel();

            mockNoteRepository.Setup(c => c.Insert(new Note())).Throws(new NullReferenceException());
            SaveNoteResponse response = noteService.InsertNote(new SaveNoteRequest()
            {
                NoteViewModel = noteViewModel
            });

            mockNoteRepository.VerifyAll();
            Assert.AreEqual(typeof(NullReferenceException), response.Exception.GetType());
            Assert.AreNotEqual(null, response.Exception);
        }
        public void InsertNote_ValidNote_Succeed()
        {
            NoteViewModel viewModel = NoteMockData.GetNoteViewModel();

            //var mockNote = NoteMockData.CreateMockNote(mockRepository, 0);
            mockNoteRepository.Setup(mnt => mnt.Insert(It.IsAny <Note>())).Verifiable("Error ocuured calling repository method");

            SaveNoteResponse response = noteService.InsertNote(new SaveNoteRequest()
            {
                NoteViewModel = viewModel
            });

            mockRepository.VerifyAll();
        }
        public void InsertNote_InValidNote_Exception()
        {
            NoteViewModel noteViewModel = NoteMockData.GetNoteViewModel();

            //noteViewModel.Contacts = null;
            mockNoteRepository.Setup(a => a.Insert(new Note())).Throws(new ArgumentNullException());
            SaveNoteResponse response = noteService.InsertNote(new SaveNoteRequest()
            {
                NoteViewModel = noteViewModel
            });

            mockRepository.Verify();
            Assert.AreEqual(typeof(ArgumentNullException), response.Exception.GetType());
            Assert.AreNotEqual(null, response.Exception);
        }
        public HttpResponseMessage PostNote(NoteViewModel viewModel)
        {
            SaveNoteResponse response = new SaveNoteResponse();

            viewModel.CreatedBy = viewModel.CreatedBy;
            viewModel.CreatedOn = DateTime.Now.ToUniversalTime();
            try
            {
                response = noteService.InsertNote(new SaveNoteRequest()
                {
                    NoteViewModel = viewModel
                });
            }
            catch (Exception ex)
            {
                response.Exception = ex;
            }
            if (response.Exception != null)
            {
                var message = response.Exception.Message.Replace("[|", "").Replace("|]", "");
                response.Exception = new UnsupportedOperationException(message);
            }
            return(Request.BuildResponse(response));
        }