Esempio n. 1
0
        async void SetNewDim(GLTransClient selectedItem, CWChangeDimension ChangeDimensionDialog)
        {
            var postingApiInv = this.postingApiInv;
            var nDim          = postingApiInv.CompanyEntity.NumberOfDimensions;
            var accs          = postingApiInv.CompanyEntity.GetCache(typeof(Uniconta.DataModel.GLAccount));
            var acc           = (Uniconta.DataModel.GLAccount)accs.Get(selectedItem._Account);

            if ((nDim >= 1 && ChangeDimensionDialog.Dimension1.HasValue && !acc.GetDimUsed(1)) ||
                (nDim >= 2 && ChangeDimensionDialog.Dimension2.HasValue && !acc.GetDimUsed(2)) ||
                (nDim >= 3 && ChangeDimensionDialog.Dimension3.HasValue && !acc.GetDimUsed(3)) ||
                (nDim >= 4 && ChangeDimensionDialog.Dimension4.HasValue && !acc.GetDimUsed(4)) ||
                (nDim >= 5 && ChangeDimensionDialog.Dimension5.HasValue && !acc.GetDimUsed(5)))
            {
                UnicontaMessageBox.Show(Uniconta.ClientTools.Localization.lookup("NoDimActivedForAccount"), Uniconta.ClientTools.Localization.lookup("Information"), MessageBoxButton.OK);
            }

            busyIndicator.IsBusy = true;
            var errorCodes = await postingApiInv.SetNewDimensions(selectedItem, ChangeDimensionDialog.AllLine, ChangeDimensionDialog.Dimension1,
                                                                  ChangeDimensionDialog.Dimension2, ChangeDimensionDialog.Dimension3, ChangeDimensionDialog.Dimension4, ChangeDimensionDialog.Dimension5, ChangeDimensionDialog.GLAccount);

            busyIndicator.IsBusy = false;
            UtilDisplay.ShowErrorCode(errorCodes);
            if (errorCodes == ErrorCodes.Succes)
            {
                BindGrid();
            }
        }
Esempio n. 2
0
        async void SetChangeReference(GLTransClient selectedITem, CWChangeDimension ChangeReferenceDialog)
        {
            busyIndicator.IsBusy = true;
            var errorCodes = await postingApiInv.UpdateTransReference(selectedITem, ChangeReferenceDialog.Text, ChangeReferenceDialog.AllLine);

            busyIndicator.IsBusy = false;
            UtilDisplay.ShowErrorCode(errorCodes);
            if (errorCodes == ErrorCodes.Succes)
            {
                BindGrid();
            }
        }
Esempio n. 3
0
        async void SetChangeQuantity(GLTransClient selectedItem, CWChangeDimension ChangeTextDialog)
        {
            busyIndicator.IsBusy = true;
            var errorCodes = await postingApiInv.UpdateTransQty(selectedItem, ChangeTextDialog.Quantity, ChangeTextDialog.AllLine);

            busyIndicator.IsBusy = false;
            UtilDisplay.ShowErrorCode(errorCodes);
            if (errorCodes == ErrorCodes.Succes && ribbonControl != null)
            {
                BindGrid();
            }
        }
