/// <summary>Sets up the PrintService dialog.</summary> /// <param name="ServiceRow">The service row.</param> /// <param name="ProductsTable">The products table.</param> private async void SetupPrintServiceDialog(DataRowView ServiceRow, DataTable ProductTable) { //ServiceRow Array form: //"ID = 0" //"Kunde ID = 1" //"Dato = 2" //"Antal Gange = 3" //"Betaling = 5" //"Nummer = 6" try { var giro = ServiceRow.Row["Nummer"].ToString().Replace(" ", "").Split('.')[0]; var number = ""; switch (ServiceRow.Row["Nummer"].ToString().Replace(" ", "").Split('.')[1] != null) { case true: { number = ServiceRow.Row["Nummer"].ToString().Replace(" ", "").Split('.')[1]; break; } } ServiceID.Text = ServiceRow.Row["ID"].ToString(); CustomerID.Text = ServiceRow.Row["Kunde ID"].ToString(); Times.Text = ServiceRow.Row["Antal Gange"].ToString(); DateSelect.Text = ServiceRow.Row["Dato"].ToString(); InvoiceNum.Text = number; var date = DateTime.Now.Date; date = date.AddMonths(1); PayDateSelect.Text = date.ToString("dd-MMM-yy"); InvoiceMethod.Items.Add(giro); InvoiceMethod.SelectedIndex = InvoiceMethod.Items.Count - 1; switch (!string.IsNullOrWhiteSpace(ServiceRow.Row["Betaling"].ToString())) { case true: { PaymentMethodText.Items.Add(ServiceRow.Row["Betaling"].ToString()); PaymentMethodText.SelectedIndex = PaymentMethodText.Items.Count - 1; break; } } ProductList.Items.Clear(); switch (ProductTable != null) { case true: { foreach (DataRow row in ProductTable.Rows) { ProductList.Items.Add(new ServiceProduct { ID = row["Produkt ID"].ToString(), Name = row["Produkt Navn"].ToString(), Price = row["Pris"].ToString(), Description = row["Beskrivelse"].ToString() }); } break; } } PrintHelper.CalculatePrice(ProductList, PriceTextBox); await Task.FromResult(true); } catch (Exception ex) { await Task.FromResult(true); Log.Error(ex, "An error occured while setting up the PrintService Dialog"); } }