private void OnTypeSelected(object sender, SelectionChangedEventArgs e)
 {
     if (this.TypeCombobox.SelectedItem != null && this.TypeCombobox.SelectedItem is WriteOffFieldValueType)
     {
         WriteOffFieldValueType type = (WriteOffFieldValueType)this.TypeCombobox.SelectedItem;
         this.MeasureCombobox.Visibility = type == WriteOffFieldValueType.CUSTOM ? Visibility.Visible : Visibility.Collapsed;
     }
 }
Beispiel #2
0
        public void Reconciliate()
        {
            ReconciliationData reco    = new ReconciliationData();
            decimal            credit  = dialog.ReconciliationGrid.LeftAmount;
            decimal            debit   = dialog.ReconciliationGrid.RightAmount;
            decimal            balance = dialog.ReconciliationGrid.BalanceAmount;

            if (balance != 0 && this.EditedObject.acceptWriteOff)
            {
                if (!dialog.WriteOffBlock.Validate())
                {
                    return;
                }
                reco.writeOffFields = dialog.WriteOffBlock.Fill();
                reco.writeOffAmount = balance;
            }

            reco.ids      = dialog.ReconciliationGrid.GridBrowser.GetSelectedOis();
            reco.recoType = this.EditedObject.reconciliationType;
            WriteOffFieldValueType type = this.EditedObject.writeoffDefaultMeasureTypeEnum;

            if (type == WriteOffFieldValueType.CUSTOM)
            {
                reco.writeOffMeasure = this.EditedObject.writeoffMeasure;
            }
            else if (type == WriteOffFieldValueType.LEFT_SIDE)
            {
                reco.writeOffMeasure = this.EditedObject.leftMeasure;
            }
            else if (type == WriteOffFieldValueType.RIGHT_SIDE)
            {
                reco.writeOffMeasure = this.EditedObject.rightMeasure;
            }
            try
            {
                bool result = this.Service.reconciliate(reco);
                if (result)
                {
                    this.LeftGrid.Search(this.LeftGrid.EditedObject.GrilleFilter != null ? this.LeftGrid.EditedObject.GrilleFilter.page : 1);
                    this.RightGrid.Search(this.RightGrid.EditedObject.GrilleFilter != null ? this.RightGrid.EditedObject.GrilleFilter.page : 1);
                    this.BottomGrid.Clear();
                    this.BottomGrid.ReconciliateButton.IsEnabled = false;
                    this.BottomGrid.ResetButton.IsEnabled        = false;
                    this.BottomGrid.ClearButton.IsEnabled        = false;
                    dialog.ReconciliateButton.Click -= OnDialogReconciliate;
                    dialog.CancelButton.Click       -= OnDialogCancel;
                    this.dialog.Close();
                    dialog = null;
                    BuildBalance(this.LeftGrid);
                    BuildBalance(this.RightGrid);
                }
            }
            catch (Exception)
            {
                MessageDisplayer.DisplayWarning("Reconciliation Error", "An error occurred while trying to reconciliate!");
            }
        }
 private void OnDefaultValueChanged(object item)
 {
     if (ItemChanged != null)
     {
         if (item is WriteOffFieldValueType)
         {
             WriteOffFieldValueType value = (WriteOffFieldValueType)item;
             this.getActiveWriteOffField().defaultValueTypeEnum = value;
             if (ItemChanged != null)
             {
                 ItemChanged(this.writeOffField);
             }
         }
     }
 }
        public void fillObject()
        {
            if (this.EditedObject == null)
            {
                this.EditedObject = new ReconciliationFilterTemplate();
            }
            this.EditedObject.acceptWriteOff = this.AllowWriteOffCheckBox.IsChecked.Value;
            WriteOffFieldValueType type = (WriteOffFieldValueType)this.TypeCombobox.SelectedItem;

            this.EditedObject.writeoffDefaultMeasureTypeEnum = type;
            if (type == WriteOffFieldValueType.CUSTOM)
            {
                this.EditedObject.writeoffMeasure = (Measure)this.MeasureCombobox.SelectedItem;
            }
            else
            {
                this.EditedObject.writeoffMeasure = null;
            }
        }
Beispiel #5
0
        private void OnReconciliate(object sender, RoutedEventArgs e)
        {
            if (this.BottomGrid.GridBrowser.gridControl.SelectedItems.Count == 0)
            {
                MessageDisplayer.DisplayWarning("Reconciliation", "You can't create a new reconciliation with just one row.");
                return;
            }

            if (this.EditedObject.reconciliationType == null)
            {
                MessageDisplayer.DisplayWarning("Reconciliation", "The reconciliation type is not specified!");
                return;
            }
            if (this.EditedObject.leftMeasure == null)
            {
                MessageDisplayer.DisplayWarning("Reconciliation", "The left measure is not specified!");
                return;
            }
            if (this.EditedObject.rightMeasure == null)
            {
                MessageDisplayer.DisplayWarning("Reconciliation", "The right measure is not specified!");
                return;
            }
            if (ContentsReconciliatedItems())
            {
                MessageDisplayer.DisplayWarning("Reconciliation", "You can't create a new reconciliation with this selction.\nThere is at least one reconciliated item in selection!");
                return;
            }

            if (this.BottomGrid.BalanceAmount != 0)
            {
                if (!CanEditWriteOff)
                {
                    MessageDisplayer.DisplayWarning("Reconciliation", "You are not allowed to create a write off!");
                    return;
                }
                if (!this.EditedObject.acceptWriteOff)
                {
                    MessageDisplayer.DisplayWarning("Reconciliation", "You can't create a new reconciliation with this selction.\nWrite off is not allowed!");
                    return;
                }
                WriteOffFieldValueType type = this.EditedObject.writeoffDefaultMeasureTypeEnum;
                if (type == WriteOffFieldValueType.CUSTOM && this.EditedObject.writeoffMeasure == null)
                {
                    MessageDisplayer.DisplayWarning("Reconciliation", "The write off measure is not specified!");
                    return;
                }
            }

            dialog              = new RecoWriteOffDialog();
            dialog.Owner        = ApplicationManager.Instance.MainWindow;
            dialog.EditedObject = this.EditedObject;
            dialog.displayObject(this.BottomGrid.GridBrowser.gridControl.SelectedItems);
            dialog.ReconciliationGrid.SetBalance(this.BottomGrid.LeftAmount, this.BottomGrid.RightAmount, this.BottomGrid.BalanceAmount);
            if (this.BottomGrid.BalanceAmount != 0)
            {
                dialog.WriteOffGroupBox.Visibility         = Visibility.Visible;
                dialog.WriteOffBlock.WriteOffConfiguration = this.EditedObject.writeOffConfig;
                dialog.WriteOffBlock.display();
            }
            else
            {
                dialog.WriteOffGroupBox.Visibility = Visibility.Collapsed;
            }

            dialog.ReconciliateButton.Click += OnDialogReconciliate;
            dialog.CancelButton.Click       += OnDialogCancel;
            dialog.Show();
        }