public HttpResponseMessage PostAction(ActionViewModel viewModel)
        {
            InsertActionResponse response = actionService.InsertAction(new InsertActionRequest()
            {
                ActionViewModel = viewModel
            });

            return(Request.BuildResponse(response));
        }
        public void InsertAction_RunTimeException_ExceptionDetails()
        {
            ActionViewModel actionViewModel = ActionMockData.GetActionViewModel();

            mockActionRepository.Setup(a => a.Insert(new DA.Action())).Throws(new NullReferenceException());
            InsertActionResponse response = actionService.InsertAction(new InsertActionRequest()
            {
                ActionViewModel = actionViewModel
            });

            mockRepository.VerifyAll();
            Assert.AreEqual(typeof(NullReferenceException), response.Exception.GetType());
            Assert.AreNotEqual(null, response.Exception);
        }
        public void InsertAction_InValidAction_Exception()
        {
            ActionViewModel actionViewModel = ActionMockData.GetActionViewModel();

            mockActionRepository.Setup(a => a.Insert(new DA.Action())).Throws(new ArgumentNullException());
            InsertActionResponse response = actionService.InsertAction(new InsertActionRequest()
            {
                ActionViewModel = actionViewModel
            });

            //response.ActionViewModel.Contacts = null;
            mockRepository.Verify();
            Assert.AreNotEqual(null, response.Exception);
            Assert.AreEqual(typeof(ArgumentNullException), response.Exception.GetType());
        }
        public void InsertAction_ValidAction_Succeed()
        {
            ActionViewModel actionViewModel = ActionMockData.GetActionViewModel();

            mockActionRepository.Setup(a => a.Insert(new DA.Action())).Verifiable("Unable to insert Action");
            mockUnitOfWork.Setup(a => a.Commit()).Returns(new DA.Action()
            {
                Id = NEW_ACTION_ID
            });
            InsertActionResponse response = actionService.InsertAction(new InsertActionRequest()
            {
                ActionViewModel = actionViewModel
            });

            mockRepository.VerifyAll();
            Assert.AreEqual(null, response.Exception);
            Assert.AreNotEqual(typeof(ArgumentNullException), response.Exception);
        }
Exemple #5
0
        public HttpResponseMessage PostAction(ActionViewModel viewModel)
        {
            InsertActionResponse response = new InsertActionResponse();
            var accountAddress            = accountService.GetPrimaryAddress(new GetAddressRequest()
            {
                AccountId = (viewModel.AccountId.HasValue && viewModel.AccountId.Value > 0)? viewModel.AccountId.Value : 1
            });
            string accountPhoneNumber = accountService.GetPrimaryPhone(new GetPrimaryPhoneRequest()
            {
                AccountId = (viewModel.AccountId.HasValue && viewModel.AccountId.Value > 0) ? viewModel.AccountId.Value : 1
            }).PrimaryPhone;
            Account account = accountService.GetAccountMinDetails(this.AccountId);

            try
            {
                response = actionService.InsertAction(new InsertActionRequest()
                {
                    ActionViewModel     = viewModel,
                    RequestedBy         = viewModel.CreatedBy,
                    AccountId           = (viewModel.AccountId.HasValue && viewModel.AccountId.Value > 0) ? viewModel.AccountId.Value : 1,
                    RequestedFrom       = RequestOrigin.API,
                    AccountAddress      = accountAddress.Address,
                    AccountPhoneNumber  = accountPhoneNumber,
                    AccountPrimaryEmail = account.Email.EmailId,
                    AccountDomain       = Request.RequestUri.Host
                });
            }
            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));
        }