// saves the form
        // links:
        //  docLink: http://sql2x.org/documentationLink/c9522930-91f8-4468-a936-8030bb2a6482
        private void buttonSave_Click(object sender, EventArgs e)
        {
            var service = new CrudeFinancialServiceServiceClient();

            try {
                _contract.ServiceTypeRcd      = serviceTypeRefCombo.Text;
                _contract.Amount              = maskedTextBoxAmount.Text == String.Empty ? 0 : Convert.ToDecimal(maskedTextBoxAmount.Text);
                _contract.FinancialCurrencyId = (Guid)financialCurrencyPicker.SelectedValue;
                _contract.UserId              = (Guid)userPicker.SelectedValue;

                if (_isNew)
                {
                    service.Insert(_contract);
                }
                else
                {
                    service.Update(_contract);
                }
            } catch (Exception ex) {
                if (ex == null)
                {
                }
                else
                {
                    System.Diagnostics.Debugger.Break();
                }
            } finally {
                service.Close();
            }

            Close();
        }
        // refresh the grid
        // links:
        //  docLink: http://sql2x.org/documentationLink/a90065e7-8ace-4de7-9367-d4653a7c637f
        public void RefreshCrudeFinancialService()
        {
            var financialService = new CrudeFinancialServiceServiceClient();

            try {
                var bindingSource = new BindingSource();
                bindingSource.DataSource = financialService.FetchWithFilter(
                    Guid.Empty
                    , Guid.Empty
                    , serviceTypeRefCombo.Text
                    , maskedTextBoxAmount.Text == String.Empty ? 0 : Convert.ToDecimal(maskedTextBoxAmount.Text)
                    , financialCurrencyPicker.SelectedValue
                    , Guid.Empty
                    , Guid.Empty
                    , Guid.Empty
                    , Guid.Empty
                    , Guid.Empty
                    , DateTime.MinValue
                    );
                dataGridViewCrudeFinancialService.AutoGenerateColumns = false;
                dataGridViewCrudeFinancialService.DataSource          = bindingSource;
                dataGridViewCrudeFinancialService.AutoResizeColumns();
                dataGridViewCrudeFinancialService.Refresh();
            } catch (Exception ex) {
                if (ex == null)
                {
                }
                else
                {
                    System.Diagnostics.Debugger.Break();
                }
            } finally {
                financialService.Close();
            }
        }
        // shows the form in edit modus
        // links:
        //  docLink: http://sql2x.org/documentationLink/49afd26c-4f21-4992-967b-be190eacef77
        public void ShowAsEdit(System.Guid financialServiceId)
        {
            var service = new CrudeFinancialServiceServiceClient();

            _isNew = false;
            try {
                _contract = service.FetchByFinancialServiceId(financialServiceId);
                serviceTypeRefCombo.Text = _contract.ServiceTypeRcd != null ? _contract.ServiceTypeRcd : String.Empty;
                maskedTextBoxAmount.Text = _contract.Amount.ToString();
                financialCurrencyPicker.SelectedValue = _contract.FinancialCurrencyId;
                userPicker.SelectedValue    = _contract.UserId;
                _contract.DateTime          = DateTime.UtcNow;
                dateTimePickerDateTime.Text = _contract.DateTime.ToString();

                Show();
            } catch (Exception ex) {
                if (ex == null)
                {
                }
                else
                {
                    System.Diagnostics.Debugger.Break();
                }
            } finally {
                service.Close();
            }
        }