void mapModelToDTO() { var entity = new AmListingDataDto(); Mapper.Initialize(p => p.CreateMap <AmListingDataDto, T_Am_ListingData>() .BeforeMap((sourceType, destinationType) => { sourceType.add_delete = destinationType.add_delete; sourceType.asin1 = destinationType.asin1; })); T_Am_ListingData entityDTO = Mapper.Map <AmListingDataDto, T_Am_ListingData>(entity); SqlCommand command = new SqlCommand(); //command.Parameters.Add ITransactionCustom tran = new SqlTransactionCustom(); tran.BeginTransaction(); CommandStaticHelper.ExecuteNonQuery(tran, new List <ICommandCustom>() { }); tran.Commit(); EntityToCommandStaticHelper.queryList <AmListingDataDto>(new SqlCommandCustom()); }
public void SaveListingsDataReport(string filename) { Log = LogManager.GetLogger("AmazonApIHelperLog"); Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); List <T_Am_ListingData> lds = new List <T_Am_ListingData>(); int accountId = int.Parse(filename.Substring(filename.LastIndexOf("\\") + 1, 2)); using (StreamReader sr = new StreamReader(filename, Encoding.UTF8)) { String line = ""; int i = 0; DataTable dt = new DataTable(); while ((line = sr.ReadLine()) != null) { i++; Regex regex = new Regex("\t");//以cjlovefl分割 string[] bit = regex.Split(line); try { if (i == 1) { for (int j = 0; j < bit.Length; j++) { DataColumn dc = new DataColumn(); dc.ColumnName = bit[j].ToString(); dt.Columns.Add(dc); } continue;//跳过第一行 } DataRow dr = dt.NewRow(); for (int j = 0; j < dt.Columns.Count; j++) { dr[j] = bit[j].ToString(); } dt.Rows.Add(dr); } catch (Exception ex) { Log.ErrorFormat("加载{0}条记录:{1}记录发生错误", i, ex); } } Stopwatch stopwatch1 = new Stopwatch(); stopwatch1.Start(); DataTable tableColumns = DbHelper.GetTableColumnsByName(sqlConnectionString, "T_Am_ListingData"); PropertyInfo[] properties = DbHelper.GetPropertyInfos <T_Am_ListingData>(); //循环dt if (dt.Rows.Count > 0) { T_Am_ListingData ld; for (int n = 0; n < dt.Rows.Count; n++) { DataRow bit = dt.Rows[n]; ld = new T_Am_ListingData(); ld.item_name = dt.Columns.Contains("item-name") ? bit["item-name"].ToString() : ""; //ld.item_name = dt.Columns.Contains("item-name") ? bit["item-name"].ToString() : ""; ld.item_description = dt.Columns.Contains("item-description") ? bit["item-description"].ToString() : ""; ld.listing_id = dt.Columns.Contains("listing-id") ? bit["listing-id"].ToString() : ""; ld.seller_sku = dt.Columns.Contains("seller-sku") ? bit["seller-sku"].ToString() : ""; ld.price = dt.Columns.Contains("price") ? bit["price"].ToString() : ""; ld.quantity = dt.Columns.Contains("quantity") ? bit["quantity"].ToString() : ""; ld.open_date = dt.Columns.Contains("open-date") ? bit["open-date"].ToString() : ""; ld.image_url = dt.Columns.Contains("image-url") ? bit["image-url"].ToString() : ""; ld.item_is_marketplace = dt.Columns.Contains("item-is-marketplace") ? bit["item-is-marketplace"].ToString() : ""; ld.product_id_type = dt.Columns.Contains("product-id-type") ? bit["product-id-type"].ToString() : ""; ld.zshop_shipping_fee = dt.Columns.Contains("zshop-shipping-fee") ? bit["zshop-shipping-fee"].ToString() : ""; ld.item_note = dt.Columns.Contains("item-note") ? bit["item-note"].ToString() : ""; ld.item_condition = dt.Columns.Contains("item-condition") ? bit["item-condition"].ToString() : ""; ld.zshop_category1 = dt.Columns.Contains("zshop-category1") ? bit["zshop-category1"].ToString() : ""; ld.zshop_browse_path = dt.Columns.Contains("zshop-browse-path") ? bit["zshop-browse-path"].ToString() : ""; ld.zshop_storefront_feature = dt.Columns.Contains("zshop-storefront-feature") ? bit["zshop-storefront-feature"].ToString() : ""; ld.asin1 = dt.Columns.Contains("asin1") ? bit["asin1"].ToString() : ""; ld.asin2 = dt.Columns.Contains("asin2") ? bit["asin2"].ToString() : ""; ld.asin3 = dt.Columns.Contains("asin3") ? bit["asin3"].ToString() : ""; ld.will_ship_internationally = dt.Columns.Contains("will-ship-internationally") ? bit["will-ship-internationally"].ToString() : ""; ld.expedited_shipping = dt.Columns.Contains("expedited-shipping") ? bit["expedited-shipping"].ToString() : ""; ld.zshop_boldface = dt.Columns.Contains("zshop-boldface") ? bit["zshop-boldface"].ToString() : ""; ld.product_id = dt.Columns.Contains("product-id") ? bit["product-id"].ToString() : ""; ld.bid_for_featured_placement = dt.Columns.Contains("bid-for-featured-placement") ? bit["bid-for-featured-placement"].ToString() : ""; ld.add_delete = dt.Columns.Contains("add-delete") ? bit["add-delete"].ToString() : ""; ld.pending_quantity = dt.Columns.Contains("pending-quantity") ? bit["pending-quantity"].ToString() : ""; ld.fulfillment_channel = dt.Columns.Contains("fulfillment-channel") ? bit["fulfillment-channel"].ToString() : ""; if (ld.seller_sku.ToUpper().Contains("MISSING") || string.IsNullOrEmpty(ld.seller_sku)) { continue; } ld.pid = accountId;// Convert.ToInt32(15); ld.UpdateDateTime = System.DateTime.Now; ld.IsDel = false; List <string> errorList; if (DbHelper.valudateEntity(ld, tableColumns, properties, out errorList)) { lds.Add(ld); } else { Log.InfoFormat("更新产品失败,pid = {0},listing_id={1},product_id={2}"); } } stopwatch1.Stop(); Log.Info("验证花费时间:" + (Int32)stopwatch1.ElapsedMilliseconds / 1000 + "秒!"); Log.Info("开始保存数据-------------------------"); SaveListingsData(lds); Log.Info("保存数据完成-------------------------"); } } stopwatch.Stop(); Log.Info("同步一次产品花费时间:" + (Int32)stopwatch.ElapsedMilliseconds / 1000 + "秒!"); }