private void PrintOffer(DebtorOfferClient dbOrder) { InvoiceAPI Invapi = new InvoiceAPI(api); var debtor = dbOrder.Debtor; bool showSendByMail = true; string debtorName; if (debtor != null) { debtorName = debtor._Name ?? dbOrder._DCAccount; showSendByMail = !string.IsNullOrEmpty(debtor.InvoiceEmail); } else if (dbOrder._Prospect == 0) { UtilDisplay.ShowErrorCode(ErrorCodes.AccountIsMissing); return; } else { debtorName = Uniconta.ClientTools.Localization.lookup("Prospect"); showSendByMail = true; } CWGenerateInvoice GenrateOfferDialog = new CWGenerateInvoice(false, Uniconta.ClientTools.Localization.lookup("Offer"), askForEmail: true, showNoEmailMsg: !showSendByMail, debtorName: debtorName, isDebtorOrder: true); #if !SILVERLIGHT GenrateOfferDialog.DialogTableId = 2000000006; #endif GenrateOfferDialog.Closed += async delegate { if (GenrateOfferDialog.DialogResult == true) { var showOrPrintOffer = GenrateOfferDialog.InvoiceQuickPrint || GenrateOfferDialog.ShowInvoice; var invoicePostingResult = new InvoicePostingPrintGenerator(api, this, dbOrder, null, GenrateOfferDialog.GenrateDate, 0, true, CompanyLayoutType.Offer, showOrPrintOffer, GenrateOfferDialog.InvoiceQuickPrint, GenrateOfferDialog.NumberOfPages, GenrateOfferDialog.SendByEmail, GenrateOfferDialog.Emails, GenrateOfferDialog.sendOnlyToThisEmail, false, GenrateOfferDialog.PostOnlyDelivered, null); busyIndicator.BusyContent = Uniconta.ClientTools.Localization.lookup("GeneratingPage"); busyIndicator.IsBusy = true; var result = await invoicePostingResult.Execute(); busyIndicator.IsBusy = false; if (!result) { Utility.ShowJournalError(invoicePostingResult.PostingResult.ledgerRes, dgDebtorOffers); } } }; GenrateOfferDialog.Show(); }
void ConvertOfferToOrder(DebtorOfferClient offerclient) { CwOffertoOrder cwOfferToOrder = new CwOffertoOrder(); #if !SILVERLIGHT cwOfferToOrder.DialogTableId = 2000000044; #endif cwOfferToOrder.Closed += async delegate { if (cwOfferToOrder.DialogResult == true) { var odrApi = new OrderAPI(api); ErrorCodes res = await odrApi.ConvertOfferToOrder(offerclient, cwOfferToOrder.KeepOffer); if (res == ErrorCodes.Succes) { InitQuery(); } UtilDisplay.ShowErrorCode(res); } }; cwOfferToOrder.Show(); }
void InitPage(CrudAPI crudapi, UnicontaBaseEntity master) { RemoveMenuItem(); dAddress.Header = Uniconta.ClientTools.Localization.lookup("DeliveryAddr"); layoutControl = layoutItems; Employeelookupeditor.api = leAccount.api = lePayment.api = cmbDim1.api = cmbDim2.api = cmbDim3.api = cmbDim4.api = cmbDim5.api = leLayoutGroup.api = leInvoiceAccount.api = PriceListlookupeditior.api = leGroup.api = leShipment.api = leDeliveryTerm.api = Projectlookupeditor.api = PrCategorylookupeditor.api = leDeliveryAddress.api = leVat.api = prTasklookupeditor.api = lePrWorkSpace.api = crudapi; #if SILVERLIGHT leRelatedOrder.api = crudapi; #else leRelatedOrder.CrudApi = crudapi; #endif cbDeliveryCountry.ItemsSource = Enum.GetValues(typeof(Uniconta.Common.CountryCode)); AdjustLayout(); if (editrow == null) { frmRibbon.DisableButtons("Delete"); liCreatedTime.Visibility = Visibility.Collapsed; editrow = CreateNew() as DebtorOfferClient; editrow._Created = DateTime.MinValue; if (Debtor != null) { editrow.SetMaster(Debtor); if (editrow.RowId == 0) { SetValuesFromMaster(Debtor); } leAccount.IsEnabled = txtName.IsEnabled = false; } if (Contact != null) { editrow.SetMaster(Contact); editrow.ContactName = Contact.Name; cmbContactName.IsEnabled = false; } editrow.SetMaster(master); // cound be prospect or project } else { BindContact(editrow.Debtor); } if (Prospect != null) { BindContact(Prospect); } if (Contact != null) { BindContact(Contact.Prospect); } layoutItems.DataContext = editrow; frmRibbon.OnItemClicked += frmRibbon_OnItemClicked; AcItem.ButtonClicked += AcItem_ButtonClicked; #if !SILVERLIGHT editrow.PropertyChanged += Editrow_PropertyChanged; #endif this.master = master; if (Prospect != null || Contact != null) { leAccount.IsEnabled = false; AcItem.IsEnabled = false; txtName.IsEnabled = false; txtName.Text = editrow.Name; } if (master == null) { if (crudapi.CompanyEntity.CRM) { LoadType(new Type[] { typeof(Uniconta.DataModel.Debtor), typeof(Uniconta.DataModel.CrmProspect) }); } else { LoadType(typeof(Uniconta.DataModel.Debtor)); } } StartLoadCache(); }
async Task CreateOfferLinesFromInvoice(DebtorOfferClient order, DebtorInvoiceClient invoice, bool checkIfCreditNote) { var offerlines = new List <DebtorOfferLineClient>(); order.OfferLines = offerlines; var invoiceLines = await api.Query <DebtorInvoiceLines>(invoice); if (invoiceLines == null || invoiceLines.Length == 0) { return; } Array.Sort(invoiceLines, new InvLineSort()); offerlines.Capacity = invoiceLines.Length; int lineNo = 0; double sign = checkIfCreditNote ? -1d : 1d; foreach (var invoiceline in invoiceLines) { var line = new DebtorOfferLineClient(); line.SetMaster(order); line._LineNumber = ++lineNo; line._Item = invoiceline._Item; line._DiscountPct = invoiceline._DiscountPct; line._Discount = invoiceline._Discount; line._Qty = invoiceline.InvoiceQty * sign; line._Price = (invoiceline.CurrencyEnum != null ? invoiceline._PriceCur : invoiceline._Price); if (line._Price != 0) { line._Price += invoiceline._PriceVatPart; } if (line._Qty * line._Price == 0) { line._AmountEntered = ((invoiceline.CurrencyEnum != null ? invoiceline._AmountCur : invoiceline._Amount) + invoiceline._PriceVatPart) * sign; } line._Dim1 = invoiceline._Dim1; line._Dim2 = invoiceline._Dim2; line._Dim3 = invoiceline._Dim3; line._Dim4 = invoiceline._Dim4; line._Dim5 = invoiceline._Dim5; line._Employee = invoiceline._Employee; line._Note = invoiceline._Note; line._Text = invoiceline._Text; line._Unit = invoiceline._Unit; line._Variant1 = invoiceline._Variant1; line._Variant2 = invoiceline._Variant2; line._Variant3 = invoiceline._Variant3; line._Variant4 = invoiceline._Variant4; line._Variant5 = invoiceline._Variant5; line._Warehouse = invoiceline._Warehouse; line._Location = invoiceline._Location; var selectedItem = (InvItem)items?.Get(invoiceline._Item); if (selectedItem != null) { line._Item = selectedItem._Item; line._CostPriceLine = selectedItem._CostPrice; if (selectedItem._Unit != 0) { line._Unit = selectedItem._Unit; } } offerlines.Add(line); } dcOrderlineGrid.ItemsSource = debtorOfferLines = null; dcOrderlineGrid.ItemsSource = debtorOfferLines = offerlines; dcOrderlineGrid.Visibility = Visibility.Visible; }
void InitPage(CrudAPI crudapi, UnicontaBaseEntity master) { RemoveMenuItem(); BusyIndicator = busyIndicator; dAddress.Header = Uniconta.ClientTools.Localization.lookup("DeliveryAddr"); layoutControl = layoutItems; Employeelookupeditor.api = leAccount.api = lePayment.api = cmbDim1.api = cmbDim2.api = cmbDim3.api = cmbDim4.api = cmbDim5.api = leLayoutGroup.api = leInvoiceAccount.api = PriceListlookupeditior.api = leGroup.api = leShipment.api = leDeliveryTerm.api = Projectlookupeditor.api = PrCategorylookupeditor.api = leDeliveryAddress.api = crudapi; cbDeliveryCountry.ItemsSource = Enum.GetValues(typeof(Uniconta.Common.CountryCode)); AdjustLayout(); if (editrow == null) { frmRibbon.DisableButtons("Delete"); editrow = CreateNew() as DebtorOfferClient; liCreatedTime.Visibility = Visibility.Collapsed; if (master != null) { editrow.SetMaster(master); if (editrow.RowId == 0) { SetValuesFromMaster(master as Debtor); } leAccount.IsEnabled = txtName.IsEnabled = false; } } else { BindContact(editrow.Debtor); } layoutItems.DataContext = editrow; frmRibbon.OnItemClicked += frmRibbon_OnItemClicked; AcItem.ButtonClicked += AcItem_ButtonClicked; #if !SILVERLIGHT txtDelZipCode.EditValueChanged += TxtDelZipCode_EditValueChanged; #endif this.master = master; if (master is CrmProspectClient) { leAccount.IsEnabled = false; AcItem.IsEnabled = false; txtName.IsEnabled = false; txtName.Text = editrow.Name; } if (master == null) { if (crudapi.CompanyEntity.CRM) { LoadType(new Type[] { typeof(Uniconta.DataModel.Debtor), typeof(Uniconta.DataModel.CrmProspect) }); } else { LoadType(typeof(Uniconta.DataModel.Debtor)); } } StartLoadCache(); }
/// <summary> /// Initialization of DebtorOfferPrintReport /// </summary> /// <param name="debtOffer"></param> /// <param name="api"></param> public DebtorOfferPrintReport(DebtorOfferClient debtOffer, CrudAPI api) { debtorOffer = debtOffer; Debtor = debtOffer.Debtor; crudApi = api; }