private void InitializeClient(IClient pClient, int pContractId) { if (pClient is Person) { _person = (Person)pClient; _client = _person; _oClientType = OClientTypes.Person; InitializeUserControl(_oClientType, _mdiParent); InitializeTitle(string.Format("{0} {1}", _person.FirstName, _person.LastName)); } if (pClient is Group) { _group = (Group)pClient; _client = _group; _oClientType = OClientTypes.Group; InitializeUserControl(_oClientType, _mdiParent); InitializeTitle(_group.Name); } if (pClient is Corporate) { _corporate = (Corporate)pClient; _client = _corporate; _oClientType = OClientTypes.Corporate; InitializeUserControl(_oClientType, _mdiParent); InitializeTitle(_corporate.Name); } _project = pClient.SelectProject(pContractId); _credit = _project.SelectCredit(pContractId); _credit.LoanEntryFeesList = ServicesProvider.GetInstance().GetContractServices().GetInstalledLoanEntryFees(_credit); _product = _credit.Product; if (_product.CycleId != null && _credit.Disbursed == false) { ServicesProvider.GetInstance().GetProductServices().SetCyclesParamsForContract(_product, _credit, _client, false); } else { if (_credit.Product.Amount.HasValue == false) { _amountValueRange = new DecimalValueRange(_credit.Product.AmountMin.Value, _credit.Product.AmountMax.Value); nudLoanAmount.Minimum = _credit.Product.AmountMin.Value; nudLoanAmount.Maximum = _credit.Product.AmountMax.Value; } else { nudLoanAmount.Minimum = nudLoanAmount.Maximum = _credit.Product.Amount.Value; } if (_credit.Product.NbOfInstallments.HasValue == false) { nudLoanNbOfInstallments.Minimum = _credit.Product.NbOfInstallmentsMin.Value; nudLoanNbOfInstallments.Maximum = _credit.Product.NbOfInstallmentsMax.Value; } else { nudLoanNbOfInstallments.Minimum = nudLoanNbOfInstallments.Maximum = _credit.Product.NbOfInstallments.Value; } } if (ServicesProvider.GetInstance().GetGeneralSettings().UseProjects) { tabControlPerson.TabPages.Add(tabPageProject); DisplaySelectedProject(_project); } else { AddProject(_project); } tabControlPerson.TabPages.Add(tabPageLoansDetails); tabControlPerson.TabPages.Add(tabPageAdvancedSettings); tabControlPerson.TabPages.Add(tabPageLoanGuarantees); _credit.LoanInitialOfficer = _credit.LoanOfficer; InitializeTabPageLoansDetails(_credit); tabControlPerson.TabPages.Add(tabPageCreditCommitee); if (_credit.Disbursed) { tabControlPerson.TabPages.Add(tabPageLoanRepayment); //tabControlPerson.TabPages.Add(tabPageLAC); tabControlPerson.SelectedTab = tabPageLoanRepayment; InitializeTabPageLoanRepayment(_credit); } else if (_credit.ContractStatus == OContractStatus.Validated && !_credit.Disbursed) { tabControlPerson.SelectedTab = tabPageLoansDetails; } }