public async Task <Result> Billing(OrderBillingRequest request) { var billing = await _orderBillingRepository.Query().FirstOrDefaultAsync(e => e.OrderId == request.OrderId); if (billing != null) { return(Result.Fail(ResultCodes.RequestParamError, "开票申请已提交,无法重复申请。")); } var anyOrder = await _orderRepository.Query().AnyAsync(e => e.Id == request.OrderId); if (!anyOrder) { return(Result.Fail(ResultCodes.IdInvalid, "订单不存在")); } billing = new OrderBilling { OrderId = request.OrderId, BankAccount = request.BankAccount, BankName = request.BankName, CompanyAddress = request.CompanyAddress, Email = request.Email, IsInvoiced = false, TaxNumber = request.TaxNumber, TelePhone = request.TelePhone, Title = request.Title, Createat = DateTime.Now, }; await _orderBillingRepository.InsertAsync(billing); await _adminUserManager.AccountingNotify(new BillingNotify { Title = request.Title }); return(Result.Ok()); }
private async void Button_Clicked(object sender, EventArgs e) { activityIndicator.IsVisible = true; var firstname = first_entry.Text; var lastname = last_entry.Text; var companyname = company_entry.Text; var country = country_entry.Text; var address1 = address1_entry.Text; var address2 = address2_entry.Text; var city = suburb_entry.Text; string state = state_picker.Items[state_picker.SelectedIndex]; var postcode = postcode_entry.Text; var phone = phone_entry.Text; var email = email_entry.Text; var note = note_entry.Text; if (String.IsNullOrWhiteSpace(firstname) || String.IsNullOrWhiteSpace(lastname) || String.IsNullOrWhiteSpace(lastname) || String.IsNullOrWhiteSpace(address1) || String.IsNullOrWhiteSpace(city) || String.IsNullOrWhiteSpace(postcode) || String.IsNullOrWhiteSpace(phone) || String.IsNullOrWhiteSpace(email)) { await DisplayAlert("Error", "Please input all the required fields.", "OK"); activityIndicator.IsVisible = false; return; } content.IsVisible = false; if (getways.Count <= 0) { return; } var getway = getways[payment_picker.SelectedIndex]; OrderBilling billing = new OrderBilling { first_name = firstname, last_name = lastname, company = companyname, address_1 = address1, address_2 = address2, city = city, state = state, postcode = postcode, phone = phone, email = email }; OrderShipping shipping = new OrderShipping { first_name = firstname, last_name = lastname, company = companyname, address_1 = address1, address_2 = address2, city = city, state = state, postcode = postcode }; Order order = new Order { payment_method = getway.id, payment_method_title = getway.method_title, set_paid = true, billing = billing, shipping = shipping, line_items = lineItemsList, shipping_lines = shippingLinesList, customer_note = note }; try { var response = await App.wc.Order.Add(order); await Navigation.PushModalAsync(new CheckoutPage(response)); await Navigation.PopAsync(); } catch (Exception ex) { Debug.WriteLine("ERROR {0}", ex.Message); activityIndicator.IsVisible = false; content.IsVisible = true; await DisplayAlert("Error", "Could not place the order. Please check you input and try again.", "Ok"); } }