示例#1
0
        private KeyValuePair <OContractStatus, string> GetContractStatusItem(OContractStatus oContractStatus)
        {
            string statusName = oContractStatus.GetName();
            string statusText = MultiLanguageStrings.GetString(Ressource.ClientForm, string.Format("{0}.Text", statusName));

            return(new KeyValuePair <OContractStatus, string>(oContractStatus, statusText));
        }
        private void InitAlerts()
        {
            colAlerts_Status.AspectToStringConverter = delegate(object value)
            {
                OContractStatus status = (OContractStatus)value;
                string          key    = string.Format("Status{0}", status);
                return(GetString(key));
            };

            colAlerts_Date.AspectToStringConverter = delegate(object value)
            {
                DateTime date = (DateTime)value;
                return(date.ToShortDateString());
            };

            colAlerts_Amount.AspectToStringConverter = delegate(object value)
            {
                OCurrency amount = (OCurrency)value;
                return(amount.GetFormatedValue(true));
            };

            colAlerts_ContractCode.ImageGetter = delegate(object value)
            {
                Alert_v2 alert = (Alert_v2)value;
                return(alert.ImageIndex);
            };

            byte[] state = UserSettings.GetAlertState();
            if (state != null)
            {
                olvAlerts.RestoreState(state);
            }

            _triggerAlertsUpdate        = false;
            chkLateLoans.Checked        = UserSettings.GetShowLateLoans();
            chkPendingLoans.Checked     = UserSettings.GetShowPendingLoans();
            chkPendingSavings.Checked   = UserSettings.GetShowPendingSavings();
            chkOverdraftSavings.Checked = UserSettings.GetShowOverdraftSavings();
            chkValidatedLoan.Checked    = UserSettings.GetValidatedLoans();
            chkPostponedLoans.Checked   = UserSettings.GetPostponedLoans();
            _triggerAlertsUpdate        = true;
        }
示例#3
0
 private void SetCreditStatus(OContractStatus pStatus)
 {
     var items = cmbContractStatus.Items.Cast<KeyValuePair<OContractStatus, string>>();
     KeyValuePair<OContractStatus, string> itemToSelect;
     switch (pStatus)
     {
         case OContractStatus.Pending:
         case OContractStatus.Postponed:
         case OContractStatus.Refused:
         case OContractStatus.Abandoned:
         case OContractStatus.Deleted:
         case OContractStatus.NonAccrual:
             itemToSelect = items.First(item => item.Key == pStatus);
             break;
         case OContractStatus.Validated:
         case OContractStatus.Active:
         case OContractStatus.Closed:
         case OContractStatus.WrittenOff:
             itemToSelect = items.First(item => item.Key == OContractStatus.Validated);
             break;
         default:
             throw new ArgumentOutOfRangeException(string.Format("No such status: {0}", pStatus.GetName()));
     }
     cmbContractStatus.SelectedItem = itemToSelect;
 }
示例#4
0
        private OContractStatus GetNewStatusAndValidate(ref OContractStatus currentCreditStatus)
        {
            currentCreditStatus = _credit.ContractStatus;
            OContractStatus newStatus = GetNewCreditStatus();

            if (newStatus.Equals(_credit.ContractStatus))
                throw new OpenCbsContractSaveException(OpenCbsContractSaveExceptionEnum.StatusNotModified);

            if (newStatus.Equals(OContractStatus.Validated))
            {
                if (_credit.Product.UseCompulsorySavings)
                {
                    _credit.CompulsorySavings = SavingServices.GetSavingForLoan(_credit.Id, true);
                    if (_credit.CompulsorySavings == null)
                        throw new OpenCbsSavingException(OpenCbsSavingExceptionEnum.NoCompulsorySavings);
                }
            }
            return newStatus;
        }
示例#5
0
 private KeyValuePair<OContractStatus, string> GetContractStatusItem(OContractStatus status)
 {
     string statusName = status.GetName();
     string statusText = GetString(string.Format("{0}.Text", statusName));
     return new KeyValuePair<OContractStatus, string>(status, statusText);
 }
示例#6
0
        private void DisableContractDetails(OContractStatus pContractStatus)
        {
            bool isPendingOrPostponed = pContractStatus == OContractStatus.Pending || pContractStatus == OContractStatus.Postponed
                || pContractStatus == 0;

            nudLoanAmount.Enabled = isPendingOrPostponed;
            nudInterestRate.Enabled = isPendingOrPostponed;
            numericUpDownLoanGracePeriod.Enabled = isPendingOrPostponed;
            nudLoanNbOfInstallments.Enabled = isPendingOrPostponed;
            eacLoan.Enabled = isPendingOrPostponed;
            textBoxLoanAnticipatedTotalFees.Enabled = isPendingOrPostponed;
            tbLoanAnticipatedPartialFees.Enabled = isPendingOrPostponed;
            comboBoxLoanInstallmentType.Enabled = isPendingOrPostponed;
            groupBoxLoanLateFees.Enabled = isPendingOrPostponed;
            dateLoanStart.Enabled = dtpDateOfFirstInstallment.Enabled = isPendingOrPostponed;

            //comboBoxLoanCorporate.Enabled = isPending;
            comboBoxLoanFundingLine.Enabled = isPendingOrPostponed;
            cmbLoanOfficer.Enabled = isPendingOrPostponed;
            textBoxLoanPurpose.ReadOnly = !isPendingOrPostponed;
            textBoxComments.Enabled = isPendingOrPostponed;
            comboBoxLoanFundingLine.Enabled = isPendingOrPostponed;
            groupBoxEntryFees.Enabled = isPendingOrPostponed;
            EnableInsuranceTextBox(_credit);
            EnableLocAmountTextBox(_credit);
        }
示例#7
0
 private void DisableCommitteeDecision(OContractStatus pContractStatus)
 {
     if (pContractStatus != OContractStatus.Closed && !_credit.Disbursed)
     {
         SetCcEnabled(true);
         if (pContractStatus != OContractStatus.Pending)
         {
             EnableBoxCreditCommitteeComponents(false);
             buttonCreditCommiteeSaveDecision.Enabled = true;
             buttonCreditCommiteeSaveDecision.Text = GetString("update");
         }
     }
     else
     {
         buttonCreditCommiteeSaveDecision.Text = GetString("save");
         SetCcEnabled(false);
     }
 }
 private KeyValuePair<OContractStatus, string> GetContractStatusItem(OContractStatus oContractStatus)
 {
     string statusName = oContractStatus.GetName();
     string statusText = MultiLanguageStrings.GetString(Ressource.ClientForm,string.Format("{0}.Text", statusName));
     return new KeyValuePair<OContractStatus, string>(oContractStatus, statusText);
 }
示例#9
0
        private void DisableContractDetails(OContractStatus pContractStatus)
        {
            bool isPendingOrPostponed = pContractStatus == OContractStatus.Pending || pContractStatus == OContractStatus.Postponed
                || pContractStatus == 0;

            nudLoanAmount.Enabled = isPendingOrPostponed;
            nudInterestRate.Enabled = isPendingOrPostponed;
            numericUpDownLoanGracePeriod.Enabled = isPendingOrPostponed && !_credit.Product.GracePeriod.HasValue;
            nudLoanNbOfInstallments.Enabled = isPendingOrPostponed;
            if (_credit.Product.InstallmentType.Id == 0)
            {
                _installmentTypeComboBox.Enabled = isPendingOrPostponed;
            }
            if (_credit.Product.LoanType == OLoanTypes.All)
            {
                _scheduleTypeComboBox.Enabled = isPendingOrPostponed;
            }
            eacLoan.Enabled = isPendingOrPostponed;
            textBoxLoanAnticipatedTotalFees.Enabled = isPendingOrPostponed;
            tbLoanAnticipatedPartialFees.Enabled = isPendingOrPostponed;
            groupBoxLoanLateFees.Enabled = isPendingOrPostponed;
            dateLoanStart.Enabled = dtpDateOfFirstInstallment.Enabled = isPendingOrPostponed;

            comboBoxLoanFundingLine.Enabled = isPendingOrPostponed;
            _loanOfficerComboBox.Enabled = isPendingOrPostponed;
            textBoxLoanPurpose.ReadOnly = !isPendingOrPostponed;
            textBoxComments.Enabled = isPendingOrPostponed;
            comboBoxLoanFundingLine.Enabled = isPendingOrPostponed;
            groupBoxEntryFees.Enabled = isPendingOrPostponed;
            EnableInsuranceTextBox(_credit);
            EnableLocAmountTextBox(_credit);
        }
示例#10
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                foreach (ListViewItem item in lvMembers.Items)
                {
                    if (!item.Checked)
                    {
                        continue;
                    }
                    var             loan          = item.Tag as Loan;
                    string          comment       = item.SubItems[IdxComment].Text;
                    OContractStatus currentStatus = loan.ContractStatus;
                    OContractStatus status        = (OContractStatus)item.SubItems[IdxStatus].Tag;
                    if (currentStatus == status)
                    {
                        continue;
                    }
                    string   code = item.SubItems[IdxValidationCode].Text;
                    DateTime date = Convert.ToDateTime(item.SubItems[IdxCreditCommitteeDate].Tag);

                    VillageMember activeMember = null;

                    foreach (VillageMember member in _village.Members)
                    {
                        int tIndex = member.ActiveLoans.IndexOf(loan);
                        if (tIndex > -1)
                        {
                            activeMember = member;
                        }
                    }

                    IClient client = activeMember.Tiers;

                    loan.CreditCommiteeDate    = date;
                    loan.ContractStatus        = status;
                    loan.CreditCommitteeCode   = code;
                    loan.CreditCommiteeComment = comment;
                    Project project = client.Projects[0];

                    loan = ServicesProvider.GetInstance().GetContractServices().UpdateContractStatus(loan, project, client, currentStatus == OContractStatus.Validated);
                    if (OContractStatus.Refused == status ||
                        OContractStatus.Abandoned == status ||
                        OContractStatus.Closed == status)
                    {
                        loan.Closed = true;
                        activeMember.ActiveLoans.Remove(loan);
                        if (activeMember.ActiveLoans.Count == 0)
                        {
                            client.Active = false;
                            client.Status = OClientStatus.Inactive;
                        }
                    }
                    else
                    {
                        loan.Closed   = false;
                        client.Active = true;
                        client.Status = OClientStatus.Active;
                    }
                }
                DialogResult = DialogResult.OK;
                Close();
            }
            catch (Exception ex)
            {
                new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog();
            }
        }