public ActionResult CrudeFinancialHotelBookingEdit(
            System.Guid financialHotelBookingId
            )
        {
            CrudeFinancialHotelBookingContract contract = new CrudeFinancialHotelBookingServiceClient().FetchByFinancialHotelBookingId(financialHotelBookingId);

            ViewBag.ServiceHotelId =
                new SelectList(new CrudeServiceHotelServiceClient().FetchAll(),
                               "ServiceHotelId",
                               "HotelName",
                               contract.ServiceHotelId
                               );

            ViewBag.FinancialCurrencyId =
                new SelectList(new CrudeFinancialCurrencyServiceClient().FetchAll(),
                               "FinancialCurrencyId",
                               "FinancialCurrencyTypeName",
                               contract.FinancialCurrencyId
                               );

            ViewBag.DefaultUserName =
                new CrudeDefaultUserServiceClient().FetchByDefaultUserId(contract.UserId).DefaultUserName;


            return(View(
                       "~/Views/Crude/Financial/CrudeFinancialHotelBooking/CrudeFinancialHotelBookingEdit.cshtml",
                       contract
                       ));
        }
        // 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 CrudeFinancialHotelBookingServiceClient();

            try {
                _contract.FromDateTime        = dateTimePickerFromDateTime.Checked ? Convert.ToDateTime(dateTimePickerFromDateTime.Value): DateTime.MinValue;
                _contract.UntilDateTime       = dateTimePickerUntilDateTime.Checked ? Convert.ToDateTime(dateTimePickerUntilDateTime.Value): DateTime.MinValue;
                _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 RefreshCrudeFinancialHotelBooking()
        {
            var financialHotelBooking = new CrudeFinancialHotelBookingServiceClient();

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

            _isNew = false;
            try {
                _contract = service.FetchByFinancialHotelBookingId(financialHotelBookingId);
                dateTimePickerFromDateTime.Value      = _contract.FromDateTime != DateTime.MinValue ? _contract.FromDateTime : dateTimePickerFromDateTime.MinDate;
                dateTimePickerFromDateTime.Checked    = _contract.FromDateTime != DateTime.MinValue;
                dateTimePickerUntilDateTime.Value     = _contract.UntilDateTime != DateTime.MinValue ? _contract.UntilDateTime : dateTimePickerUntilDateTime.MinDate;
                dateTimePickerUntilDateTime.Checked   = _contract.UntilDateTime != DateTime.MinValue;
                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();
            }
        }