public void UpdateFinancialAssessment_Failed()
        {
            //Arrenge
            var url = baseRoute + "UpdateFinancialAssessment";

            requestModel = new FinancialAssessmentModel()
            {
                ContactID                  = 0,
                FinancialAssessmentID      = 0,
                AssessmentDate             = DateTime.Now,
                TotalIncome                = 300000,
                TotalExpenses              = 30000,
                AdjustedGrossIncome        = 5000,
                TotalExtraOrdinaryExpenses = 100,
                TotalOther                 = 100,
                ExpirationDate             = DateTime.Now,
                ExpirationReasonID         = 0,
                FamilySize                 = 2
            };
            //Act
            var response = communicationManager.Post <FinancialAssessmentModel, Response <FinancialAssessmentModel> >(requestModel, url);

            //Assert
            Assert.IsTrue(response.RowAffected == 0);
        }
        public void Initialize()
        {
            communicationManager             = new CommunicationManager("X-Token", ConfigurationManager.AppSettings["UnitTestToken"]);
            communicationManager.UnitTestUrl = ConfigurationManager.AppSettings["UnitTestUrl"];

            requestModel = new FinancialAssessmentModel()
            {
                ContactID                  = 1,
                FinancialAssessmentID      = 1,
                AssessmentDate             = DateTime.Now,
                TotalIncome                = 300000,
                TotalExpenses              = 30000,
                AdjustedGrossIncome        = 5000,
                TotalExtraOrdinaryExpenses = 100,
                TotalOther                 = 100,
                ExpirationDate             = DateTime.Now,
                ExpirationReasonID         = 0,
                FamilySize                 = 2
            };

            requestDetailsModel = new FinancialAssessmentDetailsModel()
            {
                FinancialAssessmentDetailsID = 1,
                FinancialAssessmentID        = 1,
                CategoryTypeID     = 1,
                Amount             = 100,
                FinanceFrequencyID = 17,
                CategoryID         = 1
            };
        }
示例#3
0
        public static FinancialAssessmentModel ToModel(this FinancialAssessmentViewModel model)
        {
            if (model == null)
            {
                return(null);
            }

            var entity = new FinancialAssessmentModel
            {
                FinancialAssessmentID      = model.FinancialAssessmentID,
                ContactID                  = model.ContactID,
                AssessmentDate             = model.AssessmentDate,
                TotalIncome                = model.TotalIncome,
                TotalExpenses              = model.TotalExpenses,
                TotalExtraOrdinaryExpenses = model.TotalExtraOrdinaryExpenses,
                TotalOther                 = model.TotalOther,
                AdjustedGrossIncome        = model.AdjustedGrossIncome,
                FamilySize                 = model.FamilySize,
                ExpirationDate             = model.ExpirationDate,
                ExpirationReasonID         = model.ExpirationReasonID,
                ModifiedBy                 = model.ModifiedBy,
                ModifiedOn                 = model.ModifiedOn,
                IsViewFinanicalAssessment  = model.IsViewFinanicalAssessment
            };

            return(entity);
        }
        /// <summary>
        /// To Add the financial assessment for contact id of FinancialAssessmentModel
        /// </summary>
        /// <param name="financialAssessment">New financial Assessment model</param>
        /// <returns>Financial assessment</returns>
        public Response <FinancialAssessmentModel> AddFinancialAssessment(FinancialAssessmentModel financialAssessment)
        {
            List <SqlParameter> procsParameters           = BuildFinancialAssessmentSpParams(financialAssessment);
            var financialAssessmentRepository             = unitOfWork.GetRepository <FinancialAssessmentModel>(SchemaName.Registration);
            Response <FinancialAssessmentModel> spResults = new Response <FinancialAssessmentModel>();

            using (var transactionScope = unitOfWork.BeginTransactionScope())
            {
                try
                {
                    spResults = financialAssessmentRepository.ExecuteNQStoredProc("usp_AddFinancialAssessment", procsParameters, idResult: true);
                    if (spResults.ResultCode != 0)
                    {
                        spResults.ResultCode    = spResults.ResultCode;
                        spResults.ResultMessage = spResults.ResultMessage;
                        return(spResults);
                    }
                    if (!financialAssessment.ForceRollback.GetValueOrDefault(false))
                    {
                        unitOfWork.TransactionScopeComplete(transactionScope);
                    }
                }
                catch (Exception ex)
                {
                    logger.Error(ex);
                    spResults.ResultCode    = -1;
                    spResults.ResultMessage = "An unexpected error has occurred!";
                }
            }
            return(spResults);
        }
