public async Task <ActionResult <ResponseModel> > AddUpdateInsuranceContract(ContractModel model)
        {
            var result = new ResponseModel();

            // Calculate the age.
            var age = DateTime.Today.Year - model.DateofBirth.Year;
            var objCoverageResponse = _dataContext.GetCoveragePlan(model.CustomerCountry, model.CustomerGender, model.SaleDate, age).ToList();

            if (objCoverageResponse != null && objCoverageResponse.Any())
            {
                var contract = new ContractEntityModel()
                {
                    Id              = model.Id,
                    CustomerName    = model.CustomerName,
                    CustomerAddress = model.CustomerAddress,
                    CustomerGender  = model.CustomerGender,
                    CustomerCountry = model.CustomerCountry,
                    DateofBirth     = model.DateofBirth,
                    SaleDate        = model.SaleDate,
                    CoveragePlan    = objCoverageResponse.FirstOrDefault()?.CoveragePlan,
                    NetPrice        = objCoverageResponse.FirstOrDefault()?.NetPrice ?? 0
                };

                var data = new DbStatusResult();

                if (model.Id > 0)
                {
                    data = await _dataContext.UpdateInsuranseContractDetail(contract);
                }
                else
                {
                    data = await _dataContext.AddInsuranseContractDetail(contract);
                }

                if (!data.Status)
                {
                    result.StatusCode = 404;
                    result.Message    = result.Message;
                }
                else
                {
                    result.StatusCode = 200;
                    result.Message    = "success";
                }
            }
            else
            {
                result.StatusCode = 404;
                result.Message    = "Coverage plan or Net Price not found according criteria so operation has been rollback";
            }

            return(result);
        }
        public async Task <DbStatusResult> UpdateInsuranseContractDetail(ContractEntityModel entity)
        {
            var cmd = new DbStatusCommand();

            await ExecuteSQLWithParams("[dbo].[spUpdateContractInfo]",
                                       GetJsonParam("@contractInfo", entity),
                                       cmd.IdParam,
                                       cmd.StatusParam,
                                       cmd.MessageParam);

            return(cmd.StatusResult);
        }