private CustomerTransactionRequest Batch_createCustomRequest(SAPbobsCOM.Documents doc) { CustomerTransactionRequest req = new CustomerTransactionRequest(); try { req.ClientIP = getIP(); req.CustReceipt = cfgsendCustomerEmail == "Y" ? true : false; //true; req.MerchReceipt = true; //true; req.MerchReceiptEmail = cfgmerchantEmail; req.Details = new TransactionDetail(); req.Details.Clerk = oCompany.UserName; req.Details.AllowPartialAuth = true; req.Details.Amount = Math.Round(doc.DocTotal, 2); req.Details.Discount = Math.Round(doc.TotalDiscount, 2); req.Details.Shipping = getShipping(doc); req.Details.Tax = doc.VatSum; req.Details.Invoice = doc.DocNum.ToString(); req.Details.OrderID = GetSalesOrderDocNum(req.Details.Invoice); req.Details.PONum = doc.NumAtCard; if (req.Details.PONum == "" || req.Details.PONum == null) { req.Details.PONum = doc.DocNum.ToString(); } req.Details.ShipFromZip = getZipFromAddr(doc.Address2); req.Details.Description = doc.Comments; req.Details.Subtotal = 0; // req.Details.Subtotal = Math.Round(req.Details.Amount - (req.Details.Shipping + req.Details.Tax - req.Details.Discount), 2); SAPbobsCOM.Document_Lines olines = doc.Lines; req.LineItems = new LineItem[olines.Count]; for (int i = 0; i < olines.Count; i++) { olines.SetCurrentLine(i); req.LineItems[i] = new LineItem(); req.LineItems[i].CommodityCode = merchantData.ItemCommodityCode == null ? olines.ItemCode : merchantData.ItemCommodityCode; req.LineItems[i].Qty = olines.Quantity.ToString(); req.LineItems[i].UnitPrice = olines.Price.ToString(); req.LineItems[i].ProductName = olines.ItemDescription; req.LineItems[i].UnitOfMeasure = "EACH"; req.LineItems[i].SKU = olines.ItemCode; req.LineItems[i].CommodityCode = olines.ItemCode; req.LineItems[i].Taxable = true; //req.LineItems[i].TaxableSpecified = true; req.LineItems[i].TaxRate = olines.TaxPercentagePerRow.ToString(); } } catch (Exception ex) { errorLog(ex); } return(req); }
public int job_createInvoice(SAPbobsCOM.Documents oRefDoc, CCJOB job) { try { SAPbobsCOM.Documents oDoc = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices); oDoc.DocNum = getNextTableNum("OINV"); oDoc.CardCode = oRefDoc.CardCode; oDoc.CardName = oRefDoc.CardName; oDoc.DocDueDate = DateTime.Now.AddDays(5); oDoc.DocDate = DateTime.Now; oDoc.Comments = "Created by eBizCharge Job base on order entry: " + oRefDoc.DocEntry; SAPbobsCOM.Document_Lines olines = oRefDoc.Lines; double total = 0; oDoc.DocType = oRefDoc.DocType; for (int i = 0; i < olines.Count; i++) { olines.SetCurrentLine(i); if (oRefDoc.DocType == SAPbobsCOM.BoDocumentTypes.dDocument_Items) { oDoc.Lines.ItemCode = olines.ItemCode; oDoc.Lines.SerialNum = olines.SerialNum; oDoc.Lines.Quantity = olines.Quantity; oDoc.Lines.Price = olines.Price; oDoc.Lines.DiscountPercent = olines.DiscountPercent; } else { oDoc.Lines.AccountCode = olines.AccountCode; } oDoc.Lines.ItemDescription = olines.ItemDescription; oDoc.Lines.TaxCode = olines.TaxCode; oDoc.Lines.LineTotal = olines.LineTotal; oDoc.Lines.Add(); total += olines.LineTotal; } int r = oDoc.Add(); if (r != 0) { string err = string.Format("Job create invoice failed. JobID:{0};OrderID:{1}\r\n", job.jobID, job.OrderID) + getErrorString(); errorLog(err); job.Result = err; job.LastRunDate = DateTime.Today; update(job); return 0; } return getNextTableID("OINV") - 1; } catch (Exception ex) { errorLog(ex); } return 0; }
public void addePayInvoice(SAPbouiCOM.Matrix oMatrix, int i) { try { string invnum = getMatrixItem(oMatrix, "DocNum", i); string custid = getMatrixItem(oMatrix, "CustID", i); string invid = getMatrixItem(oMatrix, "InvID", i); string balance = getMatrixItem(oMatrix, "Balance", i); string name = getMatrixItem(oMatrix, "CName", i); string email = getMatrixItem(oMatrix, "E_Mail", i); SBO_Application.SetStatusBarMessage(string.Format("Sending invoice: {0} to customer: {1}. Balance:{2}. Please wait...", invid, name, balance), SAPbouiCOM.BoMessageTime.bmt_Medium, false); SAPbobsCOM.Documents oDoc = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices); if (!oDoc.GetByKey(int.Parse(invid))) { errorLog("Inv not found: " + invid); return; } SecurityToken securityToken = getToken(); string detail = "<table>"; SAPbobsCOM.Document_Lines olines = oDoc.Lines; for (int n = 0; n < olines.Count; n++) { olines.SetCurrentLine(n); detail += string.Format("<tr><td nowrap>{0}<td><td> {1} X {2}</td></tr>", olines.ItemDescription, olines.Quantity, olines.Price); } detail += "</table>"; EbizWebForm pf = new EbizWebForm(); pf.Clerk = oCompany.UserName; pf.AmountDue = Decimal.Parse(balance); pf.TotalAmount = Decimal.Parse(balance); pf.CustFullName = name; pf.EmailAddress = email; pf.EmailNotes = "SAP email payment form"; pf.EmailSubject = cfgEmailSubject.Replace("[CUSTOMER]", name).Replace("[INVOICE]", invnum); pf.FromEmail = cfgmerchantEmail; pf.CustomerId = custid; pf.InvoiceNumber = invnum; pf.Description = detail; pf.EmailTemplateName = getFormItemVal(oePaymentFormForm, cbEMTemplate); pf.SendEmailToCustomer = true; string url = ebiz.GetEbizWebFormURL(securityToken, pf); List <CCPayFormInvoice> q = findCCPayFormInvoice(string.Format(" where \"U_InvoiceGUID\" = '{0}' and \"U_CustomerID\" = '{1}' ", invid, custid)); if (q.Count() == 0) { CCPayFormInvoice ccinv = new CCPayFormInvoice(); ccinv.CustomerID = custid; ccinv.InvoiceID = invnum; ccinv.InvoiceGUID = invid; ccinv.UploadedBalance = balance; ccinv.Status = EPAY_STATUS_SENT; ccinv.UploadDate = DateTime.Today; insert(ccinv); } SBO_Application.SetStatusBarMessage(string.Format("Invoice: {0} sent to customer: {1}. Balance:{2}.", invid, custid, balance), SAPbouiCOM.BoMessageTime.bmt_Medium, false); } catch (Exception ex) { errorLog(ex); } }
private CustomerTransactionRequest job_createCustomRequest(CCJOB job, SAPbobsCOM.Documents oDoc, string amt ="") { CustomerTransactionRequest req = new CustomerTransactionRequest(); try { req.CustReceipt = cfgsendCustomerEmail == "Y" ? true : false; // req.CustReceiptSpecified = false; //true; req.MerchReceipt = true; // req.MerchReceiptSpecified = false; //true; req.MerchReceiptEmail = cfgmerchantEmail; req.CustReceiptName = "vterm_customer"; req.MerchReceiptName = cfgMerchantReceipt; req.ClientIP = getIP(); req.Details = new TransactionDetail(); req.Details.AllowPartialAuth = true; if(amt == "" && oDoc != null) req.Details.Amount = oDoc.DocTotal; else req.Details.Amount = getDoubleValue(amt); req.Details.Discount = 0; req.Details.Shipping = 0; req.Details.Tax = 0; string invID = "RB000"; if(oDoc!= null) invID = oDoc.DocNum.ToString(); req.Details.Invoice = invID; req.Details.OrderID = invID; req.Details.PONum = invID; req.Details.Description =job.Description; req.Details.Subtotal = 0; // req.Details.Amount; if (oDoc != null) { SAPbobsCOM.Document_Lines olines = oDoc.Lines; req.LineItems = new LineItem[olines.Count]; for (int i = 0; i < olines.Count; i++) { olines.SetCurrentLine(i); req.LineItems[i] = new LineItem(); req.LineItems[i].CommodityCode = olines.ItemCode; req.LineItems[i].SKU = olines.ItemCode; req.LineItems[i].Qty = olines.Quantity.ToString(); req.LineItems[i].UnitPrice = olines.UnitPrice.ToString(); req.LineItems[i].TaxRate = olines.TaxCode; req.LineItems[i].ProductName = olines.ItemDescription; req.LineItems[i].DiscountRate = ""; req.LineItems[i].UnitOfMeasure = "EACH"; } }else { req.LineItems = new LineItem[1]; req.LineItems[0] = new LineItem(); req.LineItems[0].CommodityCode = "000"; req.LineItems[0].Qty = "1"; req.LineItems[0].UnitPrice = amt; req.LineItems[0].TaxRate = ""; req.LineItems[0].ProductName = "eBizCharge SAP Recurring Billing On Account"; req.LineItems[0].DiscountRate = ""; req.LineItems[0].UnitOfMeasure = "EACH"; req.LineItems[0].SKU = "SKU1"; } } catch (Exception ex) { errorLog(ex); } return req; }