示例#5
0
        public static FinancialAssessmentViewModel ToViewModel(this FinancialAssessmentModel entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var model = new FinancialAssessmentViewModel
            {
                FinancialAssessmentID      = entity.FinancialAssessmentID,
                ContactID                  = entity.ContactID,
                AssessmentDate             = entity.AssessmentDate,
                TotalIncome                = entity.TotalIncome,
                TotalExpenses              = entity.TotalExpenses,
                TotalExtraOrdinaryExpenses = entity.TotalExtraOrdinaryExpenses,
                TotalOther                 = entity.TotalOther,
                AdjustedGrossIncome        = entity.AdjustedGrossIncome,
                FamilySize                 = entity.FamilySize,
                ExpirationDate             = entity.ExpirationDate,
                ExpirationReasonID         = entity.ExpirationReasonID,
                ModifiedBy                 = entity.ModifiedBy,
                CreatedBy                  = entity.CreatedBy,
                ModifiedOn                 = entity.ModifiedOn,
                IsViewFinanicalAssessment  = entity.IsViewFinanicalAssessment
            };

            return(model);
        }
        /// <summary>
        /// To crate sql parameter list for financial assessment model
        /// </summary>
        /// <param name="financialAssessment">financial assessment model</param>
        /// <returns>sql parameter list</returns>
        private List <SqlParameter> BuildFinancialAssessmentSpParams(FinancialAssessmentModel financialAssessment)
        {
            var spParameters = new List <SqlParameter>();

            if (financialAssessment.FinancialAssessmentID > 0) // Update, not Add
            {
                spParameters.Add(new SqlParameter("FinancialAssessmentID", financialAssessment.FinancialAssessmentID));
            }
            else
            {
                spParameters.AddRange(new List <SqlParameter>
                {
                    new SqlParameter("ContactID", financialAssessment.ContactID)
                });
            }

            spParameters.AddRange(new List <SqlParameter>
            {
                new SqlParameter("AssessmentDate", (object)financialAssessment.AssessmentDate ?? DBNull.Value),
                new SqlParameter("TotalIncome", financialAssessment.TotalIncome),
                new SqlParameter("TotalExpenses", financialAssessment.TotalExpenses),
                new SqlParameter("TotalExtraOrdinaryExpenses", financialAssessment.TotalExtraOrdinaryExpenses),
                new SqlParameter("TotalOther", financialAssessment.TotalOther),
                new SqlParameter("AdjustedGrossIncome", financialAssessment.AdjustedGrossIncome),
                new SqlParameter("FamilySize", financialAssessment.FamilySize),
                new SqlParameter("ExpirationDate", (object)financialAssessment.ExpirationDate ?? DBNull.Value),
                new SqlParameter("ExpirationReasonID", (object)financialAssessment.ExpirationReasonID ?? DBNull.Value),
                new SqlParameter("ModifiedOn", financialAssessment.ModifiedOn ?? DateTime.Now)
            });

            return(spParameters);
        }
        /// <summary>
        /// To update the financial assessment for contact id  of FinancialAssessmentModel
        /// </summary>
        /// <param name="financialAssessment">Updated financial Assessment model</param>
        /// <returns>Response type Financial assessment</returns>
        public Response <FinancialAssessmentModel> UpdateFinancialAssessment(FinancialAssessmentModel financialAssessment)
        {
            string apiUrl = BaseRoute + "UpdateFinancialAssessment";

            return(communicationManager.Post <FinancialAssessmentModel, Response <FinancialAssessmentModel> >(financialAssessment, apiUrl));
        }
示例#8
0
 public IHttpActionResult UpdateFinancialAssessment(FinancialAssessmentModel financialAssessment)
 {
     return(new HttpResult <Response <FinancialAssessmentModel> >(financialAssessmentRuleEngine.UpdateFinancialAssessment(financialAssessment), Request));
 }
示例#9
0
 public IHttpActionResult UpdateFinancialAssessment(FinancialAssessmentModel financialAssessment)
 {
     return(new HttpResult <Response <FinancialAssessmentModel> >(financialAssessmentDataProvider.UpdateFinancialAssessment(financialAssessment), Request));
 }
