async Task <bool> UpdateSite(T_ORDER dbOrder) { try { List <SiteDetail> sd = null; List <MQuerySite> lQuerySite = new List <MQuerySite>(); MQuerySite site = null; site = new MQuerySite(); site.orderid = dbOrder.ORDER_NO + "-send"; site.address = dbOrder.SENDER_PROVINCE + dbOrder.SENDER_CITY + dbOrder.SENDER_COUNTY + dbOrder.SENDER_ADDRESS; site.operSource = "OMS"; if (!lQuerySite.Contains(site)) { lQuerySite.Add(site); } site = new MQuerySite(); site.orderid = dbOrder.ORDER_NO + "-rec"; site.address = dbOrder.RECEIVER_PROVINCE + dbOrder.RECEIVER_CITY + dbOrder.RECEIVER_COUNTY + dbOrder.RECEIVER_ADDRESS; site.operSource = "OMS"; if (!lQuerySite.Contains(site)) { lQuerySite.Add(site); } sd = AliHandler.GetSite(lQuerySite); SiteDetail resultsite = null; T_NAVIGATE_DISTANCE distance; bool bdistance = false;//是否插入距离表,如果2端距离都没有则不插入 if (sd != null && sd.Count > 0) { distance = new T_NAVIGATE_DISTANCE(); distance.MAIL_NO = dbOrder.BILL_NO; distance.ORDER_NO = dbOrder.ORDER_NO; //distance.PICKUP_DISTANCE = "0"; //distance.SEND_DISTANCE = "0"; resultsite = sd.FirstOrDefault(p => p.orderid == dbOrder.ORDER_NO + "-send"); if (resultsite != null) { distance.PICKUP_DISTANCE = resultsite.distance; //distance.PICKUP_DISTANCE = resultsite.distance == null ? "0" : resultsite.distance; if (!string.IsNullOrEmpty(resultsite.bizAreaValue)) { if (dbOrder.PICKUP_SITE != resultsite.bizAreaValue && !string.IsNullOrEmpty(distance.PICKUP_DISTANCE))//如果是修改订单,网点可能没做修改 { bdistance = true; } dbOrder.PICKUP_SITE = resultsite.bizAreaValue; //取件网点编号 string sitename = await AppService.QuerySiteName(resultsite.bizAreaValue); //dbHelper.mapper.QueryForObject<string>("T_SITE_INFO.GetName", resultsite.bizAreaValue); if (!string.IsNullOrEmpty(sitename)) { if (dbOrder.ORDER_STATUS == 10) { dbOrder.ORDER_STATUS = 20; } dbOrder.PICKUP_SITECODE = sitename; //名称 dbOrder.ASSIGNED_SITE_CODE = sitename; //名称 dbOrder.PUSH_OUTSYS_STATUS = 1; dbOrder.PUSH_OUTSYS_FAIL_NUM = 0; dbOrder.ASSIGNSITE_TYPE = 0; } } } resultsite = sd.FirstOrDefault(p => p.orderid == dbOrder.ORDER_NO + "-rec"); if (resultsite != null) { distance.SEND_DISTANCE = resultsite.distance; if (!string.IsNullOrEmpty(resultsite.bizAreaValue)) { if (dbOrder.SENDTO_SITE != resultsite.bizAreaValue && !string.IsNullOrEmpty(distance.SEND_DISTANCE))//如果是修改订单,网点可能没做修改 { bdistance = true; } dbOrder.SENDTO_SITE = resultsite.bizAreaValue; string sitename = await AppService.QuerySiteName(resultsite.bizAreaValue);//dbHelper.mapper.QueryForObject<string>("T_SITE_INFO.GetName", resultsite.bizAreaValue); if (!string.IsNullOrEmpty(sitename)) { dbOrder.SENDTO_SITECODE = sitename;//名称 } } } int i = await AppService.UpdateSite(dbOrder);//dbHelper.mapper.Update("T_ORDER.UpdateSite", dbOrder); if (bdistance) { await AppService.Add(distance); //dbHelper.mapper.Insert("T_NAVIGATE_DISTANCE.Insert", distance); } } } catch (Exception e) { return(false); } return(true); }
public Task <int> Add(T_NAVIGATE_DISTANCE distance) { return(OracleScope.Repository.InsertAsync <T_NAVIGATE_DISTANCE>("T_NAVIGATE_DISTANCE.Insert", distance)); }