//Add Invoice public async Task <dynamic> AddInvoices(Invoice invoice, SecurityToken token) { var client = new PaymentGateway.IeBizServiceClient(); var data = await client.AddInvoiceAsync(token, invoice); return(data); }
public async Task <EmailResponse> GetEmailPaymentTemplate(EmailDetailModel model) { EmailResponse response = new EmailResponse(); SecurityToken token = await GetSecurityToken(); var client = new PaymentGateway.IeBizServiceClient(); if (!string.IsNullOrEmpty(model.ebizWebForm?.CustomerId)) { try { Customer customer = await client.GetCustomerAsync(token, model.ebizWebForm.CustomerId, ""); model.ebizWebForm.CustFullName = customer.FirstName + " " + customer.LastName; model.customer = customer; } catch (Exception ex) { if (ex.Message.ToString() == "Not Found" && model.customer != null) { Customer customer = new Customer(); customer.CustomerId = model.ebizWebForm.CustomerId; customer.CompanyName = model.ebizWebForm.CustFullName; //model.customer response.Customer = await new CustomerManager().AddNewCustomer(customer, token); model.ebizWebForm.CustomerId = response.Customer.CustomerId; model.ebizWebForm.CustFullName = model.customer.FirstName + " " + model.customer.LastName; model.customer.CustomerInternalId = response.Customer.CustomerInternalId; } } } //ShowViewSalesOrderLink //ShowViewInvoiceLink if (!string.IsNullOrEmpty(model.ebizWebForm?.InvoiceNumber)) { try { var invoice = await client.GetInvoiceAsync(token, model.ebizWebForm.CustomerId, "", model.ebizWebForm.InvoiceNumber, model.ebizWebForm.InvoiceInternalId); model.ebizWebForm.InvoiceNumber = invoice.InvoiceNumber; model.ebizWebForm.InvoiceInternalId = invoice.InvoiceInternalId; } catch (Exception ex) { if (ex.Message.ToString() == "Not Found" && model.invoice != null) { //model.invoice Invoice invoice = new Invoice(); invoice.CustomerId = model.ebizWebForm.CustomerId; invoice.AmountDue = model.ebizWebForm.AmountDue; invoice.InvoiceNumber = model.ebizWebForm?.InvoiceNumber; invoice.InvoiceDueDate = model.ebizWebForm.DueDate?.ToString(); var addinvoice = await client.AddInvoiceAsync(token, invoice); response.Invoice = addinvoice; model.ebizWebForm.InvoiceNumber = invoice.InvoiceNumber; model.ebizWebForm.InvoiceInternalId = addinvoice.InvoiceInternalId; } } } if (!string.IsNullOrEmpty(model.ebizWebForm?.OrderId)) { try { var salesOrder = await client.GetSalesOrderAsync(token, model.ebizWebForm?.CustomerId, model.customer?.CustomerInternalId, model.ebizWebForm?.OrderId, model.salesOrder?.SalesOrderInternalId); model.ebizWebForm.SalesOrderInternalId = salesOrder.SalesOrderInternalId; } catch (Exception ex) { if (ex.Message.ToString() == "Not Found" && model.salesOrder != null) { //model.salesOrder //SalesOrder salesOrder = new SalesOrder(); var addOrder = await client.AddSalesOrderAsync(token, model.salesOrder); response.SalesOrder = addOrder; model.ebizWebForm.SalesOrderInternalId = addOrder.SalesOrderInternalId; } } } var data = await client.GetEbizWebFormURLAsync(token, model.ebizWebForm); response.EbizWebFormLink = data; return(response); }