Esempio n. 1
0
        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;
            }
        }