Example #1
0
        void CopyRecord(DebtorClient selectedItem)
        {
            if (selectedItem == null)
            {
                return;
            }
            var debtor = Activator.CreateInstance(selectedItem.GetType()) as DebtorClient;

            CorasauDataGrid.CopyAndClearRowId(selectedItem, debtor);
            debtor._Created    = DateTime.MinValue;
            debtor._D2CAccount = null;
            AddDockItem(TabControls.DebtorAccountPage2, new object[2] {
                debtor, IdObject.get(false)
            }, Uniconta.ClientTools.Localization.lookup("DebtorAccount"), "Add_16x16.png");
        }
Example #2
0
        private void localMenu_OnItemClicked(string ActionType)
        {
            var    selectedItems = dgProjectGrid.SelectedItems;
            var    selectedItem  = dgProjectGrid.SelectedItem as ProjectClient;
            string salesHeader   = string.Empty;

            if (selectedItem != null)
            {
                salesHeader = string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Project"), selectedItem._Number);
            }
            switch (ActionType)
            {
            case "AddRow":
                if (dgProjectGrid.masterRecords != null)
                {
                    AddDockItem(TabControls.ProjectPage2, new object[] { api, dgProjectGrid.masterRecord }, Uniconta.ClientTools.Localization.lookup("Project"), "Add_16x16.png");
                }
                else
                {
                    AddDockItem(TabControls.ProjectPage2, api, Uniconta.ClientTools.Localization.lookup("Project"), "Add_16x16.png");
                }
                break;

            case "EditRow":
                if (selectedItem == null)
                {
                    return;
                }
                if (dgProjectGrid.masterRecords != null)
                {
                    AddDockItem(TabControls.ProjectPage2, new object[] { selectedItem, dgProjectGrid.masterRecord }, salesHeader);
                }
                else
                {
                    AddDockItem(TabControls.ProjectPage2, new object[] { selectedItem, IdObject.get(true) }, salesHeader);
                }
                break;

            case "PrTrans":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.ProjectTransactionPage, dgProjectGrid.syncEntity, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Transactions"), selectedItem._Number));
                }
                break;

            case "ProjectCategory":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.ProjectCategoryPage, dgProjectGrid.syncEntity, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("ProjectCategory"), selectedItem._Number));
                }
                break;

            case "Budget":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.ProjectBudgetPage, dgProjectGrid.syncEntity, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("ProjectBudget"), selectedItem._Name ?? salesHeader));
                }
                break;

            case "CreateBudget":
                if (dgProjectGrid.ItemsSource != null)
                {
                    CreateBudget();
                }
                break;

            case "CreateBudgetTask":
                if (dgProjectGrid.ItemsSource != null)
                {
                    CreateBudgetTask();
                }
                break;

            case "UpdatePrices":
                if (dgProjectGrid.ItemsSource != null)
                {
                    UpdatePrices();
                }
                break;

            case "ProjectTransSum":
                if (selectedItem != null)
                {
                    string header = string.Format("{0}/{1}", Uniconta.ClientTools.Localization.lookup("ProjectCategorySum"), selectedItem._Number);
                    AddDockItem(TabControls.ProjectTransCategorySumPage, dgProjectGrid.syncEntity, header);
                }
                break;

            case "OnAccountInvoicing":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.ProjectOnAccountInvoiceLinePage, dgProjectGrid.syncEntity);
                }
                break;

            case "SalesOrder":
                if (selectedItem != null)
                {
                    salesHeader = string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("SalesOrder"), selectedItem._DCAccount);
                    AddDockItem(TabControls.DebtorOrders, dgProjectGrid.syncEntity, salesHeader);
                }
                break;

            case "ProjectInvoiceProposal":
                if (selectedItem != null)
                {
                    salesHeader = string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("InvoiceProposal"), selectedItem._DCAccount);
                    AddDockItem(TabControls.ProjInvProposal, dgProjectGrid.syncEntity, salesHeader);
                }
                break;

            case "QuickInvoice":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.CreateInvoicePage, selectedItem);
                }
                break;

            case "AddNote":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.UserNotesPage, dgProjectGrid.syncEntity);
                }
                break;

            case "AddDoc":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.UserDocsPage, dgProjectGrid.syncEntity, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Documents"), selectedItem._Name));
                }
                break;

            case "EditAll":
                if (dgProjectGrid.Visibility == Visibility.Visible)
                {
                    EditAll();
                }
                break;

            case "AddLine":
                dgProjectGrid.AddRow();
                break;

            case "CopyRow":
                if (selectedItem != null)
                {
                    if (copyRowIsEnabled)
                    {
                        dgProjectGrid.CopyRow();
                    }
                    else
                    {
                        CopyRecord(selectedItem);
                    }
                }
                break;

            case "DeleteRow":
                dgProjectGrid.DeleteRow();
                break;

            case "SaveGrid":
                dgProjectGrid.SaveData();
                break;

            case "Offers":
                if (selectedItem != null)
                {
                    salesHeader = string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Offers"), selectedItem._DCAccount);
                    AddDockItem(TabControls.DebtorOffers, dgProjectGrid.syncEntity, salesHeader);
                }
                break;

            case "ChartView":