示例#10
0
        /// <summary>
        /// Financials the assessment_ success.
        /// </summary>
        private void FinancialAssessment_Success()
        {
            Mock <IFinancialAssessmentDataProvider> mock = new Mock <IFinancialAssessmentDataProvider>();

            financialAssessmentDataProvider = mock.Object;

            var financialAssessmentDetails = new List <FinancialAssessmentDetailsModel>();

            financialAssessmentDetail = new FinancialAssessmentDetailsModel()
            {
                FinancialAssessmentDetailsID = 1,
                FinancialAssessmentID        = 1,
                CategoryTypeID     = 1,
                Amount             = 100,
                FinanceFrequencyID = 17,
                CategoryID         = 1
            };
            financialAssessmentDetails.Add(financialAssessmentDetail);
            var financialAssessmentModels = new List <FinancialAssessmentModel>();

            financialAssessmentModel = new FinancialAssessmentModel()
            {
                ContactID                  = 1,
                FinancialAssessmentID      = 1,
                AssessmentDate             = DateTime.Now,
                TotalIncome                = 300000,
                TotalExpenses              = 30000,
                AdjustedGrossIncome        = 5000,
                TotalExtraOrdinaryExpenses = 100,
                TotalOther                 = 100,
                ExpirationDate             = DateTime.Now,
                ExpirationReasonID         = 0,
                FamilySize                 = 2,
                FinancialAssessmentDetails = financialAssessmentDetails
            };

            financialAssessmentModels.Add(financialAssessmentModel);
            var financialAssessment = new Response <FinancialAssessmentModel>()
            {
                DataItems   = financialAssessmentModels,
                RowAffected = 1
            };

            var financialAssessmentDetailsResult = new Response <FinancialAssessmentDetailsModel>()
            {
                DataItems   = financialAssessmentDetails,
                RowAffected = 1
            };

            //Get FinancialAssessment
            Response <FinancialAssessmentModel> financialAssessmentResponse = new Response <FinancialAssessmentModel>();

            financialAssessmentResponse.DataItems = financialAssessmentModels.Where(contact => contact.ContactID == contactId && contact.FinancialAssessmentID == financialAssessmentID).ToList();

            mock.Setup(r => r.GetFinancialAssessment(It.IsAny <long>(), It.IsAny <long>()))
            .Returns(financialAssessmentResponse);

            //Add FinancialAssessment
            mock.Setup(r => r.AddFinancialAssessment(It.IsAny <FinancialAssessmentModel>()))
            .Callback((FinancialAssessmentModel financialAssessmentsModel) => financialAssessmentModels.Add(financialAssessmentsModel))
            .Returns(financialAssessment);

            //Update FinancialAssessment
            mock.Setup(r => r.UpdateFinancialAssessment(It.IsAny <FinancialAssessmentModel>()))
            .Callback((FinancialAssessmentModel financialAssessmentsModel) => financialAssessmentModels.Add(financialAssessmentsModel))
            .Returns(financialAssessment);


            //Add FinancialAssessment Details
            mock.Setup(r => r.AddFinancialAssessmentDetails(It.IsAny <FinancialAssessmentDetailsModel>()))
            .Callback((FinancialAssessmentDetailsModel financialAssessmentsDetailsModel) => financialAssessmentDetails.Add(financialAssessmentsDetailsModel))
            .Returns(financialAssessmentDetailsResult);

            //Update FinancialAssessment Details
            mock.Setup(r => r.UpdateFinancialAssessmentDetails(It.IsAny <FinancialAssessmentDetailsModel>()))
            .Callback((FinancialAssessmentDetailsModel financialAssessmentsDetailsModel) => financialAssessmentDetails.Add(financialAssessmentsDetailsModel))
            .Returns(financialAssessmentDetailsResult);


            //Delete FinancialAssessment
            Response <bool> deleteResponse = new Response <bool>();
            List <bool>     lstStatus      = new List <bool>();

            lstStatus.Add(true);

            deleteResponse.RowAffected = 1;
            deleteResponse.ResultCode  = 0;
            deleteResponse.DataItems   = lstStatus;
            mock.Setup(r => r.DeleteFinancialAssessmentDetail(It.IsAny <long>(), DateTime.UtcNow))
            .Callback((long id) => financialAssessmentModels.Remove(financialAssessmentModels.Find(x => x.FinancialAssessmentDetails[0].FinancialAssessmentDetailsID == id)))
            .Returns(deleteResponse);
        }
 /// <summary>
 /// To update the financial assessment for contact id
 /// </summary>
 /// <param name="financialAssessment">model of FinancialAssessment </param>
 /// <returns>Response type financial assesment model </returns>
 public Response <FinancialAssessmentModel> UpdateFinancialAssessment(FinancialAssessmentModel financialAssessment)
 {
     return(financialAssessmentService.UpdateFinancialAssessment(financialAssessment));
 }
 /// <summary>
 /// To add the financial assessment for contact id
 /// </summary>
 /// <param name="financialAssessment">model of FinancialAssessment </param>
 /// <returns>Response type financial assesment model </returns>
 public Response <FinancialAssessmentModel> AddFinancialAssessment(FinancialAssessmentModel financialAssessment)
 {
     return(financialAssessmentService.AddFinancialAssessment(financialAssessment));
 }