private GdoOrderEmailSendData_V01 getDataDeclinedEmailConfirmation(Order order, string emailType, string orderNumber) { var member = (MembershipUser <DistributorProfileModel>)Membership.GetUser(); ////Get the order items GdoOrderEmailSendData_V01 orderData = null; orderData = new GdoOrderEmailSendData_V01() { //Dummy Data EmailType = emailType, OrderId = orderNumber,// "0199", Locale = order.Locale, Distributor = new Distributor { Contact = new ContactInfo { Email = order.Email, PhoneNumber = order.Shipment.Phone }, DistributorId = order.DistributorID, FirstName = member.Value.FirstName, LastName = member.Value.LastName, Locale = order.Locale, MiddleName = member.Value.MiddleName }, OrderSubmittedDate = order.ReceivedDate, OrderSubmittedDateSpecified = true }; orderData.Messages = this.GetOrderMessages(order, orderNumber).ToArray(); return(orderData); }
private GdoPaymentTypes GetPaymentType(Order order) { var code = order.Payments.Select(x => x.PaymentCode).FirstOrDefault(); //generic codes for CC if (code == "MC" || code == "AX" || code == "VI") { return(GdoPaymentTypes.CreditCard); } return(GdoPaymentTypes.Wire); }
private GenericAddress GetAddress(Order order) { var address = order.Shipment.Address; var genericAddress = address != null ? new GenericAddress { City = address.City ?? string.Empty, Country = address.Country ?? string.Empty, CountyDistrict = address.CountyDistrict ?? string.Empty, Line1 = address.Line1 ?? string.Empty, Line2 = address.Line2 ?? string.Empty, Line3 = address.Line3 ?? string.Empty, Line4 = address.Line4 ?? string.Empty, State = address.StateProvinceTerritory ?? string.Empty, Zip = address.PostalCode ?? string.Empty } : null; return(genericAddress); }
private List <PaymentInfo> GetOrderPayments(Order order, string orderNumber) { List <PaymentInfo> listPayment = new List <PaymentInfo>(); foreach (var payment in order.Payments) { var newpayment = new PaymentInfo { Authorization = payment.AuthNumber ?? string.Empty, Amount = payment.Amount, BankName = payment.BankName ?? string.Empty, CardNumber = payment.AccountNumber ?? string.Empty, CardType = payment.PaymentCode ?? string.Empty, ExpirationDate = payment.Expiration.ToString(), Installments = payment.NumberOfInstallments.ToString(), FirstName = payment.NameOnAccount ?? string.Empty, LastName = string.Empty, PaymentCode = payment.PaymentCode ?? string.Empty, TransactionType = payment.TransactionType ?? string.Empty }; listPayment.Add(newpayment); } return(listPayment); }
private List <TriggeredGDOOrderConfirmationOrderLine> GetOrderSkus(Order order, string orderNumber) { var orderSkus = new List <TriggeredGDOOrderConfirmationOrderLine>(); foreach (var sku in order.OrderItems) { var toAdd = new TriggeredGDOOrderConfirmationOrderLine_V01() { OrderID = orderNumber, //order.OrderID, DistributorCost = Convert.ToDecimal(sku.DistributorCost), EarnBase = Convert.ToDecimal(sku.EarnBase), Flavor = sku.Flavor ?? string.Empty, ItemDescription = sku.ItemDescription ?? string.Empty, LineTotal = Convert.ToDecimal(sku.LineTotal), PriceWithCharges = Convert.ToDecimal(sku.PriceWithCharges), Quantity = sku.Quantity, SkuId = sku.SKU, UnitPrice = Convert.ToDecimal(sku.UnitPrice), VolumePoints = Convert.ToDecimal(sku.VolumePoints) }; orderSkus.Add(toAdd); } return(orderSkus); }
public SerializedOrderHolder(BTOrder btOrder, Order order) { BTOrder = btOrder; Order = order; }
public bool ValidateOrders(Order previousOrder, Order newOrder) { return(OrderProvider.ValidateOrders(previousOrder, newOrder)); }
private GdoOrderEmailSendData_V01 getDataEmailConfirmation(Order order, string emailType, string orderNumber) { var member = (MembershipUser <DistributorProfileModel>)Membership.GetUser(); GdoOrderEmailSendData_V01 orderData = null; if (order.EmailInfo == null) { order.EmailInfo = new ServiceProvider.SubmitOrderBTSvc.EmailInfo(); } orderData = new GdoOrderEmailSendData_V01() { EmailType = emailType, OrderId = orderNumber, PaymentType = GetPaymentType(order), BillingAddress = GetAddress(order), DataKey = orderNumber, DeliveryTimeEstimated = order.EmailInfo.DeliveryTimeEstimated ?? string.Empty, Distributor = new Distributor { Contact = new ContactInfo { Email = order.Email, PhoneNumber = order.Shipment.Phone }, DistributorId = order.DistributorID, FirstName = member.Value.FirstName, LastName = member.Value.LastName, Locale = order.Locale, MiddleName = member.Value.MiddleName, }, Shipment = new Shipment { FirstName = order.Shipment.Recipient, LastName = "", MiddleName = "", PickupName = order.Shipment.Recipient, ShippingDate = DateTime.Now, ShippingMethod = order.Shipment.ShippingMethodID }, ShippingAddress = GetAddress(order), SpecialInstructions = order.EmailInfo.SpecialInstructions ?? string.Empty, Payments = GetOrderPayments(order, orderNumber).ToArray(), GrandTotal = order.Pricing.AmountDue, OrderMonth = order.OrderMonth, OrderSubmittedDate = DateTime.Parse(DateUtils.GetCurrentLocalTime(order.Locale).ToString()), OrderSubmittedDateSpecified = true, Tax = order.Pricing.TaxAmount, Logistics = Convert.ToDecimal(order.Pricing.LogisticsCharge), ICMS = Convert.ToDecimal(order.Pricing.IcmsTax), IPI = Convert.ToDecimal(order.Pricing.IpiTax), TotalCollateralRetail = Convert.ToDecimal(order.Pricing.TotalCollateralRetail), TotalDiscountAmount = Convert.ToDecimal(order.Pricing.DiscountedItemsTotal), TotalDiscountPercentage = Convert.ToDecimal(order.DiscountPercentage), PickupLocation = order.EmailInfo.PickUpLocation, PickupTime = string.Empty, TotalDiscountRetail = Convert.ToDecimal(order.Pricing.TotalCollateralRetail), TotalEarnBase = Convert.ToDecimal("0"),// calculated value TotalPackagingHandling = order.Pricing.PHAmount, TotalProductRetail = Convert.ToDecimal(order.Pricing.TotalProductRetail), TotalRetail = Convert.ToDecimal(order.Pricing.TotalProductRetail), TotalPromotionalRetail = Convert.ToDecimal(order.Pricing.TotalPromotionalRetail), TotalVolumePoints = order.Pricing.VolumePoints, VolumePointsRate = order.Pricing.VolumePointsRate ?? string.Empty, ShippingHandling = order.Pricing.PHAmount, InvoiceOption = order.EmailInfo.InvoiceOption, MarketingFund = Convert.ToDecimal(order.Pricing.TotalMarketingFund), PaymentOption = order.EmailInfo.PaymentOption, LocalTaxCharge = Convert.ToDecimal(order.Pricing.LocalTaxCharge), TaxedNet = Convert.ToDecimal(order.Pricing.TaxedNet), PurchaseType = order.EmailInfo.PurchaseType ?? string.Empty,// HttpContext.GetGlobalResourceObject(string.Format("{0}_Rules", HLConfigManager.Platform),order.PurchaseCategory.ToString(), CultureInfo.CurrentCulture)as string HFFMessage = order.EmailInfo.HffMessage ?? string.Empty, Locale = order.Locale, Messages = GetOrderMessages(order, orderNumber).ToArray() }; orderData.OrderLines = GetOrderSkus(order, orderNumber).ToArray(); return(orderData); }
private List <Message> GetOrderMessages(Order order, string orderNumber) { var listMsg = new List <Message>(); ResponseContext _responseContext; if (null != order.Messages) { listMsg.AddRange(order.Messages.Select(msg => new Message() { MessageType = msg.MessageType, MessageValue = msg.MessageValue })); } if (order.Locale == "sr-RS") { try { string paymentGatewayLogs = string.Empty; StringBuilder text = new StringBuilder(); PaymentGatewayRecordStatusType orderStatus = OrderProvider.GetPaymentGatewayRecordStatus(orderNumber); if (orderStatus == PaymentGatewayRecordStatusType.Declined) { paymentGatewayLogs = OrderProvider.GetPaymentGatewayLog(orderNumber, PaymentGatewayLogEntryType.Response).Where(l => l.Contains("Error:=") || l.Contains("result:=") || l.Contains("Error=") || l.Contains("result=")).FirstOrDefault(); if (!string.IsNullOrEmpty(paymentGatewayLogs)) { _responseContext = new ResponseContext(paymentGatewayLogs); if (_responseContext.PostedValues.AllKeys.Contains("Error")) { if (!string.IsNullOrEmpty(_responseContext.PostedValues["paymentid"])) { text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "PaymentCode").ToString()) + " " + _responseContext.PostedValues["paymentid"] + "|"); text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "TransactionCode").ToString()) + " |"); } } else if (_responseContext.PostedValues.AllKeys.Contains("result")) { if (!string.IsNullOrEmpty(_responseContext.PostedValues["paymentid"])) { text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "PaymentCode").ToString()) + " " + _responseContext.PostedValues["paymentid"] + "|"); } if (!string.IsNullOrEmpty(_responseContext.PostedValues["tranid"])) { text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "TransactionCode").ToString()) + " " + _responseContext.PostedValues["tranid"] + "|"); } } listMsg.Add(new Message { MessageType = "aditionalInformation", MessageValue = text.ToString() }); } } else { paymentGatewayLogs = OrderProvider.GetPaymentGatewayLog(orderNumber, PaymentGatewayLogEntryType.Response).Where(l => l.Contains("QueryString: Agency=NestPay") || l.Contains("QueryString: Agency:=NestPay")).FirstOrDefault(); if (!string.IsNullOrEmpty(paymentGatewayLogs)) { _responseContext = new ResponseContext(paymentGatewayLogs); if (_responseContext.PostedValues.AllKeys.Contains("oid")) { // order ID if (!string.IsNullOrEmpty(_responseContext.PostedValues["oid"])) { text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "OrderIdForMail").ToString()) + " " + _responseContext.PostedValues["oid"] + "|"); } // Authorization Code if (!string.IsNullOrEmpty(_responseContext.PostedValues["AuthCode"])) { text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "AuthCode").ToString()) + " " + _responseContext.PostedValues["AuthCode"] + "|"); } // Payment Status if (!string.IsNullOrEmpty(_responseContext.PostedValues["Response"])) { text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "PaymentStatus").ToString()) + " " + _responseContext.PostedValues["Response"] + "|"); } // Transaction Status Code if (!string.IsNullOrEmpty(_responseContext.PostedValues["ProcReturnCode"])) { text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "TransactionStatusCode").ToString()) + " " + _responseContext.PostedValues["ProcReturnCode"] + "|"); } // Transaction ID if (!string.IsNullOrEmpty(_responseContext.PostedValues["TransId"])) { text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "TransactionId").ToString()) + " " + _responseContext.PostedValues["TransId"] + "|"); } // Transaction Date if (!string.IsNullOrEmpty(_responseContext.PostedValues["EXTRA.TRXDATE"])) { text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "TransactionDate").ToString()) + " " + _responseContext.PostedValues["EXTRA.TRXDATE"] + "|"); } // Status code for the 3D transaction if (!string.IsNullOrEmpty(_responseContext.PostedValues["mdStatus"])) { text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "Transaction3DStatus").ToString()) + " " + _responseContext.PostedValues["mdStatus"] + "|"); } } listMsg.Add(new Message { MessageType = "aditionalInformation", MessageValue = text.ToString() }); } else { paymentGatewayLogs = OrderProvider.GetPaymentGatewayLog(orderNumber, PaymentGatewayLogEntryType.Response).Where(l => l.Contains("result=CAPTURED") || l.Contains("result:=CAPTURED")).FirstOrDefault(); if (!string.IsNullOrEmpty(paymentGatewayLogs)) { _responseContext = new ResponseContext(paymentGatewayLogs); if (_responseContext.PostedValues.AllKeys.Contains("result")) { if (!string.IsNullOrEmpty(_responseContext.PostedValues["paymentid"])) { text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "PaymentCode").ToString()) + " " + _responseContext.PostedValues["paymentid"] + "|"); } if (!string.IsNullOrEmpty(_responseContext.PostedValues["tranid"])) { text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "TransactionCode").ToString()) + " " + _responseContext.PostedValues["tranid"] + "|"); } if (!string.IsNullOrEmpty(_responseContext.PostedValues["auth"])) { text.Append(string.Format(HttpContext.GetGlobalResourceObject(string.Format("{0}_ErrorMessage", HLConfigManager.Platform), "AutorizationCode").ToString()) + " " + _responseContext.PostedValues["auth"] + "|"); } } listMsg.Add(new Message { MessageType = "aditionalInformation", MessageValue = text.ToString() }); } } } } catch (Exception ex) { LoggerHelper.Error(string.Format("CommunicationSvcProvider: Error getting payment information for Order {0}, error: {1} .", orderNumber, ex.Message)); } } return(listMsg); }