/// <summary> /// 编辑操作 /// </summary> /// <param name="request"></param> /// <returns></returns> public Response <bool> UpdateasnAndasnDetailSF(AddASNandASNDetailRequest request) { Response <bool> response = new Response <bool>(); if (request == null || request.asn == null || !request.asn.Any()) { ArgumentNullException ex = new ArgumentNullException("UpdateasnAndasnDetail request"); LogError(ex); response.ErrorCode = ErrorCode.Argument; response.Exception = ex; return(response); } try { if (new ASNManagementAccessor().UpdateasnAndasnDetailSF(request)) { response.IsSuccess = true; } } catch (Exception ex) { LogError(ex); response.IsSuccess = false; response.ErrorCode = ErrorCode.Technical; } return(response); }
/// <summary> /// 添加操作 /// </summary> /// <param name="request"></param> /// <returns></returns> public Response <string> AddasnAndasnDetailSF(AddASNandASNDetailRequest request) { Response <string> response = new Response <string>(); string message = ""; if (request == null || request.asn == null || !request.asn.Any()) { ArgumentNullException ex = new ArgumentNullException("AddasnAndasnDetail request"); LogError(ex); response.ErrorCode = ErrorCode.Argument; response.Exception = ex; response.Result = ex.ToString(); response.IsSuccess = false; return(response); } try { //判断明细中同一外部单号中是否存在相同的sku 如果存在就提示 DataTable dt = request.asnDetails.ToDataTable(); if (request.asn.Select(c => c.CustomerID).ToArray().FirstOrDefault() != 71) {//永兴判断 var dt1 = from t in dt.AsEnumerable() group t by new { t1 = t.Field <string>("ExternReceiptNumber"), t2 = t.Field <string>("SKU"), UPC = t.Field <string>("UPC"), t3 = t.Field <string>("BoxNumber"), t4 = t.Field <string>("BatchNumber"), t5 = t.Field <string>("Unit"), t6 = t.Field <string>("Specifications") } into m select new { SKU = m.Select(p => p.Field <string>("SKU")).First(), UPC = m.Select(p => p.Field <string>("UPC")).First(), ExternReceiptNumber = m.Select(p => p.Field <string>("ExternReceiptNumber")).First(), BoxNumber = m.Select(p => p.Field <string>("BoxNumber")).First(), BatchNumber = m.Select(p => p.Field <string>("BatchNumber")).First(), Unit = m.Select(p => p.Field <string>("Unit")).First(), Specifications = m.Select(p => p.Field <string>("Specifications")).First(), count = m.Count(), }; var dr1 = dt1.Where(c => c.count > 1); var results = ""; if (request.asn.Select(c => c.CustomerID).ToArray().FirstOrDefault() != 74 && request.asn.Select(c => c.CustomerID).ToArray().FirstOrDefault() != 75) { //if (dr1.Count() > 0) //{ // foreach (var item in dr1) // { // results += "<p><font color='#FF0000'>外部单号" + item.ExternReceiptNumber + "中的SKU" + item.SKU + "存在重复值!" + "</font></p>"; // } // response.Result = results; // response.IsSuccess = false; // return response; //} } }//永兴判断 message = new ASNManagementAccessor().AddasnAndasnDetailSF(request); if (message.Contains("添加成功") || message == "") { response.Result = message; response.IsSuccess = true; } else { response.Result = message; response.IsSuccess = false; } } catch (Exception ex) { LogError(ex); response.IsSuccess = false; response.Result = ex.ToString(); response.ErrorCode = ErrorCode.Technical; } return(response); }