#if SILVERLIGHT
                UnicontaMessageBox.Show(Uniconta.ClientTools.Localization.lookup("SilverlightSupport"), Uniconta.ClientTools.Localization.lookup("Message"), MessageBoxButton.OK);
#else
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.ProjectTaskPage, selectedItem, string.Format("{0}({1}): {2}", Uniconta.ClientTools.Localization.lookup("Tasks"), Uniconta.ClientTools.Localization.lookup("EnableChart")
                                                                                         , selectedItem._Number));
                }
#endif
                break;

            case "GridView":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.ProjectTaskGridPage, dgProjectGrid.syncEntity, string.Format("{0}({1}): {2}", Uniconta.ClientTools.Localization.lookup("Tasks"), Uniconta.ClientTools.Localization.lookup("DataGrid")
                                                                                                         , selectedItem._Number));
                }
                break;

            case "CreateTaskFromTask":
                if (dgProjectGrid.ItemsSource != null)
                {
                    CreateTaskFromTask();
                }
                break;

            case "CopyRecord":
                CopyRecord(selectedItem);
                break;

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

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

#if !SILVERLIGHT
            case "PrTransPivot":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.ProjectTransPivotReport, selectedItem, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Pivot"), selectedItem._Name));
                }
                break;
#endif
            case "Invoices":
                if (selectedItem != null)
                {
                    string header = string.Format("{0}/{1}", Uniconta.ClientTools.Localization.lookup("ProjectInvoice"), selectedItem._DCAccount);
                    AddDockItem(TabControls.Invoices, dgProjectGrid.syncEntity, header);
                }
                break;

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

            case "UndoDelete":
                dgProjectGrid.UndoDeleteRow();
                break;

            case "ProjectEmployee":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.ProjectEmployeePage, dgProjectGrid.syncEntity, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Employees"), selectedItem._Name ?? salesHeader));
                }
                break;

            case "FollowUp":
                if (selectedItem != null)
                {
                    var header = string.Format("{0}:{2} {1}", Uniconta.ClientTools.Localization.lookup("FollowUp"), selectedItem._Name, Uniconta.ClientTools.Localization.lookup("Project"));
                    AddDockItem(TabControls.CrmFollowUpPage, dgProjectGrid.syncEntity, header);
                }
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
        }
        void ExportFile(VouchersClient voucher, ZipOutputStream zipOutputStream)
        {
            byte[] attachment = voucher.Buffer;
            voucher._Data       = null;
            voucher._LoadedData = null;
            if (attachment == null)
            {
                if (voucher._Url != null)
                {
                    try
                    {
                        if (voucher.IsWebUrl)
                        {
#if !SILVERLIGHT
                            attachment = new WebClient().DownloadData(voucher._Url);
                            var ext = System.IO.Path.GetExtension(voucher._Url);
                            if (ext != null)
                            {
                                voucher._Fileextension = DocumentConvert.GetDocumentType(DocumentConvert.GetExtension(ext));
                            }
#endif
                        }
                        else
                        {
#if SILVERLIGHT
                            attachment = UtilFunctions.LoadFile(voucher._Url);
#else
                            attachment = UtilFunctions.LoadFile(voucher._Url).GetAwaiter().GetResult();
#endif
                        }
                        if (attachment == null)
                        {
                            return;
                        }
                    }
                    catch
                    {
                        return;
                    }
                }
                else
                {
                    return;
                }
            }
            // Write the data to the ZIP file
            var sb = StringBuilderReuse.Create(voucher._Text).Replace('/', '-').Replace('\\', '-');
            sb.Append('_').Append(voucher.RowId).Append('.').Append(Enum.GetName(typeof(FileextensionsTypes), IdObject.get((byte)voucher._Fileextension)));
            var name = sb.ToStringAndRelease();
            zipOutputStream.PutNextEntry(new ZipEntry(name));
            zipOutputStream.Write(attachment, 0, attachment.Length);
            WriteLogLine(string.Format(Uniconta.ClientTools.Localization.lookup("ExportingFile"), name));
        }
        void localMenu_OnItemClicked(string ActionType)
        {
            var fromDate = txtDateFrm.DateTime;
            var toDate   = txtDateTo.DateTime;
            var lin      = dgVatReport.SelectedItem as VatReportLine;

            switch (ActionType)
            {
            case "VatReportSpain":
            {
                List <VatReportLine> lst = (List <VatReportLine>)dgVatReport.ItemsSource;
                if (lst == null)
                {
                    return;
                }
                var array = UnicontaClient.Pages.GL.Reports.VatSpain.calc(lst.ToArray());
                AddDockItem(TabControls.VatReportSpain, new object[] { api, array }, "Modelo 303", null, closeIfOpened: true);
                break;
            }

            case "VatReportNorway":
                if (vatReportSum != null)
                {
                    AddDockItem(TabControls.VatReportNorway, new object[] { vatReportSum, fromDate, toDate }, "Mva skattemeldingen", null, closeIfOpened: true);
                }
                break;

            case "VatReportDenmark":
                if (vatReportSum != null)
                {
                    AddDockItem(TabControls.VatReportDenmark, new object[] { api, this.vatReportSum, fromDate, toDate }, "Momsopgørelse", null, closeIfOpened: true);
                }
                break;

            case "VatReportHolland":
                if (vatReportSum != null)
                {
                    AddDockItem(TabControls.VatReportHolland, new object[] { vatReportSum, fromDate, toDate }, "BTW Aangifte", null, closeIfOpened: true);
                }
                break;

            case "VatReportEstonia":
                if (vatReportSum != null)
                {
                    AddDockItem(TabControls.VatReportEstonia, new object[] { vatReportSum, fromDate, toDate }, "KM avaldus", null, closeIfOpened: true);
                }
                break;

            case "VatReportUnitedKingdom":
                if (vatReportSum != null)
                {
                    AddDockItem(TabControls.VatReportUnitedKingdom, new object[] { vatReportSum, fromDate, toDate }, "VAT statement", null, closeIfOpened: true);
                }
                break;

            case "Transactions":
                if (lin?.Account != null)
                {
                    if (string.IsNullOrEmpty(cmbJournal.Text))
                    {
                        var dt = PropValuePair.GenereteWhereElements("Date", fromDate, CompareOperator.GreaterThanOrEqual);
                        dt.OrList[0].SecundaryValue = NumberConvert.ToString(toDate.Ticks);
                        var filter = new PropValuePair[]
                        {
                            dt,
                            PropValuePair.GenereteWhereElements("Account", lin.AccountNumber, CompareOperator.Equal),
                            PropValuePair.GenereteWhereElements("Vat", lin.Vat != null ? lin.Vat._Vat : "null", CompareOperator.Equal)
                        };
                        AddDockItem(TabControls.AccountsTransaction, new object[] { api, filter }, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Transactions"), lin.AccountNumber));
                    }
                    else
                    {
                        string header            = string.Concat(Uniconta.ClientTools.Localization.lookup("AccountStatement"), "/", lin.Account.AccountNumber);
                        var    transactionReport = dockCtrl.AddDockItem(TabControls.TransactionReport, this.ParentControl, new object[] { lin.Account, IdObject.get(true) }, header) as TransactionReport;
                        if (transactionReport != null)
                        {
                            transactionReport.SetControlsAndLoadGLTrans(fromDate, toDate, null, null, null, null, null, cmbJournal.Text);
                        }
                    }
                }
                break;

            case "VatReportIceland":
                if (vatReportSum != null)
                {
                    AddDockItem(TabControls.VatReportIceland, new object[] { vatReportSum, fromDate, toDate }, "VAT statement", null, closeIfOpened: true);
                }
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
        }
Example #5
0
        private void LocalMenu_OnItemClicked(string ActionType)
        {
            var selectedItem = dgProjectMultiLineGrid.SelectedItem as ProjectClient;

            switch (ActionType)
            {
            case "EditRow":
                if (selectedItem != null)
                {
                    string projectHeader = string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Project"), selectedItem._Number);
                    if (dgProjectMultiLineGrid.masterRecords != null)
                    {
                        AddDockItem(TabControls.ProjectPage2, new object[] { selectedItem, dgProjectMultiLineGrid.masterRecord }, projectHeader);
                    }
                    else
                    {
                        AddDockItem(TabControls.ProjectPage2, new object[] { selectedItem, IdObject.get(true) }, projectHeader);
                    }
                }
                break;

            case "DeleteRow":
                dgProjectMultiLineGrid.RemoveFocusedRowFromGrid();
                break;

            case "GenerateInvoice":
                GenerateInvoice();
                break;

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

            case "CreateOrder":
                CreateMulitOrder();
                break;

            case "CreateOrder2":
                CreateMulitOrder(false);
                break;

            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
        }
        private void Generate()
        {
            dgOpenTransactionGrid.tableView.CloseEditor();

            if (selectedInvoices != null && selectedRowIds != null)
            {
                var sb = StringBuilderReuse.Create();
                if (selectedInvoices.Count > 0)
                {
                    sb.Append("I:");
                    foreach (var inv in selectedInvoices)
                    {
                        sb.Append(inv).Append(';');
                    }
                }
                else if (selectedRowIds.Count > 0)
                {
                    sb.Append("R:");
                    foreach (var row in selectedRowIds)
                    {
                        sb.AppendNum(row).Append(';');
                    }
                }

                var len = sb.Length;

                if (len > 0 && sb[len - 1] == ';') // remove the last
                {
                    sb.Length--;
                }

                settlement = sb.ToStringAndRelease();

                if (SelectedJournalLine != null)
                {
                    refreshParams    = new object[6];
                    refreshParams[0] = SelectedJournalLine;
                    refreshParams[1] = settlement;
                    refreshParams[2] = RemainingAmt;
                    refreshParams[3] = RemainingAmtCur;
                    refreshParams[4] = settleCur != 0 ? Enum.GetName(typeof(Currencies), IdObject.get(settleCur)) : null;
                    refreshParams[5] = OffSet;
                }
                else if (SelectedBankStatemenLine != null)
                {
                    refreshParams    = new object[2];
                    refreshParams[0] = SelectedBankStatemenLine;
                    refreshParams[1] = settlement;
                }
                CloseDockItem();
            }
        }