} // SaveApiCall public AlibabaSaleContractActionResult SaleContract(AlibabaContractDto dto) { SaleContract instance; ExecuteSync(out instance, null, null, dto); return new AlibabaSaleContractActionResult { Result = instance.Result }; } // SaveApiCall
public async Task <IHttpActionResult> GetAlibabaPaymentRequest([FromBody] AlibabaContractDto data) { Trace.TraceError(data.ToString()); try { ServiceClient client = new ServiceClient(); AlibabaSaleContractResult result = client.Instance.SaleContract(data).Result; string url = ActionContext.Request.RequestUri.ToString(); var response = new AlibabaDto() { requestId = data.requestId, responseId = data.responseId, aId = data.aId, aliMemberId = data.aliMemberId, url = url }; if (result.aId == null && result.aliMemberId == null) { response.errCode = AlibabaErrorCode.SYSTEM_CUSTOMER_ID_ALI_MEMBER_ID_MISMATCH; response.errMsg = AlibabaErrorCode.SYSTEM_CUSTOMER_ID_ALI_MEMBER_ID_MISMATCH.DescriptionAttr(); Helper.SaveApiLog <AlibabaContractDto, AlibabaDto>(data, response, data.requestId, data.aId, "400", "", response.errCode.DescriptionAttr(), response.errMsg, response.url, ActionContext.Request.Headers); return(BadRequest(response.errMsg)); } // customerID not found in system DB if (result.aId == null) { response.errCode = AlibabaErrorCode.SYSTEM_CUSTOMER_ID_NOT_FOUND; response.errMsg = AlibabaErrorCode.SYSTEM_CUSTOMER_ID_NOT_FOUND.DescriptionAttr(); Helper.SaveApiLog <AlibabaContractDto, AlibabaDto>(data, response, data.requestId, data.aId, "400", "", response.errCode.DescriptionAttr(), response.errMsg, response.url, ActionContext.Request.Headers); return(BadRequest(response.errMsg)); } // ali memberID not found in system DB if (result.aliMemberId == null) { response.errCode = AlibabaErrorCode.SYSTEM_ALI_MEMBER_ID_NOT_FOUND; response.errMsg = AlibabaErrorCode.SYSTEM_ALI_MEMBER_ID_NOT_FOUND.DescriptionAttr(); Helper.SaveApiLog <AlibabaContractDto, AlibabaDto>(data, response, data.requestId, data.aId, "400", "", response.errCode.DescriptionAttr(), response.errMsg, response.url, ActionContext.Request.Headers); return(BadRequest(response.errMsg)); } Helper.SaveApiLog <AlibabaContractDto, AlibabaDto>(data, response, data.requestId, data.aId, "200", "", response.errCode.DescriptionAttr(), response.errMsg, response.url, this.ActionContext.Request.Headers); return(Ok(response)); } catch (Exception e) { Trace.TraceError(DateTime.UtcNow + ": " + e); return(InternalServerError()); } }
public void FixtureInit() { this.model = new AlibabaContractDto { requestId = "142857", responseId = "543", loanId = 24314474, orderNumber = "23456780", sellerBusinessName = "Dabao Trading Ltd.", sellerAliMemberId = "41523", sellerStreet1 = "128 Xihu Road", sellerCity = "Hangzhou", sellerState = "Zhejiang", sellerCountry = "China", sellerPostalCode = "310016", sellerAuthRepFname = "Hong", sellerAuthRepLname = "Zhang", sellerPhone = "865218526", sellerFax = "865218526", sellerEmail = "*****@*****.**", buyerBusinessName = "A PLAZA DRIVING SCHOOL", aliMemberId = 131, aId = "0170363", buyerStreet1 = "926 E LEWELLING BLVD", buyerCity = "HAYWARD", buyerState = "CA", buyerCountry = "U.S.A", buyerZip = "94541", buyerAuthRepFname = "MICHAEL", buyerAuthRepLname = "ARTE", buyerPhone = "415222444", buyerEmail = "*****@*****.**", shippingMark = "WT12345678", totalOrderAmount = 88000, deviationQuantityAllowed = 20, orderAddtlDetails = "", shippingTerms = "asd", shippingDate = new DateTime(2015, 03, 01), loadingPort = "Shanghai", destinationPort = "Oakland,CA", orderDeposit = 1000, beneficiaryBank = "Bank of China", bankAccountNumber = 1234567890, bankStreetAddr1 = "108 Ganjiang Road", bankCity = "Hangzhou", bankState = "Zhejiang", bankCountry = "China", bankPostalCode = "310020", swiftcode = "ADBNCNBJCD1", orderCurrency = "gbp", orderItems = new OrderItems[] { new OrderItems() { orderProdNumber = 0105, productName = "Battery", productSpecs = "AAA", productQuantity = 20000, productUnit = 6, productUnitPrice = 2, productTotalAmount = 48000 }, new OrderItems() { orderProdNumber = 0106, productName = "Screw", productSpecs = "Phillips", productQuantity = 50000, productUnit = 100, productUnitPrice = 8, productTotalAmount = 40000 } } }; }
public SaleContract(AlibabaContractDto dto) { this.contract = dto; this.Result = new AlibabaSaleContractResult(); }
private AlibabaContract Parse(AlibabaContractDto Data) { int?customerID = DB.ExecuteScalar <int?>( "CustomerIdByRefNum", CommandSpecies.StoredProcedure, new QueryParameter("CustomerRefNum", Data.aId) ); if (customerID == null) { Log.Alert("Customer with refnumber {0} not found", Data.aId); this.Result.aId = null; return(null); } DB.FillFirst( this.Result, "LoadSaleContractResult", CommandSpecies.StoredProcedure, new QueryParameter("CustomerId", customerID), new QueryParameter("AliMemberId", Data.aliMemberId) ); if (this.Result.aliMemberId == null) { Log.Alert("aliMemberId {0} for customer refnum {1} not found", Data.aliMemberId, Data.aId); return(null); } var Res = new AlibabaContract(); Res.Buyer.CustomerId = (int)customerID; // contract TryRead(() => Res.RequestId = Data.requestId); TryRead(() => Res.LoanId = Data.loanId); TryRead(() => Res.OrderNumber = Data.orderNumber); TryRead(() => Res.ShippingMark = Data.shippingMark); TryRead(() => Res.TotalOrderAmount = Data.totalOrderAmount); TryRead(() => Res.DeviationQuantityAllowed = Data.deviationQuantityAllowed); TryRead(() => Res.OrderAddtlDetails = Data.orderAddtlDetails); TryRead(() => Res.ShippingTerms = Data.shippingTerms); Res.ShippingDate = TryReadDate(() => Data.shippingDate); TryRead(() => Res.LoadingPort = Data.loadingPort); TryRead(() => Res.DestinationPort = Data.destinationPort); TryRead(() => Res.TACoveredAmount = Data.taCoveredAmount); TryRead(() => Res.OrderDeposit = Data.orderDeposit); TryRead(() => Res.OrderBalance = Data.orderBalance); TryRead(() => Res.OrderCurrency = Data.orderCurrency); TryRead(() => Res.CommercialInvoice = Data.attachmentCommercialInvoice); TryRead(() => Res.BillOfLading = Data.attachmentBillOfLading); TryRead(() => Res.PackingList = Data.attachmentPackingList); TryRead(() => Res.Other = Data.attachmentOther); TryRead(() => Res.Seller.BusinessName = Data.sellerBusinessName); TryRead(() => Res.Seller.AliMemberId = Data.sellerAliMemberId); TryRead(() => Res.Seller.Street1 = Data.sellerStreet1); TryRead(() => Res.Seller.Street2 = Data.sellerStreet2); TryRead(() => Res.Seller.City = Data.sellerCity); TryRead(() => Res.Seller.State = Data.sellerState); TryRead(() => Res.Seller.Country = Data.sellerCountry); TryRead(() => Res.Seller.PostalCode = Data.sellerPostalCode); TryRead(() => Res.Seller.AuthRepFname = Data.sellerAuthRepFname); TryRead(() => Res.Seller.AuthRepLname = Data.sellerAuthRepLname); TryRead(() => Res.Seller.Phone = Data.sellerPhone); TryRead(() => Res.Seller.Fax = Data.sellerFax); TryRead(() => Res.Seller.Email = Data.sellerEmail); TryRead(() => Res.Seller.GoldSupplierFlag = Data.goldSupplierFlag); TryRead(() => Res.Seller.TenureWithAlibaba = Data.supplierTenureWithAlibaba); Res.Seller.BusinessStartDate = TryReadDate(() => Data.supplierBusinessStartDate); TryRead(() => Res.Seller.Size = Data.supplierSize); TryRead(() => Res.Seller.suspiciousReportCountCounterfeitProduct = Data.suspiciousReportCountCounterfeitProduct); TryRead(() => Res.Seller.suspiciousReportCountRestrictedProhibitedProduct = Data.suspiciousReportCountRestrictedProhibitedProduct); TryRead(() => Res.Seller.suspiciousReportCountSuspiciousMember = Data.suspiciousReportCountSuspiciousMember); TryRead(() => Res.Seller.ResponseRate = Data.supplierResponseRate); Res.Seller.GoldMemberStartDate = TryReadDate(() => Data.supplierGoldMemberStartDate); TryRead(() => Res.Seller.QuotationPerformance = Data.quotationPerformance); TryRead(() => Res.Seller.Bank.BeneficiaryBank = Data.beneficiaryBank); TryRead(() => Res.Seller.Bank.StreetAddr1 = Data.bankStreetAddr1); TryRead(() => Res.Seller.Bank.StreetAddr2 = Data.bankStreetAddr2); TryRead(() => Res.Seller.Bank.City = Data.bankCity); TryRead(() => Res.Seller.Bank.State = Data.bankState); TryRead(() => Res.Seller.Bank.Country = Data.bankCountry); TryRead(() => Res.Seller.Bank.PostalCode = Data.bankPostalCode); TryRead(() => Res.Seller.Bank.SwiftCode = Data.swiftcode); TryRead(() => Res.Seller.Bank.AccountNumber = Data.bankAccountNumber); TryRead(() => Res.Seller.Bank.WireInstructions = Data.otherWireInstructions); if (Data.orderItems != null) { for (int i = 0; i < Data.orderItems.Length; i++) { var item = new AlibabaContractItem(); TryRead(() => item.OrderProdNumber = Data.orderItems[i].orderProdNumber); TryRead(() => item.ProductName = Data.orderItems[i].productName); TryRead(() => item.ProductSpecs = Data.orderItems[i].productSpecs); TryRead(() => item.ProductQuantity = Data.orderItems[i].productQuantity); TryRead(() => item.ProductUnit = Data.orderItems[i].productUnit); TryRead(() => item.ProductUnitPrice = Data.orderItems[i].productUnitPrice); TryRead(() => item.ProductTotalAmount = Data.orderItems[i].productTotalAmount); Res.Items.Add(item); } } TryRead(() => Res.Buyer.AliId = Data.aliMemberId); TryRead(() => Res.Buyer.BussinessName = Data.buyerBusinessName); TryRead(() => Res.Buyer.street1 = Data.buyerStreet1); TryRead(() => Res.Buyer.street2 = Data.buyerStreet2); TryRead(() => Res.Buyer.City = Data.buyerCity); TryRead(() => Res.Buyer.State = Data.buyerState); TryRead(() => Res.Buyer.Zip = Data.buyerZip); TryRead(() => Res.Buyer.Country = Data.buyerCountry); TryRead(() => Res.Buyer.AuthRepFname = Data.buyerAuthRepFname); TryRead(() => Res.Buyer.AuthRepLname = Data.buyerAuthRepLname); TryRead(() => Res.Buyer.Phone = Data.buyerPhone); TryRead(() => Res.Buyer.Fax = Data.buyerFax); TryRead(() => Res.Buyer.Email = Data.buyerEmail); TryRead(() => Res.Buyer.OrderRequestCountLastYear = Data.buyerOrderRequestCountLastYear); TryRead(() => Res.Buyer.ConfirmShippingDocAndAmount = Data.buyerConfirmShippingDocAndAmount); TryRead(() => Res.Buyer.FinancingType = Data.financingType); TryRead(() => Res.Buyer.ConfirmReleaseFunds = Data.buyerConfirmReleaseFunds); return(Res); }