示例#1
0
    /// <summary>
    /// 根据业务订单ID,查询本地达达订单
    /// </summary>
    /// <param name="orderID">业务订单ID</param>
    /// <returns>达达订单</returns>
    public static DaDaOrder FindDaDaOrderByOrderID(string orderID)
    {
        DaDaOrder dadaOrder = null;

        try
        {
            using (SqlConnection conn = new SqlConnection(Config.ConnStr))
            {
                conn.Open();

                using (SqlCommand cmdDaDaOrder = conn.CreateCommand())
                {
                    SqlParameter paramOrderID = cmdDaDaOrder.CreateParameter();
                    paramOrderID.ParameterName = "@OrderID";
                    paramOrderID.SqlDbType     = System.Data.SqlDbType.VarChar;
                    paramOrderID.SqlValue      = orderID;
                    cmdDaDaOrder.Parameters.Add(paramOrderID);

                    cmdDaDaOrder.CommandText = "select * from DaDaOrder where OrderID = @OrderID";

                    using (SqlDataReader sdrDaDaOrder = cmdDaDaOrder.ExecuteReader())
                    {
                        if (sdrDaDaOrder.Read())
                        {
                            dadaOrder = new DaDaOrder();

                            //加载对应的业务订单
                            dadaOrder.ProductOrder = new ProductOrder(sdrDaDaOrder["OrderID"].ToString());

                            dadaOrder.ID                   = int.Parse(sdrDaDaOrder["Id"].ToString());
                            dadaOrder.ShopNo               = sdrDaDaOrder["ShopNo"] as string;
                            dadaOrder.CityCode             = sdrDaDaOrder["CityCode"] as string;
                            dadaOrder.PayForSupplierFee    = sdrDaDaOrder["PayForSupplierFee"] != DBNull.Value ? decimal.Parse(sdrDaDaOrder["PayForSupplierFee"].ToString()) : 0;
                            dadaOrder.FetchFromReceiverFee = sdrDaDaOrder["FetchFromReceiverFee"] != DBNull.Value ? decimal.Parse(sdrDaDaOrder["FetchFromReceiverFee"].ToString()) : 0;
                            dadaOrder.DeliverFee           = sdrDaDaOrder["DeliverFee"] != DBNull.Value ? decimal.Parse(sdrDaDaOrder["DeliverFee"].ToString()) : 0;
                            dadaOrder.Tips                 = sdrDaDaOrder["Tips"] != DBNull.Value ? decimal.Parse(sdrDaDaOrder["Tips"].ToString()) : 0;
                            dadaOrder.CreateTime           = DateTime.Parse(sdrDaDaOrder["CreateTime"].ToString());
                            dadaOrder.AcceptTime           = sdrDaDaOrder["AcceptTime"] != DBNull.Value ? (DateTime?)DateTime.Parse(sdrDaDaOrder["AcceptTime"].ToString()) : null;
                            dadaOrder.FetchTime            = sdrDaDaOrder["FetchTime"] != DBNull.Value ? (DateTime?)DateTime.Parse(sdrDaDaOrder["FetchTime"].ToString()) : null;
                            dadaOrder.FinishTime           = sdrDaDaOrder["FinishTime"] != DBNull.Value ? (DateTime?)DateTime.Parse(sdrDaDaOrder["FinishTime"].ToString()) : null;
                            dadaOrder.CancelTime           = sdrDaDaOrder["CancelTime"] != DBNull.Value ? (DateTime?)DateTime.Parse(sdrDaDaOrder["CancelTime"].ToString()) : null;
                            dadaOrder.UpdateTime           = sdrDaDaOrder["UpdateTime"] != DBNull.Value ? (DateTime?)DateTime.Parse(sdrDaDaOrder["UpdateTime"].ToString()) : null;
                            dadaOrder.Info                 = sdrDaDaOrder["Info"] as string;
                            dadaOrder.CargoType            = sdrDaDaOrder["CargoType"] != DBNull.Value ? int.Parse(sdrDaDaOrder["CargoType"].ToString()) : 0;
                            dadaOrder.CargoWeight          = sdrDaDaOrder["CargoWeight"] != DBNull.Value ? decimal.Parse(sdrDaDaOrder["CargoWeight"].ToString()) : 0;
                            dadaOrder.CargoPrice           = sdrDaDaOrder["CargoPrice"] != DBNull.Value ? decimal.Parse(sdrDaDaOrder["CargoPrice"].ToString()) : 0;
                            dadaOrder.CargoNum             = sdrDaDaOrder["CargoNum"] != DBNull.Value ? int.Parse(sdrDaDaOrder["CargoNum"].ToString()) : 0;
                            dadaOrder.IsPrepay             = bool.Parse(sdrDaDaOrder["IsPrepay"].ToString());
                            dadaOrder.ExpectedFetchTime    = DateTime.Parse(sdrDaDaOrder["ExpectedFetchTime"].ToString());
                            dadaOrder.ExpectedFinishTime   = sdrDaDaOrder["ExpectedFinishTime"] != DBNull.Value ? (DateTime?)(sdrDaDaOrder["ExpectedFinishTime"]) : null;
                            dadaOrder.InvoiceTitle         = sdrDaDaOrder["InvoiceTitle"] as string;
                            dadaOrder.ReceiverName         = sdrDaDaOrder["ReceiverName"] as string;
                            dadaOrder.ReceiverAddress      = sdrDaDaOrder["ReceiverAddress"] as string;
                            dadaOrder.ReceiverPhone        = sdrDaDaOrder["ReceiverPhone"] as string;
                            dadaOrder.ReceiverLat          = sdrDaDaOrder["ReceiverLat"] != DBNull.Value ? double.Parse(sdrDaDaOrder["ReceiverLat"].ToString()) : 0;
                            dadaOrder.ReceiverLng          = sdrDaDaOrder["ReceiverLng"] != DBNull.Value ? double.Parse(sdrDaDaOrder["ReceiverLng"].ToString()) : 0;
                            dadaOrder.DeliverLockerCode    = sdrDaDaOrder["DeliverLockerCode"] as string;
                            dadaOrder.PickupLockerCode     = sdrDaDaOrder["PickupLockerCode"] as string;
                            dadaOrder.Distance             = sdrDaDaOrder["Distance"] != DBNull.Value ? float.Parse(sdrDaDaOrder["Distance"].ToString()) : 0;
                            dadaOrder.Fee                  = sdrDaDaOrder["Fee"] != DBNull.Value ? decimal.Parse(sdrDaDaOrder["Fee"].ToString()) : 0;
                            dadaOrder.OrderStatus          = sdrDaDaOrder["OrderStatus"] != DBNull.Value ? (DaDaOrderStatus)sdrDaDaOrder["OrderStatus"] : DaDaOrderStatus.Accepting;
                            dadaOrder.CancelReason         = sdrDaDaOrder["CancelReason"] as string;
                            dadaOrder.DMID                 = sdrDaDaOrder["DMID"] != DBNull.Value ? int.Parse(sdrDaDaOrder["DMID"].ToString()) : 0;
                            dadaOrder.DMName               = sdrDaDaOrder["DMName"] as string;
                            dadaOrder.DMMobile             = sdrDaDaOrder["DMMobile"] as string;
                            dadaOrder.DeductFee            = sdrDaDaOrder["DeductFee"] != DBNull.Value ? decimal.Parse(sdrDaDaOrder["DeductFee"].ToString()) : 0;
                            dadaOrder.DeliveryNo           = sdrDaDaOrder["DeliveryNo"] as string;
                        }
                    }
                }
            }
        }
        catch (Exception ex)
        {
            Log.Error("DaDaOrder", ex.ToString());
            throw ex;
        }

        return(dadaOrder);
    }