private void OnAlertDoubleClicked(object sender, EventArgs e)
        {
            if (null == olvAlerts.SelectedObject)
            {
                return;
            }

            Alert_v2 alert = (Alert_v2)olvAlerts.SelectedObject;

            IClient client;

            switch (alert.Kind)
            {
            case AlertKind.Loan:
                client = ServicesProvider.GetInstance().GetClientServices().FindTiersByContractId(alert.Id);
                InitializeCreditContractForm(client, alert.Id);
                break;

            case AlertKind.Saving:
                client = ServicesProvider.GetInstance().GetClientServices().FindTiersBySavingsId(alert.Id);
                InitializeSavingContractForm(client, alert.Id);
                break;

            default:
                Debug.Fail("Cannot be here.");
                break;
            }
        }
        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;
        }
        private void OnFilterChanged(object sender, EventArgs e)
        {
            string filter = tbFilter.Text.ToLower();

            if (string.IsNullOrEmpty(filter))
            {
                olvAlerts.UseFiltering = false;
                UpdateAlertsTitle();
                return;
            }

            olvAlerts.UseFiltering = true;
            olvAlerts.ModelFilter  = new ModelFilter(delegate(object x)
            {
                Alert_v2 alert = (Alert_v2)x;
                return(alert.ContractCode.ToLower().Contains(filter) ||
                       alert.ClientName.ToLower().Contains(filter) ||
                       alert.LoanOfficer.Name.ToLower().Contains(filter));
            });
            UpdateAlertsTitle();
        }
        private void OnFormatAlertRow(object sender, FormatRowEventArgs e)
        {
            Alert_v2 alert = (Alert_v2)e.Model;

            e.Item.BackColor = alert.BackColor;
        }