Esempio n. 4
0
        private void localMenu_OnItemClicked(string ActionType)
        {
            string header;
            var    selectedItem = dgAccountsTransGrid.SelectedItem as GLTransClient;

            switch (ActionType)
            {
            case "PostedTransaction":
                if (selectedItem == null)
                {
                    return;
                }
                header = string.Format("{0} / {1}", Uniconta.ClientTools.Localization.lookup("PostedTransactions"), selectedItem._JournalPostedId);
                AddDockItem(TabControls.PostedTransactions, selectedItem, header);
                break;

            case "ViewDownloadRow":
                if (selectedItem != null)
                {
                    DebtorTransactions.ShowVoucher(dgAccountsTransGrid.syncEntity, api, busyIndicator);
                }
                break;

            case "VoucherTransactions":
                if (selectedItem == null)
                {
                    return;
                }
                header = string.Format("{0} ({1})", Uniconta.ClientTools.Localization.lookup("VoucherTransactions"), selectedItem._Voucher);
                AddDockItem(TabControls.AccountsTransaction, dgAccountsTransGrid.syncEntity, header);
                break;

            case "AccountsTransaction":
                if (selectedItem != null)
                {
                    var glAccount = selectedItem.Master;
                    if (glAccount == null)
                    {
                        return;
                    }
                    string accHeader = string.Format("{0} ({1})", Uniconta.ClientTools.Localization.lookup("AccountsTransaction"), selectedItem._Account);
                    AddDockItem(TabControls.AccountsTransaction, glAccount, accHeader);
                }
                break;

            case "DragDrop":
            case "ImportVoucher":
                if (selectedItem != null)
                {
                    AddVoucher(selectedItem, ActionType);
                }
                break;

            case "CancelVoucher":
                if (selectedItem == null)
                {
                    return;
                }
                CWCommentsDialogBox commentsDialog = new CWCommentsDialogBox(Uniconta.ClientTools.Localization.lookup("CancelVoucher"),
                                                                             true, selectedItem.Date);
#if !SILVERLIGHT
                commentsDialog.DialogTableId = 2000000035;
#endif
                commentsDialog.Closing += async delegate
                {
                    if (commentsDialog.DialogResult == true)
                    {
                        busyIndicator.BusyContent = Uniconta.ClientTools.Localization.lookup("SendingWait");
                        busyIndicator.IsBusy      = true;

                        var comments   = commentsDialog.Comments;
                        var date       = commentsDialog.Date;
                        var errorCodes = await postingApiInv.CancelVoucher(selectedItem, comments, date);

                        busyIndicator.IsBusy = false;

                        if (errorCodes != ErrorCodes.Succes)
                        {
                            UtilDisplay.ShowErrorCode(errorCodes);
                        }
                        else
                        {
                            UnicontaMessageBox.Show(Uniconta.ClientTools.Localization.lookup("TransCanceled"), Uniconta.ClientTools.Localization.lookup("Error"));
                            BindGrid();
                        }
                    }
                };
                commentsDialog.Show();
                break;

            case "DeleteVoucher":
                if (selectedItem == null)
                {
                    return;
                }
                var deleteDialog = new DeletePostedJournal();
                deleteDialog.Closed += async delegate
                {
                    if (deleteDialog.DialogResult == true)
                    {
                        PostingAPI pApi = new PostingAPI(api);
                        ErrorCodes res  = await pApi.DeletePostedVoucher(selectedItem, deleteDialog.Comment);

                        UtilDisplay.ShowErrorCode(res);
                        if (res == ErrorCodes.Succes)
                        {
                            dgAccountsTransGrid.ItemsSource = new GLTransClient[0];
                        }
                    }
                };
                deleteDialog.Show();
                break;

            case "InvertSign":
                if (selectedItem != null)
                {
                    InvertSign(selectedItem);
                }
                break;

            case "RefVoucher":
                if (selectedItem == null)
                {
                    return;
                }

                var _refferedVouchers = new List <int>();
                var source            = (IList)dgAccountsTransGrid.ItemsSource;
                if (source != null)
                {
                    foreach (var statementLine in (IEnumerable <GLTrans>)source)
                    {
                        if (statementLine._DocumentRef != 0)
                        {
                            _refferedVouchers.Add(statementLine._DocumentRef);
                        }
                    }
                }
                CWAttachVouchers attachVouchersDialog = new CWAttachVouchers(api, _refferedVouchers);
                attachVouchersDialog.Closing += delegate
                {
                    if (attachVouchersDialog.DialogResult == true)
                    {
                        if (attachVouchersDialog.VoucherReference != 0 && selectedItem != null)
                        {
                            SaveAttachment(selectedItem, attachVouchersDialog.Voucher);
                        }
                    }
                };
                attachVouchersDialog.Show();
                break;

            case "RemoveVoucher":
                if (selectedItem == null || selectedItem._DocumentRef == 0)
                {
                    return;
                }
                if (UnicontaMessageBox.Show(Uniconta.ClientTools.Localization.lookup("AskRemoveDocument"), Uniconta.ClientTools.Localization.lookup("Confirmation"), MessageBoxButton.OKCancel) == MessageBoxResult.OK)
                {
                    postingApiInv.AddPhysicalVoucher(selectedItem, null, true);
                    selectedItem._DocumentRef = 0;
                }
                break;

            case "ChangeDimension":
                if (selectedItem != null)
                {
                    CWChangeDimension ChangeDimensionDialog = new CWChangeDimension(api, isChangeText: false);
                    ChangeDimensionDialog.Closing += delegate
                    {
                        if (ChangeDimensionDialog.DialogResult == true)
                        {
                            SetNewDim(selectedItem, ChangeDimensionDialog);
                        }
                    };
                    ChangeDimensionDialog.Show();
                }
                break;

            case "ChangeText":
                if (selectedItem != null)
                {
                    CWChangeDimension ChangeTextDialog = new CWChangeDimension(api, isChangeDimension: false);
                    ChangeTextDialog.Closing += delegate
                    {
                        if (ChangeTextDialog.DialogResult == true)
                        {
                            SetChangeText(selectedItem, ChangeTextDialog);
                        }
                    };
                    ChangeTextDialog.Show();
                }
                break;

            case "ChangeReference":
                if (selectedItem != null)
                {
                    CWChangeDimension updateReferenceDialog = new CWChangeDimension(api, isChangeDimension: false);
                    updateReferenceDialog.Closing += delegate
                    {
                        if (updateReferenceDialog.DialogResult == true)
                        {
                            SetChangeReference(selectedItem, updateReferenceDialog);
                        }
                    };
                    updateReferenceDialog.Show();
                }
                break;

            case "ChangeQuantity":
                if (selectedItem != null)
                {
                    CWChangeDimension ChangeQtyDialog = new CWChangeDimension(api, isChangeDimension: false, isChangeText: false);
                    ChangeQtyDialog.Closing += delegate
                    {
                        if (ChangeQtyDialog.DialogResult == true)
                        {
                            SetChangeQuantity(selectedItem, ChangeQtyDialog);
                        }
                    };
                    ChangeQtyDialog.Show();
                }
                break;

            case "AddEditNote":
                if (selectedItem != null)
                {
                    CWAddEditNote cwAddEditNote = new CWAddEditNote(api, null, selectedItem);
                    cwAddEditNote.Closed += delegate
                    {
                        if (cwAddEditNote.DialogResult == true)
                        {
                            if (cwAddEditNote.result == ErrorCodes.Succes)
                            {
                                BindGrid();
                            }
                        }
                    };
                    cwAddEditNote.Show();
                }
                break;

            case "PostedBy":
                if (selectedItem != null)
                {
                    JournalPosted(selectedItem);
                }
                break;

            case "ChangeDate":
                if (selectedItem == null)
                {
                    return;
                }
                var dateSelector = new CWDateSelector(selectedItem.Date, true);
#if !SILVERLIGHT
                dateSelector.DialogTableId = 2000000058;
#endif
                dateSelector.Closed += delegate
                {
                    if (dateSelector.DialogResult == true)
                    {
                        SetChangeDate(selectedItem, dateSelector.SelectedDate);
                    }
                };
                dateSelector.Show();
                break;

            case "RemoveVat":
                if (selectedItem != null)
                {
                    RemoveVat(selectedItem);
                }
                break;

            case "AddVat":
                if (selectedItem != null)
                {
                    AddVat(selectedItem);
                }
                break;

            case "SetNewDcAccount":
                if (selectedItem != null)
                {
                    SetNewAccount(selectedItem);
                }
                break;

            case "CopyVoucherToJournal":
                if (selectedItem != null)
                {
                    CopyToJOurnal();
                }
                break;

            case "ExportVouchers":
                var glTrans = ((IEnumerable <GLTransClient>)dgAccountsTransGrid.GetVisibleRows())?.Where(x => x._DocumentRef != 0);
                AddDockItem(TabControls.VoucherExportPage, new object[] { glTrans }, Uniconta.ClientTools.Localization.lookup("ExportVouchers"));
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
        }