@@ -76,6 +76,7 @@ import androidx.compose.ui.text.input.KeyboardType
7676import androidx.compose.ui.unit.dp
7777import androidx.compose.ui.unit.sp
7878import androidx.lifecycle.compose.collectAsStateWithLifecycle
79+ import com.mifos.core.common.utils.Constants
7980import com.mifos.core.common.utils.DateHelper
8081import com.mifos.core.designsystem.component.MifosCircularProgress
8182import com.mifos.core.designsystem.component.MifosDatePickerTextField
@@ -210,11 +211,11 @@ private fun LoanAccountContent(
210211 var selectedLoanProduct by rememberSaveable { mutableStateOf(" " ) }
211212 var selectedLoanProductId by rememberSaveable { mutableIntStateOf(0 ) }
212213 var selectedLoanPurpose by rememberSaveable { mutableStateOf(" " ) }
213- var selectedLoanPurposeId by rememberSaveable { mutableIntStateOf( 0 ) }
214+ var selectedLoanPurposeId by rememberSaveable { mutableStateOf< Int ?>( null ) }
214215 var selectedLoanOfficer by rememberSaveable { mutableStateOf(" " ) }
215216 var selectedLoanOfficerId by rememberSaveable { mutableIntStateOf(0 ) }
216217 var selectedFund by rememberSaveable { mutableStateOf(" " ) }
217- var selectedFundId by rememberSaveable { mutableIntStateOf( 0 ) }
218+ var selectedFundId by rememberSaveable { mutableStateOf< Int ?>( null ) }
218219
219220 var showSubmissionDatePicker by rememberSaveable { mutableStateOf(false ) }
220221 var submissionDate by rememberSaveable { mutableLongStateOf(Clock .System .now().toEpochMilliseconds()) }
@@ -244,21 +245,21 @@ private fun LoanAccountContent(
244245 var nominal by rememberSaveable { mutableStateOf(" 5.0" ) }
245246 var repaidEvery by rememberSaveable { mutableStateOf(" 2" ) }
246247 var repaidEveryType by rememberSaveable { mutableStateOf(" " ) }
247- var repaidEveryTypeFrequency by rememberSaveable { mutableIntStateOf( 0 ) }
248+ var repaidEveryTypeFrequency by rememberSaveable { mutableStateOf< Int ?>( null ) }
248249 var loanTerms by rememberSaveable { mutableStateOf(" 20" ) }
249250 var loanTermsType by rememberSaveable { mutableStateOf(" " ) }
250251 var loanTermsTypeFrequency by rememberSaveable { mutableIntStateOf(0 ) }
251252
252253 var selectedLinkSavings by rememberSaveable { mutableStateOf(" " ) }
253- var selectedLinkSavingsId by rememberSaveable { mutableIntStateOf( 0 ) }
254+ var selectedLinkSavingsId by rememberSaveable { mutableStateOf< Int ?>( null ) }
254255 var selectedAmortization by rememberSaveable { mutableStateOf(" " ) }
255- var selectedAmortizationId by rememberSaveable { mutableIntStateOf( 0 ) }
256+ var selectedAmortizationId by rememberSaveable { mutableStateOf< Int ?>( null ) }
256257 var selectedInterestCalculationPeriod by rememberSaveable { mutableStateOf(" " ) }
257- var selectedInterestCalculationPeriodId by rememberSaveable { mutableIntStateOf( 0 ) }
258+ var selectedInterestCalculationPeriodId by rememberSaveable { mutableStateOf< Int ?>( null ) }
258259 var selectedRepaymentStrategy by rememberSaveable { mutableStateOf(" " ) }
259- var selectedRepaymentStrategyId by rememberSaveable { mutableIntStateOf( 0 ) }
260+ var selectedRepaymentStrategyId by rememberSaveable { mutableStateOf( " " ) }
260261 var selectedInterestTypeMethod by rememberSaveable { mutableStateOf(" " ) }
261- var selectedInterestTypeMethodId by rememberSaveable { mutableIntStateOf( 0 ) }
262+ var selectedInterestTypeMethodId by rememberSaveable { mutableStateOf< Int ?>( null ) }
262263 var selectedCalculateExactDaysIn by rememberSaveable { mutableStateOf(false ) }
263264
264265 if (showSubmissionDatePicker) {
@@ -546,7 +547,7 @@ private fun LoanAccountContent(
546547 onValueChanged = { selectedRepaymentStrategy = it },
547548 onOptionSelected = { index, value ->
548549 selectedRepaymentStrategy = value
549- loanTemplate.transactionProcessingStrategyOptions[index].id ?.let {
550+ loanTemplate.transactionProcessingStrategyOptions[index].code ?.let {
550551 selectedRepaymentStrategyId = it
551552 }
552553 },
@@ -587,39 +588,39 @@ private fun LoanAccountContent(
587588
588589 Button (
589590 onClick = {
590- val loadPayload = LoansPayload (). apply {
591- allowPartialPeriodInterestCalcualtion = selectedCalculateExactDaysIn
592- amortizationType = selectedAmortizationId
593- clientId = clientsId
594- dateFormat = " dd MMMM yyyy "
591+ val loadPayload = LoansPayload (
592+ allowPartialPeriodInterestCalcualtion = selectedCalculateExactDaysIn,
593+ amortizationType = selectedAmortizationId,
594+ clientId = clientsId,
595+ dateFormat = DateHelper . SHORT_MONTH ,
595596 expectedDisbursementDate =
596- DateHelper .getDateAsStringFromLong(
597- disbursementDate,
598- )
599- interestCalculationPeriodType = selectedInterestCalculationPeriodId
600- loanType = " individual"
601- locale = " en "
602- numberOfRepayments = numberOfRepayment.toInt()
603- principal = principalAmount.toDouble()
604- productId = selectedLoanProductId
605- repaymentEvery = repaidEvery.toInt()
597+ DateHelper .getDateAsStringFromLong(
598+ disbursementDate,
599+ ),
600+ interestCalculationPeriodType = selectedInterestCalculationPeriodId,
601+ loanType = " individual" ,
602+ locale = Constants . LOCALE_EN ,
603+ numberOfRepayments = numberOfRepayment.toInt(),
604+ principal = principalAmount.toDouble(),
605+ productId = selectedLoanProductId,
606+ repaymentEvery = repaidEvery.toInt(),
606607 submittedOnDate =
607- DateHelper .getDateAsStringFromLong(
608- disbursementDate ,
609- )
610- loanPurposeId = selectedLoanPurposeId
611- loanTermFrequency = loanTerms.toInt()
612- loanTermFrequencyType = loanTermsTypeFrequency
613- repaymentFrequencyType = loanTermsTypeFrequency
614- repaymentFrequencyDayOfWeekType = repaidEveryTypeFrequency
615- repaymentFrequencyNthDayType = repaidEveryTypeFrequency
616- transactionProcessingStrategyId = selectedRepaymentStrategyId
617- fundId = selectedFundId
618- interestType = selectedInterestTypeMethodId
619- loanOfficerId = selectedLoanOfficerId
620- linkAccountId = selectedLinkSavingsId
621- interestRatePerPeriod = nominal.toDouble()
622- }
608+ DateHelper .getDateAsStringFromLong(
609+ submissionDate ,
610+ ),
611+ loanPurposeId = selectedLoanPurposeId,
612+ loanTermFrequency = loanTerms.toInt(),
613+ loanTermFrequencyType = loanTermsTypeFrequency,
614+ repaymentFrequencyType = loanTermsTypeFrequency,
615+ repaymentFrequencyDayOfWeekType = repaidEveryTypeFrequency,
616+ repaymentFrequencyNthDayType = 1 ,
617+ transactionProcessingStrategyCode = selectedRepaymentStrategyId,
618+ fundId = selectedFundId,
619+ interestType = selectedInterestTypeMethodId,
620+ loanOfficerId = selectedLoanOfficerId,
621+ linkAccountId = selectedLinkSavingsId,
622+ interestRatePerPeriod = nominal.toDouble(),
623+ )
623624 if (loanTemplate.dataTables.isNotEmpty()) {
624625 dataTable(loanTemplate.dataTables, loadPayload)
625626 } else {
0 commit comments