/// <summary> /// Generates a product string for one of the columns in the output file which can be imported into Magento /// </summary> /// <param name="record">a PaypalRecord</param> /// <param name="startNumber"></param> /// <returns></returns> public static string CreateProductsString(MasterDetails recordMS, int startNumber) { //generate m.products var record = (PaypalRecord)recordMS.Master; StringBuilder products = new StringBuilder(); products.Append("\"a:{num}:{"); var replaceditemTitles = record.ItemTitle.Replace("],", "];"); var itemTitles = replaceditemTitles.Split(';'); var itemIDs = record.ItemID.Split(','); var itemCount = itemIDs.Length; for (int x = 0; x < itemCount; ++x) { var itemcountlength = x.ToString().Length.ToString(); var itemdescription = itemTitles[x]; var itemdescriptionlength = itemdescription.Length.ToString(); var itemID = System.Convert.ToDouble(itemIDs[x]); StringBuilder product = new StringBuilder(); product.Append(@"i:{x};a:43:{s:9:""""entity_id"""";s:{itemcountlength}:""""{itemcount}"""";s:14:""""parent_item_id"""";N;s:3:""""sku"""";s:10:""""{SKU}"""";s:15:""""product_options"""";a:1:{s:15:""""info_buyRequest"""";a:1:{s:3:""""qty"""";i:1;}}s:6:""""weight"""";N;s:10:""""is_virtual"""";s:1:""""0"""";s:4:""""name"""";s:{itemdescriptionlength}:""""{itemdescription}"""";s:11:""""description"""";N;s:15:""""additional_data"""";s:141:""""a:1:{s:16:""""m2epro_extension"""";a:1:{s:5:""""items"""";a:1:{i:0;a:2:{s:7:""""item_id"""";s:12:""""{itemID}"""";s:14:""""transaction_id"""";s:13:""""1166311965018"""";}}}}"""";s:13:""""free_shipping"""";s:1:""""0"""";s:14:""""is_qty_decimal"""";N;s:11:""""no_discount"""";s:1:""""0"""";s:15:""""qty_backordered"""";N;s:12:""""qty_canceled"""";s:6:""""0.0000"""";s:12:""""qty_invoiced"""";s:6:""""1.0000"""";s:11:""""qty_ordered"""";s:6:""""1.0000"""";s:12:""""qty_refunded"""";s:6:""""0.0000"""";s:11:""""qty_shipped"""";s:6:""""1.0000"""";s:4:""""cost"""";N;s:6:""""status"""";s:7:""""Shipped"""";s:14:""""original_price"""";s:7:""""{price}"""";s:5:""""price"""";s:7:""""{price}"""";s:10:""""base_price"""";s:7:""""{price}"""";s:3:""""qty"""";N;s:19:""""base_original_price"""";s:7:""""{price}"""";s:11:""""tax_percent"""";s:6:""""0.0000"""";s:10:""""tax_amount"""";s:6:""""0.0000"""";s:15:""""base_tax_amount"""";s:6:""""0.0000"""";s:12:""""tax_invoiced"""";s:6:""""0.0000"""";s:17:""""base_tax_invoiced"""";s:6:""""0.0000"""";s:16:""""discount_percent"""";s:6:""""0.0000"""";s:15:""""discount_amount"""";s:6:""""0.0000"""";s:20:""""base_discount_amount"""";s:6:""""0.0000"""";s:22:""""base_discount_invoiced"""";s:6:""""0.0000"""";s:15:""""amount_refunded"""";s:6:""""0.0000"""";s:20:""""base_amount_refunded"""";s:6:""""0.0000"""";s:9:""""row_total"""";s:7:""""{price}"""";s:14:""""base_row_total"""";s:7:""""{price}"""";s:12:""""row_invoiced"""";s:7:""""{price}"""";s:17:""""base_row_invoiced"""";s:7:""""{price}"""";s:10:""""row_weight"""";s:6:""""0.0000"""";s:24:""""base_tax_before_discount"""";N;s:19:""""tax_before_discount"""";N;}"); product.Replace("{x}", x.ToString()); product.Replace("{itemcountlength}", itemcountlength); product.Replace("{itemcount}", (x + startNumber).ToString()); var ebayItem = StringFunctions.ParseEbayItem(itemdescription); product.Replace("{SKU}", StringFunctions.GetSKUFromItem(ebayItem)); product.Replace("{itemdescriptionlength}", itemdescriptionlength); product.Replace("{itemdescription}", itemdescription); product.Replace("{itemID}", itemID.ToString()); product.Replace("{price}", record.Gross.ToString("N4")); products.Append(product); } products.Replace("{num}", itemCount.ToString()); products.Append("}\""); return(products.ToString()); }
public static string CreateShipmentString(MasterDetails masterDetail, int startNumber) { StringBuilder shipments = new StringBuilder(); var record = (PaypalRecord)masterDetail.Master; var recordDetails = (object[])masterDetail.Details; shipments.Append(@"""a:1:{i:0;a:15:{s:8:""""store_id"""";s:1:""""1"""";s:12:""""total_weight"""";N;s:9:""""total_qty"""";s:{totalnumberofitemscount}:""""{totalnumberofitems}"""";s:10:""""email_sent"""";N;s:8:""""order_id"""";s:{orderidlength}:""""{orderid}"""";s:11:""""customer_id"""";N;s:19:""""shipping_address_id"""";s:{shippingaddressidlength}:""""{shippingaddressid}"""";s:18:""""billing_address_id"""";s:{billingaddressidlength}:""""{billingaddressid}"""";s:15:""""shipment_status"""";N;s:12:""""increment_id"""";s:{incrementidlength}:""""{incrementid}"""";s:10:""""created_at"""";s:{orderdatetimelength}:""""{orderdatetime}"""";s:10:""""updated_at"""";s:19:""""2014-02-27 18:01:35"""";s:8:""""packages"""";N;s:14:""""shipping_label"""";N;s:5:""""items"""";a:{totalitems}:{"); shipments.Replace("{totalnumberofitems}", recordDetails.Length.ToString("N4")); shipments.Replace("{totalnumberofitemscount}", recordDetails.Length.ToString("N4").Length.ToString()); shipments.Replace("{totalitems}", recordDetails.Length.ToString()); shipments.Replace("{orderid}", startNumber.ToString()); shipments.Replace("{orderidlength}", startNumber.ToString().Length.ToString()); //goes up in increments of 2, starting at 1 shipments.Replace("{billingaddressid}", startNumber.ToString()); shipments.Replace("{billingaddressidlength}", startNumber.ToString().Length.ToString()); //goes up in increments of 2, starting at 2 shipments.Replace("{shippingaddressid}", (startNumber + 1).ToString()); shipments.Replace("{shippingaddressidlength}", (startNumber + 1).ToString().Length.ToString()); var incrementid = startNumber + 100000000; shipments.Replace("{incrementid}", incrementid.ToString()); shipments.Replace("{incrementidlength}", incrementid.ToString().Length.ToString()); var datetimestring = record.OrderDate.ToString("yyyy-MM-dd") + " " + record.OrderTime.ToString("HH:mm:ss"); shipments.Replace("{orderdatetime}", datetimestring); shipments.Replace("{orderdatetimelength}", datetimestring.Length.ToString()); shipments.Replace("{grandtotal}", record.Gross.ToString("N4")); shipments.Replace("{grandtotallength}", record.Gross.ToString("N4").Length.ToString()); shipments.Replace("{vat}", "0.0000"); shipments.Replace("{vatlength}", "6"); shipments.Replace("{shippingcost}", record.PostageandPackagingAmount.ToString("N4")); shipments.Replace("{shippingcostlength}", record.PostageandPackagingAmount.ToString("N4").Length.ToString()); shipments.Replace("{subtotalincvat}", (record.Gross - record.PostageandPackagingAmount).ToString("N4")); shipments.Replace("{subtotalincvatlength}", (record.Gross - record.PostageandPackagingAmount).ToString("N4").Length.ToString()); shipments.Replace("{subtotalexvat}", (record.Gross - record.PostageandPackagingAmount).ToString("N4")); shipments.Replace("{subtotalexvatlength}", (record.Gross - record.PostageandPackagingAmount).ToString("N4").Length.ToString()); shipments.Replace("{postagecostincvat}", record.PostageandPackagingAmount.ToString("N4")); shipments.Replace("{postagecostincvatlength}", record.PostageandPackagingAmount.ToString("N4").Length.ToString()); const string itemstring = @"i:{itemnumber};a:12:{s:9:""""entity_id"""";s:{totalitemcountlength}:""""{totalitemcount}"""";s:9:""""parent_id"""";s:{parentidlength}:""""{parentid}"""";s:9:""""row_total"""";N;s:5:""""price"""";s:{itemcostlength}:""""{itemcost}"""";s:6:""""weight"""";N;s:3:""""qty"""";s:6:""""1.0000"""";s:10:""""product_id"""";N;s:13:""""order_item_id"""";s:{totalitemcountlength}:""""{totalitemcount}"""";s:15:""""additional_data"""";N;s:11:""""description"""";N;s:4:""""name"""";s:{itemdescriptionlength}:""""{itemdescription}"""";s:3:""""sku"""";s:{SKUlength}:""""{SKU}"""";}"; for (int x = 0; x < recordDetails.Length; ++x) { totalShipmentsCount++; var recorddetail = (PaypalRecord)recordDetails[x]; shipments.Append(itemstring); shipments.Replace("{itemnumber}", x.ToString()); shipments.Replace("{totalitemcount}", (totalShipmentsCount).ToString()); shipments.Replace("{totalitemcountlength}", (totalShipmentsCount).ToString().Length.ToString()); shipments.Replace("{parentid}", startNumber.ToString()); shipments.Replace("{parentidlength}", startNumber.ToString().Length.ToString()); shipments.Replace("{itemcost}", recorddetail.Gross.ToString("N4")); shipments.Replace("{itemcostlength}", recorddetail.Gross.ToString("N4").Length.ToString()); var ebayItem = StringFunctions.ParseEbayItem(recorddetail.ItemTitle); shipments.Replace("{SKU}", StringFunctions.GetSKUFromItem(ebayItem)); shipments.Replace("{SKUlength}", StringFunctions.GetSKUFromItem(ebayItem).ToString().Length.ToString()); shipments.Replace("{itemdescription}", recorddetail.ItemTitle); shipments.Replace("{itemdescriptionlength}", recorddetail.ItemTitle.Length.ToString()); } shipments.Append(@"}}}"""); totalShipmentsCount = 0; //reset for the unit tests return(shipments.ToString()); }