Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }