public void InsertTemStorageCusReports(CustomReportJsonModel model, bool isChangeRS) { productDAL.InsertTemStorageCusReports(model); if (isChangeRS == true) { productDAL.UpdateSkuReportStatus(model); } }
public Dictionary <string, int> ImportCustomReports(Dictionary <string, SkuReportStatusModel> skus, DataTable excelInfos) { var result = new Dictionary <string, int>(); var successCount = 0; var failCount = 0; if (skus == null || skus.Count == 0) { return(null); } var skuDic = new Dictionary <string, int>(); List <CustomReport> importData = new List <CustomReport>(); Dictionary <string, string> fails = new Dictionary <string, string>(); List <int> customedSkuLineIDs = new List <int>(); foreach (DataRow dr in excelInfos.Rows) { var skuNo = dr[2] == DBNull.Value ? "" : dr[2].ToString(); if (String.IsNullOrWhiteSpace(skuNo)) { continue; } if (!skus.Keys.Contains(skuNo) && !fails.Keys.Contains(skuNo)) { failCount++; fails.Add(skuNo, "待審核列表中沒有與之匹配的SKU編號"); continue; } var skuInfo = skus[skuNo]; if (skuInfo.ReportStatus == -1 && !fails.Keys.Contains(skuNo)) { failCount++; fails.Add(skuNo, "對應的SKU編號不需要報備"); continue; } successCount++; var customReport = new CustomReport() { Sku = skuNo, CustomsUnit = dr[3] == DBNull.Value ? "" : dr[3].ToString(), ModelForCustoms = dr[4] == DBNull.Value ? "" : dr[4].ToString(), InspectionNo = dr[5] == DBNull.Value ? "" : dr[5].ToString(), PrepardNo = dr[6] == DBNull.Value ? "" : dr[6].ToString(), TaxCode = dr[7] == DBNull.Value ? "" : dr[7].ToString(), HSCode = dr[8] == DBNull.Value ? "" : dr[8].ToString(), GnoCode = dr[9] == DBNull.Value ? "" : dr[9].ToString(), UOM = dr[10] == DBNull.Value ? "" : dr[10].ToString(), TaxRate = dr[11] == DBNull.Value ? "0" : dr[11].ToString(), }; if (HasCustom(customReport)) { customedSkuLineIDs.Add(skuInfo.Id); customedSkuLineIDs.AddRange(skuInfo.ConnectIDs); } importData.Add(customReport); } var jm = new CustomReportJsonModel(); jm.CustomReports = importData.ToArray(); productDAL.InsertTemStorageCusReports(jm); productDAL.UpdateSkuReportStatus(customedSkuLineIDs); var batchNO = productDAL.InsertImportError(fails); result.Add("true", successCount); result.Add("false", failCount); result.Add("batchNO", batchNO); return(result); }