コード例 #1
0
ファイル: LogisticsProvider.cs プロジェクト: KqSMea8/HS.Admin
        /// <summary>
        /// 查询订单运单号信息
        /// </summary>
        /// <param name="orderId">订单号(多个用逗号隔开,每次最大50个订单)</param>
        /// <returns></returns>
        /// <remarks>2016-3-22 杨浩 创建</remarks>
        public override Result GetOrderExpressno(string orderId)
        {
            var param = "{\"orderId\":\"" + orderId + "\"}";

            string method = "wtdex.trade.orderexpressno.get";

            param = InitParams(method, param);

            var _result = Hyt.Util.WebUtil.PostForm(apiUrl, param);
            var result  = GetResponseResult(_result);

            if (result.Status == true)
            {
                if (BLL.CrossBorderLogistics.CrossBorderLogisticsOrderBo.Instance.GetEntityByOrderSysNo(TConvert.ToInt32(orderId)) == null)
                {
                    try
                    {
                        Model.CrossBorderLogisticsOrder logisticsOrder = new Model.CrossBorderLogisticsOrder();
                        logisticsOrder.SoOrderSysNo     = TConvert.ToInt32(orderId);
                        logisticsOrder.LogisticsOrderId = JObject.Parse(_result)["response"]["orderList"]["orders"][0]["expressNo"].ToString();
                        logisticsOrder.LogisticsCode    = (int)this.Code;

                        BLL.CrossBorderLogistics.CrossBorderLogisticsOrderBo.Instance.InsertEntity(logisticsOrder);
                    }
                    catch (Exception ex)
                    {
                        result.Message = "向" + this.Code + "物流查询订单运单号报错:" + ex.StackTrace;
                        return(result);
                    }
                }
            }

            return(result);
        }
コード例 #2
0
ファイル: LogisticsProvider.cs プロジェクト: KqSMea8/HS.Admin
        /// <summary>
        /// 获取运单号
        /// </summary>
        /// <param name="orderId"></param>
        /// <returns></returns>
        /// <remarks>2016-07-19 陈海裕 创建</remarks>
        public override Result GetOrderExpressno(string orderId)
        {
            Result <string> result = new Result <string>();

            result.Status     = false;
            result.StatusCode = 0;
            result.Message    = "接口调用失败";
            string url = RequestUrl + "express/create";

            try
            {
                SoOrder order = BLL.Order.SoOrderBo.Instance.GetEntity(TConvert.ToInt32(orderId));
                if (order == null)
                {
                    result.Message = "该订单不存在";
                    return(result);
                }
                LgDeliveryType          deliveryType = BLL.Logistics.DeliveryTypeBo.Instance.GetDeliveryType(order.DeliveryTypeSysNo);
                ParaOnlinePaymentFilter filter       = new ParaOnlinePaymentFilter();
                filter.OrderSysNo = TConvert.ToInt32(orderId);
                var           onlinePayment = BLL.Finance.FinanceBo.Instance.GetOnlinePayments(filter).Rows.Where(o => o.Status == 1).FirstOrDefault();
                CBWhWarehouse warehouse     = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo);
                string        _deliveryType = "";
                if (deliveryType.DeliveryTypeName.Contains("顺丰"))
                {
                    _deliveryType = "SF";
                    //CustomerCode = SFCustomerCode;
                    //Key = SFKey;
                    Token = SFToken;
                }
                else if (deliveryType.DeliveryTypeName.Contains("中通"))
                {
                    _deliveryType = "ZTO";
                }
                if (_deliveryType == "")
                {
                    result.Message = "友信达物流目前只有支持顺丰和中通两种快递方式";
                    return(result);
                }

                Dictionary <string, string> paramsData = new Dictionary <string, string>();
                paramsData.Add("reference_no", onlinePayment.BusinessOrderSysNo);
                paramsData.Add("warehouse_id", warehouse.LogisWarehouseCode);
                paramsData.Add("sm_code", _deliveryType);
                string responseStr = GetResponse(url, InitParams(paramsData));
                result = GetResult(JObject.Parse(responseStr), result);
                if (result.Status == true)
                {
                    // 生成出库单
                }

                return(result);
            }
            catch (Exception ex)
            {
                result.Message = "查询订单运单号报错:" + ex.StackTrace;
                return(result);
            }
        }
コード例 #3
0
ファイル: LogisticsProvider.cs プロジェクト: KqSMea8/HS.Admin
        /// <summary>
        /// 查询订单物流信息
        /// </summary>
        /// <param name="orderSysNo">订单号</param>
        /// <returns></returns>
        /// <remarks>2016-04-09 陈海裕 创建</remarks>
        public override Result <string> GetLogisticsTracking(int orderSysNo)
        {
            Result <string> result = new Result <string>();
            //var tempResult = GetOrderExpressno(orderSysNo.ToString());
            //result.Status = tempResult.Status;
            //result.Message = tempResult.Message;
            //if (result.Status == false)
            //{
            //    return result;
            //}

            CrossBorderLogisticsOrder cbLogiOrder = BLL.CrossBorderLogistics.CrossBorderLogisticsOrderBo.Instance.GetEntityByOrderSysNo(Convert.ToInt32(orderSysNo));

            if (cbLogiOrder == null)
            {
                return(result);
            }
            string apiurl = "http://183.11.227.9:90/bdtsys/services/htapi/track/" + cbLogiOrder.LogisticsOrderId;

            System.Net.WebRequest request = System.Net.WebRequest.Create(apiurl);
            request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
            System.Net.WebResponse response = request.GetResponse();
            System.IO.Stream       stream   = response.GetResponseStream();
            System.Text.Encoding   encode   = System.Text.Encoding.UTF8;
            System.IO.StreamReader reader   = new System.IO.StreamReader(stream, encode);
            result.Message = reader.ReadToEnd();
            JObject             jObj = JObject.Parse(result.Message);
            List <TrackingData> logisticsTrackList = new List <TrackingData>();

            if (jObj != null)
            {
                if (jObj.Property("trackSize") != null)
                {
                    TrackingData trackingData = null;
                    int          trackSize    = TConvert.ToInt32(jObj["trackSize"].ToString());
                    for (int i = trackSize - 1; i >= 0; i--)
                    {
                        trackingData         = new TrackingData();
                        trackingData.time    = TConvert.ToString(jObj["track" + i]["statustime"].ToString());
                        trackingData.content = TConvert.ToString(jObj["track" + i]["place"].ToString()) + TConvert.ToString(jObj["track" + i]["reason"].ToString());
                        logisticsTrackList.Add(trackingData);
                    }

                    StringBuilder htmlStr = new StringBuilder();
                    foreach (var item in logisticsTrackList)
                    {
                        htmlStr.Append("<tr><td width=\"25%\">" + item.time + "</td><td width=\"75%\">" + item.content + "</td></tr>");
                    }

                    result.Data   = htmlStr.ToString();
                    result.Status = true;
                }
            }

            return(result);
        }
コード例 #4
0
ファイル: Entity.cs プロジェクト: GoldyWang2013/hello-world
        //---------------------------------------------------------------------
        public virtual void Pull(CEntity ety, DataRow row, TMetaColumn mc)
        {
            string columnName = mc.ColumnName;
            //if(columnName=="A1623") {
            //    Debug.WriteLine("XXX");
            //}
            object v0 = row[columnName];

            //TODO: how to know nullable property
            /// System.Nullable     int? No;
            if (mc.IsGenericType)
            {
                if (v0 == DBNull.Value)
                {
                    ety.SetEpoPorpertyValue(mc, null);
                }
                else
                {
                    ety.SetEpoPorpertyValue(mc, v0);
                }
                return;
            }

            object customNullValue = mc.MappingAttribute.NullValue;

            if (customNullValue == null)
            {
                object v1 = TConvert.DbValue2DataValue(mc.DataType, v0);    /// most hit here!
                ety.SetEpoPorpertyValue(mc, v1);
                return;
            }
            /// CustomNullValue
            //TODO:  customNullValue!=null issues, not finished....
            Type underlyingType = mc.UnderlyingType;

            if (customNullValue.GetType() != underlyingType)
            {
                if (underlyingType == typeof(Decimal))
                {
                    // float to decimal string to decimal
                    Decimal d  = Convert.ToDecimal(customNullValue);
                    object  v2 = TConvert.DbValue2DataValue(underlyingType, row[columnName], d);
                    ety.SetEpoPorpertyValue(mc, v2);
                }
                else
                {
                    throw new TException("nullValue.GetType() differ value.GetType");
                }
            }
            else
            {
                object v3 = TConvert.DbValue2DataValue(underlyingType, row[columnName], customNullValue);
                ety.SetEpoPorpertyValue(mc, v3);
            }
        }
コード例 #5
0
ファイル: Entity.cs プロジェクト: GoldyWang2013/hello-world
        //---------------------------------------------------------------------
        public virtual object GetDbValue(TMetaColumn mc)
        {
            object dataValue = this.GetEpoPropertyValue(mc);

            if (mc.IsGenericType)
            {
                if (dataValue == null)
                {
                    return(DBNull.Value);
                }
                else
                {
                    return(dataValue);
                }
            }
            Type   dotNetType      = mc.UnderlyingType;
            object customNullValue = mc.MappingAttribute.NullValue;

            if (customNullValue == null)
            {
                return(TConvert.DataValue2DbValue(mc.DataType, dataValue));
            }

            /// CustomNullValue
            if (customNullValue.GetType() != dotNetType)
            {
                if (dotNetType == typeof(Decimal))
                {          /// float to decimal
                    Decimal decima = Convert.ToDecimal(customNullValue);
                    return(TConvert.DataValue2DbValue(dataValue, decima));
                }
                else
                {
                    throw new TException("nullValue.GetType() differ value.GetType");
                }
            }
            else
            {
                return(TConvert.DataValue2DbValue(dataValue, customNullValue));
            }
        }
コード例 #6
0
ファイル: Entity.cs プロジェクト: GoldyWang2013/hello-world
        //----------------------------------------------------------
        public virtual void InitMembers()
        {
            TMetaEntity me = GetMetaEntity(this.GetType());

            if (me == null)
            {
                return;
            }

            TMetaTable mt = me.MetaTable;

            foreach (TMetaColumn mc in mt.FullValueColumns)
            {
                TDataType dataType = mc.DataType;
                if (dataType == TDataType.DateTime || dataType == TDataType.Date)
                {
                    object nullValue = TConvert.GetNullValue(dataType);
                    this.SetEpoPorpertyValue(mc, nullValue);
                }
            }
        }
コード例 #7
0
ファイル: LogisticsProvider.cs プロジェクト: KqSMea8/HS.Admin
        /// <summary>
        /// 添加交易订单
        /// </summary>
        /// <param name="orderId">销售订单系统编号</param>
        /// <returns></returns>
        /// <remarks>
        /// 2016-3-21 杨浩 创建
        /// 2016-4-19 陈海裕 重构
        /// </remarks>
        public override Result AddOrderTrade(int orderId)
        {
            var result = new Result()
            {
                Status     = false,
                StatusCode = 0,
                Message    = "向" + this.Code + "物流推送订单失败"
            };


            try
            {
                var order = Hyt.BLL.Order.SoOrderBo.Instance.GetEntity(orderId);
                if (order == null)
                {
                    result.Status     = false;
                    result.Message    = string.Format("订单号{0}不存在!", orderId);
                    result.StatusCode = -100;
                }


                #region 旧参数

                //var receiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo);
                //if (receiveAddress == null)
                //{
                //    result.Status = false;
                //    result.Message = string.Format("订单中的收货地址编号{0}不存在!", order.ReceiveAddressSysNo);
                //    result.StatusCode = -101;
                //}
                //var area = BLL.Basic.BasicAreaBo.Instance.GetArea(receiveAddress.AreaSysNo);
                //if (area == null)
                //{
                //    result.Status = false;
                //    result.Message = string.Format("地区({0})不存在!", receiveAddress.AreaSysNo);
                //    result.StatusCode = -103;
                //}
                //var city = BLL.Basic.BasicAreaBo.Instance.GetArea(area.ParentSysNo);
                //if (city == null)
                //{
                //    result.Status = false;
                //    result.Message = string.Format("城市({0})不存在!", area.ParentSysNo);
                //    result.StatusCode = -104;
                //}
                //var province = BLL.Basic.BasicAreaBo.Instance.GetArea(city.ParentSysNo);
                //if (province == null)
                //{
                //    result.Status = false;
                //    result.Message = string.Format("省份({0})不存在!", city.ParentSysNo);
                //    result.StatusCode = -105;
                //}

                //if (!result.Status)
                //    return result;
                //var param = "{\"orderId\":\"" + order.OrderNo + "\",";
                //param += "\"addr\":\"" + receiveAddress.StreetAddress + "\",";
                //param += "\"phone\":\"" + receiveAddress.MobilePhoneNumber + "\",";
                //param += "\"freight\":" + order.FreightAmount + ",";//运费
                //param += "\"orderDate\":\"" + order.CreateDate.ToString("yyyy-MM-dd") + "\",";
                //param += "\"province\":\"" + JsonStrEscape(province.AreaName) + "\",";
                //param += "\"city\":\"" + JsonStrEscape(city.AreaName) + "\",";
                //param += "\"area\":\"" + JsonStrEscape(area.AreaName) + "\",";
                //param += "\"total\":" + order.ProductAmount + ",";//订单总金额
                //param += "\"insuredFee\":0,";  //保价费用
                //param += "\"cardType\":\"0\","; //证件类型 (默认身份证则填0)
                //param += "\"expressCode\":\"SF\","; //物流公司编码
                //param += "\"busiMode\":\"BBC\","; //所属业务模式 (BBC/备货BC/直邮BC/个人物品)
                //param += "\"whCode\":\"FLC\",";   //发货仓库代号
                //param += "\"portCode\":\"5141\","; //口岸编码
                //param += "\"platformCode\":\"IE150604146855\",";//海关企业备案号
                //param += "\"cardNo\":\"" + receiveAddress.IDCardNo + "\",";//顾客身份证
                //param += "\"name\":\"" + JsonStrEscape(receiveAddress.Name) + "\",";
                ////param += "\"senderContact\":\"测试公司\",";
                ////param += "\"senderPhone\":\"13500000000\",";
                ////param += "\"tax\":\"" + orderInfo.TaxFee + "\",";
                //param += "\"orderItemList\":{";
                //param += "\"orderItems\":[";
                //var orderItemList = Hyt.BLL.Web.SoOrderBo.Instance.GetOrderItemListByOrderSysNo(orderId);
                //string orderItem = "";
                //foreach (var item in orderItemList)
                //{
                //    if (orderItem != "")
                //        orderItem += ",";
                //    orderItem += "{";
                //    //8712400110037
                //    //orderItem += "\"qty\":" + item.Quantity + ",\"price\":" + item.SalesUnitPrice + ",\"total\":" + item.SalesAmount + ",\"productId\":\""+item.ErpCode+"\",\"productName\":\"" + JsonStrEscape(item.ProductName) + "\"";
                //    orderItem += "\"qty\":" + item.Quantity + ",\"price\":" + item.SalesUnitPrice + ",\"total\":" + item.SalesAmount + ",\"productId\":\"8712400110136\",\"productName\":\"" + JsonStrEscape(item.ProductName) + "\"";
                //    orderItem += "}";
                //}

                //param += orderItem;
                //param += "]}}";
                #endregion
                string method = "wtdex.trade.order.add";

                order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo);
                order.OrderItemList  = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo);
                //ParaVoucherFilter voucherFilter = new ParaVoucherFilter();
                //voucherFilter.SourceSysNo = order.SysNo;
                //CBFnReceiptVoucher recVoucher = BLL.Finance.FinanceBo.Instance.GetReceiptVouchers(voucherFilter).Rows.FirstOrDefault();
                //recVoucher.VoucherItems = BLL.Finance.FnReceiptVoucherBo.Instance.GetReceiptVoucherItem(recVoucher.SysNo);


                var filter = new ParaOnlinePaymentFilter();
                filter.OrderSysNo = orderId;
                var onlinePayment = BLL.Finance.FinanceBo.Instance.GetOnlinePayments(filter).Rows.Where(o => o.Status == 1).FirstOrDefault();

                if (onlinePayment == null)
                {
                    result.Message = "订单不存在在线支付记录";
                    return(result);
                }
                // 收货人 区 市 省
                BsArea receiverDistrict = BLL.Basic.BasicAreaBo.Instance.GetArea(order.ReceiveAddress.AreaSysNo);
                BsArea receiverCity     = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverDistrict.ParentSysNo);
                BsArea receiverProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverCity.ParentSysNo);
                // 发货人 市
                CBWhWarehouse warehouse   = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo);
                BsArea        shipperCity = BLL.Basic.BasicAreaBo.Instance.GetArea(warehouse.CitySysNo);

                DsDealer dealer = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo);

                LgDeliveryType deliveryType = BLL.Logistics.DeliveryTypeBo.Instance.GetDeliveryType(order.DeliveryTypeSysNo);



                var newOrder = new WTDOrder();
                newOrder.addr             = TConvert.ToString(order.ReceiveAddress.StreetAddress).Trim();
                newOrder.area             = TConvert.ToString(receiverDistrict.AreaName).Trim();
                newOrder.busiMode         = "BC";
                newOrder.cardNo           = TConvert.ToString(order.ReceiveAddress.IDCardNo);
                newOrder.cardType         = "0";
                newOrder.city             = TConvert.ToString(receiverCity.AreaName).Trim();
                newOrder.consumerAddr     = TConvert.ToString(order.ReceiveAddress.StreetAddress).Trim();
                newOrder.consumerArea     = TConvert.ToString(receiverDistrict.AreaName).Trim();
                newOrder.consumerCity     = TConvert.ToString(receiverCity.AreaName).Trim();
                newOrder.consumerName     = TConvert.ToString(order.ReceiveAddress.Name);
                newOrder.consumerPhone    = !string.IsNullOrWhiteSpace(order.ReceiveAddress.MobilePhoneNumber) ? order.ReceiveAddress.MobilePhoneNumber : order.ReceiveAddress.PhoneNumber;
                newOrder.consumerProvince = TConvert.ToString(receiverProvince.AreaName).Trim();
                newOrder.destCity         = null;
                newOrder.expressCode      = "YT";// "SF";
                newOrder.expressNo        = null;
                newOrder.freight          = (double)order.FreightAmount;
                newOrder.ieFlag           = null;
                newOrder.insuredFee       = 0d;
                newOrder.invoice          = null;
                newOrder.invoiceHead      = null;
                newOrder.invoiceType      = null;
                newOrder.isgac            = 1;
                newOrder.isactpay         = "0";
                newOrder.isactlogistics   = "1";



                newOrder.mobile      = null;
                newOrder.name        = TConvert.ToString(order.ReceiveAddress.Name);
                newOrder.notes       = TConvert.ToString(order.Remarks).Trim();
                newOrder.orderDate   = order.CreateDate.ToString("yyyy-MM-dd");
                newOrder.orderId     = onlinePayment.BusinessOrderSysNo;
                newOrder.paymentCode = null;
                newOrder.phone       = !string.IsNullOrWhiteSpace(order.ReceiveAddress.MobilePhoneNumber) ? order.ReceiveAddress.MobilePhoneNumber : order.ReceiveAddress.PhoneNumber;

                newOrder.pickMode      = "0";//BC、PS情况下必填0:散货/包裹1:大货/备货,有货物在我们仓库
                newOrder.platformCode  = config.PlatformCode;
                newOrder.portCode      = config.PortCode;
                newOrder.prodFlag      = null;
                newOrder.province      = TConvert.ToString(receiverProvince.AreaName).Trim();
                newOrder.seller        = null;
                newOrder.senderContact = TConvert.ToString(dealer.ErpName);
                newOrder.senderPhone   = !string.IsNullOrWhiteSpace(dealer.MobilePhoneNumber) ? dealer.MobilePhoneNumber : dealer.PhoneNumber;
                newOrder.tax           = (double)order.TaxFee;
                newOrder.total         = (double)order.ProductAmount;
                //newOrder.total = 100d;
                newOrder.whCode                   = TConvert.ToString(warehouse.LogisWarehouseCode);
                newOrder.zipCode                  = null;
                newOrder.orderItemList            = new WTDOrderItemList();
                newOrder.orderItemList.orderItems = new List <WTDOrderItem>();
                WTDOrderItem orderItem = new WTDOrderItem();
                foreach (var item in order.OrderItemList)
                {
                    var product = BLL.Product.PdProductBo.Instance.GetProductNoCache(item.ProductSysNo);
                    orderItem.groupBarcode = null;
                    orderItem.isGroup      = null;
                    orderItem.postTax      = null;
                    orderItem.price        = (double)item.SalesUnitPrice;
                    orderItem.productId    = product.ErpCode;
                    orderItem.productName  = TConvert.ToString(item.ProductName);
                    orderItem.qty          = item.Quantity;
                    orderItem.total        = (double)item.SalesAmount;
                    newOrder.orderItemList.orderItems.Add(orderItem);
                    //orderItem.groupBarcode = null;
                    //orderItem.isGroup = null;
                    //orderItem.postTax = null;
                    //orderItem.price = 50d;
                    //orderItem.productId = "8712400110136";
                    //orderItem.productName = TConvert.ToString(item.ProductName);
                    //orderItem.qty = 2;
                    //orderItem.total = 100d;
                    //newOrder.orderItemList.orderItems.Add(orderItem);
                    //break;
                }

                string postData = Util.Serialization.JsonUtil.ToJson2(newOrder);
                postData = InitParams(method, postData);

                var _result = Hyt.Util.WebUtil.PostForm(apiUrl, postData);

                result = GetResponseResult(_result);

                if (result.Status == true)
                {
                    var soOrderSyncLogisticsLog = new SoOrderSyncLogisticsLog();

                    soOrderSyncLogisticsLog.OrderSysNo = orderId;
                    soOrderSyncLogisticsLog.Code       = (int)this.Code;

                    soOrderSyncLogisticsLog.LastUpdateDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;
                    soOrderSyncLogisticsLog.StatusCode     = "";
                    soOrderSyncLogisticsLog.StatusMsg      = "";
                    soOrderSyncLogisticsLog.Packets        = postData;
                    soOrderSyncLogisticsLog.ReceiptContent = _result;

                    soOrderSyncLogisticsLog.LastUpdateBy     = 0;
                    soOrderSyncLogisticsLog.LogisticsOrderId = "";

                    soOrderSyncLogisticsLog.CreateDate = DateTime.Now;
                    soOrderSyncLogisticsLog.CreatedBy  = BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo;
                    SoOrderSyncLogisticsLogBo.Instance.Insert(soOrderSyncLogisticsLog);


                    BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus(1, 3, orderId);
                }
            }
            catch (Exception ex)
            {
                result.Message = "向" + this.Code + "物流推送订单报错:" + ex.StackTrace;
                return(result);
            }

            return(result);
        }
コード例 #8
0
        /// <summary>
        /// 推送供应链订单
        /// </summary>
        /// <param name="orderSysNo"></param>
        /// <returns></returns>
        /// <remarks>
        /// 2016-4-15 陈海裕 创建
        /// 2016-5-20 刘伟豪 修改
        /// </remarks>
        public override Result <string> SendOrder(int orderSysNo)
        {
            //防止并发操作
            lock (lockHelper)
            {
                // type: pushOrderDataInfo
                var result = new Result <string>()
                {
                    Status     = false,
                    StatusCode = 0,
                    Message    = "向" + this.Code + "供应链推送订单失败"
                };

                if (orderSysNo <= 0)
                {
                    return(result);
                }

                // json格式的post数据
                string jsonData = "";
                try
                {
                    SoOrder order = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysNo);
                    if (order == null)
                    {
                        result.Message = "该订单不存在";
                        return(result);
                    }
                    order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo);
                    order.OrderItemList  = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo);
                    ParaVoucherFilter voucherFilter = new ParaVoucherFilter();
                    voucherFilter.SourceSysNo = order.SysNo;
                    CBFnReceiptVoucher recVoucher = BLL.Finance.FinanceBo.Instance.GetReceiptVouchers(voucherFilter).Rows.FirstOrDefault();
                    recVoucher.VoucherItems = BLL.Finance.FnReceiptVoucherBo.Instance.GetReceiptVoucherItem(recVoucher.SysNo);
                    // 收货人 区 市 省
                    BsArea receiverDistrict = BLL.Basic.BasicAreaBo.Instance.GetArea(order.ReceiveAddress.AreaSysNo);
                    BsArea receiverCity     = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverDistrict.ParentSysNo);
                    BsArea receiverProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverCity.ParentSysNo);

                    DsDealer dealer = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo);

                    HaiTunOrder newOrder = new HaiTunOrder();
                    newOrder.address                 = TConvert.ToString(order.ReceiveAddress.StreetAddress);
                    newOrder.city                    = TConvert.ToString(receiverCity.AreaName.Trim());
                    newOrder.consignee               = TConvert.ToString(order.ReceiveAddress.Name);
                    newOrder.consumerNote            = TConvert.ToString(order.Remarks);
                    newOrder.country                 = "中国";
                    newOrder.district                = TConvert.ToString(receiverDistrict.AreaName.Trim());
                    newOrder.idCardNumber            = TConvert.ToString(order.ReceiveAddress.IDCardNo);
                    newOrder.isCheck                 = "no";
                    newOrder.mobile                  = TConvert.ToString(order.ReceiveAddress.MobilePhoneNumber);
                    newOrder.moneyPaid               = TConvert.ToString(order.OrderAmount);
                    newOrder.orderAmount             = TConvert.ToString(order.OrderAmount);
                    newOrder.orderSn                 = TConvert.ToString(order.SysNo);
                    newOrder.paymentAccount          = "*****@*****.**"; // 固定值
                    newOrder.paymentInfoIdCardNumber = TConvert.ToString(order.ReceiveAddress.IDCardNo);
                    newOrder.paymentInfoMethod       = "支付宝";
                    newOrder.paymentInfoName         = TConvert.ToString(order.ReceiveAddress.Name);
                    newOrder.paymentInfoNumber       = TConvert.ToString(recVoucher.VoucherItems[0].VoucherNo);
                    newOrder.province                = TConvert.ToString(receiverProvince.AreaName);
                    newOrder.shippingFee             = TConvert.ToString(order.FreightAmount);
                    newOrder.siteName                = TConvert.ToString(dealer.ErpName);
                    newOrder.siteType                = "商城";
                    newOrder.tel     = TConvert.ToString(order.ReceiveAddress.PhoneNumber);
                    newOrder.zipcode = TConvert.ToString(order.ReceiveAddress.ZipCode);
                    newOrder.items   = new List <HaiTunOrderItem>();
                    HaiTunOrderItem haitunItem = new HaiTunOrderItem();
                    foreach (var item in order.OrderItemList)
                    {
#if DEBUG
                        haitunItem.goodsName  = "【广州保税 全国包邮】澳大利亚Swisse 奶蓟草护肝片肝脏排毒120粒 【2件起发】";
                        haitunItem.goodsPrice = "100";
                        haitunItem.goodsSn    = "AUSW003";
                        haitunItem.quantity   = "1";
                        newOrder.items.Add(haitunItem);
                        break;
#else
                        PdProductStock productStock  = BLL.Warehouse.PdProductStockBo.Instance.GetEntityByWP(order.DefaultWarehouseSysNo, item.ProductSysNo);
                        var            supplyProduct = BLL.Supply.ScProductBo.Instance.GetScProductInfo(productStock.ProductSku, (int)this.Code);
                        if (supplyProduct != null)
                        {
                            haitunItem.goodsName  = TConvert.ToString(supplyProduct.ProductName);
                            haitunItem.goodsPrice = TConvert.ToString(item.SalesUnitPrice);
                            haitunItem.goodsSn    = TConvert.ToString(supplyProduct.SKU);
                            haitunItem.quantity   = TConvert.ToString(item.Quantity);
                            newOrder.items.Add(haitunItem);
                        }
                        else
                        {
                            result.Message = "商品" + item.ProductSysNo + "对应的供应链商品不存在";
                            return(result);
                        }
#endif
                    }

                    jsonData = Util.Serialization.JsonUtil.ToJson2(new List <HaiTunOrder>()
                    {
                        newOrder
                    });

                    var back = Post("pushOrderDataInfo", jsonData);
                    result = GetResult(JObject.Parse(back));
                    if (result.Status)
                    {
                    }
                }
                catch (Exception ex)
                {
                    result.Message = ex.Message;
                    BLL.Log.SysLog.Instance.Error(LogStatus.系统日志来源.后台, this.Code + "供应链订单推送:" + ex.Message, ex);
                }

                return(result);
            }
        }
コード例 #9
0
ファイル: LogisticsProvider.cs プロジェクト: KqSMea8/HS.Admin
        /// <summary>
        /// 添加交易订单
        /// </summary>
        /// <param name="orderSysno"></param>
        /// <returns>2016-04-09 陈海裕 创建</returns>
        public override Result AddOrderTrade(int orderSysno)
        {
            // 订单id,用于日志记录
            _orderSysNo = orderSysno;

            Result result = new Result();

            result.Status     = false;
            result.StatusCode = 0;
            result.Message    = "接口调用失败";

            if (orderSysno <= 0)
            {
                return(result);
            }

            lock (lockHelper)
            {
                try
                {
                    SoOrder order = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysno);
                    if (order == null)
                    {
                        result.Message = "该订单不存在";
                        return(result);
                    }
                    if (order.CBLogisticsSendStatus == 1)
                    {
                        result.Message = "该订单已推送,不能重复操作";
                        return(result);
                    }
                    order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo);
                    order.OrderItemList  = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo);
                    ParaVoucherFilter voucherFilter = new ParaVoucherFilter();
                    voucherFilter.SourceSysNo = order.SysNo;
                    CBFnReceiptVoucher recVoucher = BLL.Finance.FinanceBo.Instance.GetReceiptVouchers(voucherFilter).Rows.FirstOrDefault();
                    recVoucher.VoucherItems = BLL.Finance.FnReceiptVoucherBo.Instance.GetReceiptVoucherItem(recVoucher.SysNo);
                    // 收货人 区 市 省
                    BsArea receiverDistrict = BLL.Basic.BasicAreaBo.Instance.GetArea(order.ReceiveAddress.AreaSysNo);
                    BsArea receiverCity     = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverDistrict.ParentSysNo);
                    BsArea receiverProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverCity.ParentSysNo);
                    // 发货人 市
                    CBWhWarehouse warehouse   = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo);
                    BsArea        shipperCity = BLL.Basic.BasicAreaBo.Instance.GetArea(warehouse.CitySysNo);

                    DsDealer dealer = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo);

                    LgDeliveryType deliveryType = BLL.Logistics.DeliveryTypeBo.Instance.GetDeliveryType(order.DeliveryTypeSysNo);

                    EDTOrder newOrder = new EDTOrder();
                    newOrder.Address1 = order.ReceiveAddress.StreetAddress;
                    //newOrder.Base_ChannelInfoID = "1";
                    newOrder.Base_ChannelInfoID = "HKKJ";
                    newOrder.City           = receiverCity.AreaName;
                    newOrder.ConsigneeName  = order.ReceiveAddress.Name;
                    newOrder.Contact        = !string.IsNullOrWhiteSpace(order.ReceiveAddress.MobilePhoneNumber) ? order.ReceiveAddress.MobilePhoneNumber : order.ReceiveAddress.PhoneNumber;
                    newOrder.Country        = "CN";
                    newOrder.CusRemark      = order.Remarks;
                    newOrder.GFF_CustomerID = CoustomerID;
                    newOrder.OrderStatus    = "3";
                    newOrder.State          = receiverProvince.AreaName;
                    newOrder.Style          = "1";
                    //newOrder.ShippingService = "GZBC";
                    List <EDTOrderProduct> productList = new List <EDTOrderProduct>();
                    EDTOrderProduct        product     = null;
                    foreach (var item in order.OrderItemList)
                    {
                        PdProductStock productStock = BLL.Warehouse.PdProductStockBo.Instance.GetEntityByWP(order.DefaultWarehouseSysNo, item.ProductSysNo);
                        product               = new EDTOrderProduct();
                        product.CnName        = item.ProductName;
                        product.EnName        = "";
                        product.MaterialRefNo = TConvert.ToString(productStock.ProductSku);
                        product.Price         = item.SalesUnitPrice.ToString();
                        product.Quantity      = item.Quantity.ToString();
                        product.Weight        = "";
                        product.WarehouseID   = warehouse.LogisWarehouseCode;
                        productList.Add(product);
                    }

                    if (product == null)
                    {
                        result.Message = "订单明细不存在";
                        return(result);
                    }

                    StringBuilder strorderinfo = new StringBuilder();
                    strorderinfo.Append("Style:" + newOrder.Style + ";");
                    strorderinfo.Append("GFF_CustomerID:" + newOrder.GFF_CustomerID + ";");
                    strorderinfo.Append("GFF_ReceiveSendAddressID:;");
                    strorderinfo.Append("ConsigneeName:" + newOrder.ConsigneeName + ";");
                    strorderinfo.Append("Country:" + newOrder.Country + ";");
                    strorderinfo.Append("Base_ChannelInfoID:" + newOrder.Base_ChannelInfoID + ";");
                    strorderinfo.Append("State:" + newOrder.State + ";");
                    strorderinfo.Append("City:" + newOrder.City + ";");
                    strorderinfo.Append("OrderStatus:" + newOrder.OrderStatus + ";");
                    strorderinfo.Append("Address1:" + newOrder.Address1 + ";");
                    strorderinfo.Append("Address2:;");
                    strorderinfo.Append("CsRefNo:;");
                    strorderinfo.Append("Zipcode:;");
                    strorderinfo.Append("Contact:" + newOrder.Contact + ";");
                    strorderinfo.Append("CusRemark:" + newOrder.CusRemark + ";");
                    strorderinfo.Append("TrackingNo:;");
                    //strorderinfo.Append("ShippingService:" + newOrder.ShippingService + ";");
                    StringBuilder strorderproduct = new StringBuilder();
                    for (int i = 0; i < productList.Count; i++)
                    {
                        strorderproduct.Append("MaterialRefNo:" + productList[i].MaterialRefNo + ",");
                        //strorderproduct.Append("MaterialRefNo:123456,");
                        strorderproduct.Append("Quantity:" + productList[i].Quantity + ",");
                        strorderproduct.Append("Price:" + productList[i].Price + ",");
                        strorderproduct.Append("Weight:" + productList[i].Weight + ",");
                        strorderproduct.Append("EnName:" + productList[i].EnName + ",");
                        strorderproduct.Append("WarehouseID:" + productList[i].WarehouseID + ",");
                        strorderproduct.Append("ProducingArea:,");
                        productList[i].CnName = Regex.Replace(productList[i].CnName, @"[/\(\)(),]", "");
                        strorderproduct.Append("CnName:" + productList[i].CnName + ",;");
                    }

                    ServiceRefEightDT.APIWebServiceSoapClient newService = new ServiceRefEightDT.APIWebServiceSoapClient();

                    string strResult = newService.InsertUpdateOrder(strorderinfo.ToString(), strorderproduct.ToString(), "", Secretkey);
                    if (strResult.Contains("成功"))
                    {
                        try
                        {
                            CrossBorderLogisticsOrder cbOrder = BLL.CrossBorderLogistics.CrossBorderLogisticsOrderBo.Instance.GetEntityByOrderSysNo(orderSysno);
                            if (cbOrder == null)
                            {
                                Model.CrossBorderLogisticsOrder logisticsOrder = new Model.CrossBorderLogisticsOrder();
                                logisticsOrder.SoOrderSysNo     = orderSysno;
                                logisticsOrder.LogisticsOrderId = Regex.Match(strResult, "[a-zA-Z0-9]+").ToString();
                                logisticsOrder.LogisticsCode    = (int)this.Code;
                                BLL.CrossBorderLogistics.CrossBorderLogisticsOrderBo.Instance.InsertEntity(logisticsOrder);
                            }
                            // 更新订单状态
                            BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus(1, 3, orderSysno);
                        }
                        catch (Exception ex)
                        {
                            BLL.Log.SysLog.Instance.Error(LogStatus.系统日志来源.后台, "订单" + orderSysno + "保存跨境物流返回的单号失败。", ex);
                        }

                        result.Status = true;
                    }

                    result.Message = strResult;
                }
                catch (Exception ex)
                {
                    result.Message = "向" + this.Code + "物流推送订单报错:" + ex.StackTrace;
                    return(result);
                }
            }

            return(result);
        }
コード例 #10
0
ファイル: TTest.cs プロジェクト: wnmwi/ToolBox
 public void Test1()
 {
     byte[] byteArr = TStream.GetFileByteArr("F:\\华为手机备忘录.txt");
     string text    = TConvert.BytesToString(byteArr);
 }
コード例 #11
0
ファイル: TConvertTest.cs プロジェクト: wnmwi/ToolBox
 public void ObjectToJsonTest()
 {
     string[] arr     = new string[] { "1", "2" };
     var      result  = TConvert.ObjectToJson(arr);
     var      result2 = TConvert.JsonToObject <List <string> >(result);
 }
コード例 #12
0
ファイル: ControllerMini.cs プロジェクト: Haku-Men/TPlayer
 private void progFull_TimeChange(double value)
 {
     label2.Text = TConvert.ToTimeStr(value) + "/" + maxtime;
 }
コード例 #13
0
ファイル: ControllerMini.cs プロジェクト: Haku-Men/TPlayer
 private void progFull_MaxTimeChange(double value)
 {
     maxtime = TConvert.ToTimeStr(value);
 }
コード例 #14
0
 public static TConvert ClassConvert(this IConvert obj)
 {
     TC = (TC == null) ? new TConvert() : TC;
     return(TC);
 }
コード例 #15
0
        /// <summary>
        /// 添加交易订单
        /// </summary>
        /// <param name="orderId">销售订单系统编号</param>
        /// <returns></returns>
        /// <remarks></remarks>
        ///  <remarks>2016-3-8 杨浩 创建</remarks>
        ///  <remarks>2016-09-22 周 重构</remarks>
        public override Result AddOrderTrade(int orderId)
        {
            var result = new Result()
            {
                Status     = false,
                StatusCode = 0,
                Message    = "向" + this.Code + "物流推送订单失败"
            };

            #region
            try
            {
                var order = Hyt.BLL.Order.SoOrderBo.Instance.GetEntity(orderId);
                if (order == null)
                {
                    result.Status     = false;
                    result.Message    = string.Format("订单号{0}不存在!", orderId);
                    result.StatusCode = -100;
                }

                order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo);
                order.OrderItemList  = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo);
                var filter = new ParaOnlinePaymentFilter();
                filter.OrderSysNo = orderId;
                var onlinePayment = BLL.Finance.FinanceBo.Instance.GetOnlinePayments(filter).Rows.Where(o => o.Status == 1).FirstOrDefault();

                if (onlinePayment == null)
                {
                    result.Message = "订单不存在在线支付记录";
                    return(result);
                }
                // 收货人 区 市 省
                BsArea receiverDistrict = BLL.Basic.BasicAreaBo.Instance.GetArea(order.ReceiveAddress.AreaSysNo);
                BsArea receiverCity     = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverDistrict.ParentSysNo);
                BsArea receiverProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverCity.ParentSysNo);
                // 发货人 市
                CBWhWarehouse  warehouse    = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo);
                BsArea         shipperCity  = BLL.Basic.BasicAreaBo.Instance.GetArea(warehouse.CitySysNo);
                DsDealer       dealer       = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo);
                LgDeliveryType deliveryType = BLL.Logistics.DeliveryTypeBo.Instance.GetDeliveryType(order.DeliveryTypeSysNo);

                var newOrder = new CreatedOrderApiRequest();
                newOrder.OutOrderNo                     = order.SysNo.ToString();
                newOrder.DeliveryCode                   = "3";//暂时默认1(后期此参数作废)
                newOrder.ReceiverName                   = TConvert.ToString(order.ReceiveAddress.Name);
                newOrder.ReceiverMobile                 = !string.IsNullOrWhiteSpace(order.ReceiveAddress.MobilePhoneNumber) ? order.ReceiveAddress.MobilePhoneNumber : order.ReceiveAddress.PhoneNumber;
                newOrder.ReceiverProvince               = TConvert.ToString(receiverProvince.AreaName).Trim();
                newOrder.ReceiverCity                   = TConvert.ToString(receiverCity.AreaName).Trim();
                newOrder.ReceiverDistrict               = TConvert.ToString(receiverDistrict.AreaName).Trim();
                newOrder.ReceiverAddress                = TConvert.ToString(order.ReceiveAddress.StreetAddress).Trim();
                newOrder.ReceiverIdCard                 = TConvert.ToString(order.ReceiveAddress.IDCardNo);
                newOrder.ReceiverFrontIdCardImageUrl    = HttpContext.Current.Request.Url.Host + TConvert.ToString(order.ReceiveAddress.IDCardImgs);
                newOrder.ReceiverOppositeIdCardImageUrl = HttpContext.Current.Request.Url.Host + TConvert.ToString(order.ReceiveAddress.IDCardImgs);
                newOrder.UserRemark                     = order.Remarks;

                newOrder.ThirdPlatformPaymentName = Enum.GetName(typeof(Hyt.Model.CommonEnum.PayCode), order.PayTypeSysNo);
                var    payment       = Hyt.BLL.Finance.FinanceBo.Instance.GetOnlinePaymentBySourceSysNo(orderId);
                string PaymentNumber = "";
                if (payment != null)
                {
                    PaymentNumber = payment.VoucherNo;
                }
                newOrder.ThirdPlatformPaymentNumber = PaymentNumber;

                newOrder.Items = new List <CreatedOrderItemRequest>();
                CreatedOrderItemRequest orderItem = new CreatedOrderItemRequest();

                foreach (var item in order.OrderItemList)
                {
                    var product = BLL.Product.PdProductBo.Instance.GetProductNoCache(item.ProductSysNo);
                    orderItem.SkuId    = product.ErpCode;
                    orderItem.Quantity = item.Quantity;
                    newOrder.Items.Add(orderItem);
                }
                var json = Newtonsoft.Json.JsonConvert.SerializeObject(newOrder);
                //推送订单
                var _result = CreatedOrder(newOrder);
                if (_result.ResultCode == 200)
                {
                    var soOrderSyncLogisticsLog = new SoOrderSyncLogisticsLog();

                    soOrderSyncLogisticsLog.OrderSysNo = orderId;
                    soOrderSyncLogisticsLog.Code       = (int)this.Code;

                    soOrderSyncLogisticsLog.LastUpdateDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;
                    soOrderSyncLogisticsLog.StatusCode     = "";
                    soOrderSyncLogisticsLog.StatusMsg      = "";
                    soOrderSyncLogisticsLog.Packets        = json;
                    soOrderSyncLogisticsLog.ReceiptContent = _result.Tag.ToString();

                    soOrderSyncLogisticsLog.LastUpdateBy     = 0;
                    soOrderSyncLogisticsLog.LogisticsOrderId = "";

                    soOrderSyncLogisticsLog.CreateDate = DateTime.Now;
                    soOrderSyncLogisticsLog.CreatedBy  = BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo;
                    SoOrderSyncLogisticsLogBo.Instance.Insert(soOrderSyncLogisticsLog);
                    BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus(1, 3, orderId);
                    result.Message = "向" + this.Code + "物流推送订单成功:回执单号:" + _result.Tag.ToString();
                }
                else
                {
                    result.Message = _result.Message;
                }
            }
            catch (Exception ex)
            {
                result.Message = "向" + this.Code + "物流推送订单报错:" + ex.StackTrace;
                return(result);
            }
            #endregion

            return(result);
        }
コード例 #16
0
ファイル: Controller.cs プロジェクト: Haku-Men/TPlayer
        Bitmap PrintBit(Rectangle original_rect)
        {
            Bitmap original_bmp = new Bitmap(original_rect.Width, original_rect.Height);

            using (Graphics g = Graphics.FromImage(original_bmp))
            {
                g.SmoothingMode      = SmoothingMode.HighQuality;
                g.InterpolationMode  = InterpolationMode.HighQualityBicubic;
                g.CompositingQuality = CompositingQuality.HighQuality;
                g.PixelOffsetMode    = PixelOffsetMode.HighQuality; //高像素偏移质量

                using (LinearGradientBrush myBrush = new LinearGradientBrush(original_rect, Color.Transparent, Color.FromArgb(100, Color.Black), LinearGradientMode.Vertical))
                {
                    g.FillRectangle(myBrush, original_rect);
                }
                try
                {
                    #region 绘制进度条

                    if (_maxvalue > 0)
                    {
                        //double p = _value;
                        g.FillRectangle(solidBrush_WhiteSmoke, prog_rect);


                        if (_buffvalue != null && _buffvalue.Count > 0)
                        {
                            if (_buffvalue.Count == 1 && _buffvalue[0].Index == -10)
                            {
                                g.FillRectangle(solidBrush_WhiteSmokes, prog_rect);
                            }
                            else
                            {
                                float _with = (float)prog_rect.Width / Leng;
                                foreach (_Buffe item in _buffvalue)
                                {
                                    RectangleF rectangleF = new RectangleF(prog_rect.X + (item.Index * _with), prog_rect.Y, item.Leng * _with, prog_rect.Height);
                                    g.FillRectangle(solidBrush_WhiteSmokes, rectangleF);
                                }
                            }
                        }


                        string time_txt;
                        bool   _isRenderEllipse = false;
                        float  uk;
                        if (IsMouseDown)
                        {
                            _isRenderEllipse = true;
                            //10
                            double jing = _value / 100.0;
                            uk       = (float)(original_rect.Width * jing);
                            time_txt = TConvert.ToTimeStr(jing * _maxvalue, _maxvalue);
                        }
                        else
                        {
                            //6
                            uk = (float)(original_rect.Width * (_value / _maxvalue));
                            if (IsMouseHove)
                            {
                                _isRenderEllipse = true;
                            }
                            time_txt = TConvert.ToTimeStr(_value, _maxvalue);
                        }

                        g.FillRectangle(_ValueColor, new RectangleF(prog_rect.X, prog_rect.Y, uk, prog_rect.Height));

                        if (_isRenderEllipse)
                        {
                            RectangleF y_rect  = new RectangleF(prog_rect.X + uk - prog_rect.Height, prog_rect.Y - (prog_rect.Height / 2), prog_rect.Height * 2, prog_rect.Height * 2);
                            RectangleF y_rects = new RectangleF(y_rect.X - 2, y_rect.Y - 2, y_rect.Width + 4, y_rect.Height + 4);


                            using (GraphicsPath path = new GraphicsPath())
                            {
                                path.AddEllipse(y_rects);
                                //渐变填充GraphicsPath对象
                                using (PathGradientBrush brush = new PathGradientBrush(path))
                                {
                                    brush.CenterColor = Color.Black;
                                    //渐变中心点位置
                                    //brush.CenterPoint = new PointF(100f, 100f);
                                    brush.SurroundColors = new Color[] { Color.Transparent };
                                    g.FillPath(brush, path);
                                }
                            }

                            g.FillEllipse(solidBrush_White, y_rect);
                        }
                        if (prog_time_rect.Width > 40)
                        {
                            g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
                            g.DrawString(time_txt, prog_time_rect.Width > 140 ? TimeFont : TimeFont_Mini, solidBrush_White, prog_time_rect, stringFormat);
                        }

                        //if (jing >= 0)
                        //{
                        //    if (_buffvalue != null)
                        //    {
                        //        if (_buffvalue.Count == 1 && _buffvalue[0].Index == -10)
                        //        { g.FillRectangle(solidBrush_White, new RectangleF(prog_rect.X, prog_rect.Height - 1, prog_rect.Width, 1)); }
                        //        else
                        //        {
                        //            float _with = (float)prog_rect.Width / Leng;
                        //            foreach (_Buffe item in _buffvalue)
                        //            {
                        //                RectangleF rectangleF = new RectangleF(prog_rect.X + (item.Index * _with), prog_rect.Height - 3, item.Leng * _with, 3);
                        //                g.FillRectangle(solidBrush_White, rectangleF);
                        //            }
                        //        }
                        //    }
                        //    float uk = (float)(prog_rect.Width * (jing / 100.0));
                        //    g.FillRectangle(_BlockColor, new RectangleF(prog_rect.X, prog_rect.Y, uk, prog_rect.Height));
                        //    g.FillRectangle(new SolidBrush(Color.FromArgb(10, 255, 255, 255)), prog_rect);
                        //}
                    }
                    //else if (player.IsPlaying && prog_time_rect.Width > 20)
                    //{
                    //    g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
                    //    g.DrawString("直播", TimeFont_Mini, solidBrush_White, prog_time_rect, stringFormat);
                    //}
                    #endregion

                    //g.DrawArc(pen, lonsrect, 0, 360f);
                    if (rippleAnimationManager.IsAnimating())
                    {
                        for (int i = 0; i < rippleAnimationManager.GetAnimationCount(); i++)
                        {
                            double animationValue = rippleAnimationManager.GetProgress(i);
                            if (animationValue > 0)
                            {
                                float      wi   = ((float)animationValue * (btn_play_rect_render.Width)) + btn_play_rect_default_render.Height;
                                float      gogo = (original_rect.Height - wi) / 2;
                                RectangleF recc = new RectangleF(gogo - 6, gogo + 6, wi, wi);
                                g.DrawEllipse(pentwo, recc);
                            }
                        }
                    }
                    else if (!_IsPlay)
                    {
                        g.DrawEllipse(pen, btn_play_rect_default_render);
                    }


                    if (visible_setting)
                    {
                        g.DrawImage(Properties.Resources.ios_settings, btn_setting_rect);
                    }
                    if (visible_download)
                    {
                        g.DrawImage(Properties.Resources.ios_download, btn_download_rect);
                        g.FillEllipse(solidBrush_Red, btn_download_rects);
                        g.DrawString(player.DownTotalCount.ToString(), TimeFont_Mini, solidBrush_White, btn_download_rects, stringFormatC);
                    }
                    if (visible_volume)
                    {
                        g.DrawImage(GetV(), btn_volume_rect);
                    }
                    if (visible_photo)
                    {
                        g.DrawImage(Properties.Resources.ios_photo_b, btn_photo_rect);
                    }
                    if (visible_record)
                    {
                        g.DrawEllipse(pen2, btn_record_rects1);
                        g.FillEllipse(solidBrush_Red, player.isRecord ? btn_record_rects2 : btn_record_rects3);
                    }
                    if (visible_tv)
                    {
                        g.DrawImage(Properties.Resources.ios_tv, btn_tv_rect);
                    }

                    g.DrawImage(player.IsFullScreen ? Properties.Resources.btn_fullscreen_ok : Properties.Resources.btn_fullscreen, btn_fullscreen_rects);


                    g.DrawImage(Properties.Resources.btn_stop, btn_stop_rect);
                    if (_IsNext)
                    {
                        g.DrawImage(Properties.Resources.btn_next, btn_next_rect);
                    }
                    g.DrawImage(_IsPlay ? Properties.Resources.btn_pause : Properties.Resources.btn_play, btn_play_rect);
                }
                catch { }
            }

            return(original_bmp);
        }
コード例 #17
0
 private static T ToTDefault <T>(this RedisValue redisValue, TConvert <T> converter, T def = default(T))
 {
     return(converter(redisValue, out T res) ? res : def);
 }
コード例 #18
0
ファイル: TStringTest.cs プロジェクト: wnmwi/ToolBox
 public void Test()
 {
     var    buffer = TStream.GetFileByteArr(@"d:\¹ÅÊ«´ÊÃû¾ä¡¾¹Ù·½ÍƼö¡¿.scel");
     string txt    = TConvert.BytesToString(buffer, Encoding.Default);
 }
コード例 #19
0
ファイル: Header.cs プロジェクト: Haku-Men/TPlayer
        Bitmap PrintBit(Rectangle original_rect)
        {
            Bitmap original_bmp = new Bitmap(original_rect.Width, original_rect.Height);

            using (Graphics g = Graphics.FromImage(original_bmp))
            {
                g.SmoothingMode      = SmoothingMode.HighQuality;
                g.InterpolationMode  = InterpolationMode.HighQualityBicubic;
                g.CompositingQuality = CompositingQuality.HighQuality;
                g.PixelOffsetMode    = PixelOffsetMode.HighQuality; //高像素偏移质量
                g.TextRenderingHint  = System.Drawing.Text.TextRenderingHint.AntiAlias;
                using (LinearGradientBrush myBrush = new LinearGradientBrush(original_rect, Color.FromArgb(100, Color.Black), Color.Transparent, LinearGradientMode.Vertical))
                {
                    g.FillRectangle(myBrush, original_rect);
                }

                if (isHove_close)
                {
                    g.FillRectangle(solidBrush_Hove2, btn_close_rect);
                }
                g.DrawImage(Properties.Resources.icon_play, btn_logo_rect);
                g.DrawImage(Properties.Resources.btn_close, btn_close_rect);
                g.DrawImage(player.isMax || player.IsFullScreen ? (isHove_max ? TSkin.Api.GetImgHDispose(Properties.Resources.btn_max, 0.3f) : Properties.Resources.btn_max) : (isHove_max ? TSkin.Api.GetImgHDispose(Properties.Resources.btn_restore, 0.3f) : Properties.Resources.btn_restore), btn_max_rect);
                g.DrawImage(isHove_min ? TSkin.Api.GetImgHDispose(Properties.Resources.btn_min, 0.3f) : Properties.Resources.btn_min, btn_min_rect);
                if (!player.IsFullScreen)
                {
                    g.DrawImage(player.isTop ? (isHove_top ? TSkin.Api.GetImgHDispose(Properties.Resources.btn_top_ok) : Properties.Resources.btn_top_ok) : (isHove_top ? TSkin.Api.GetImgHDispose(Properties.Resources.btn_top) : Properties.Resources.btn_top), btn_top_rects);
                    if (!player.isDLNA)
                    {
                        g.DrawImage(player.isMini ? (isHove_mini ? TSkin.Api.GetImgHDispose(Properties.Resources.btn_mini_ok) : Properties.Resources.btn_mini_ok) : (isHove_mini ? TSkin.Api.GetImgHDispose(Properties.Resources.btn_mini) : Properties.Resources.btn_mini), btn_mini_rects);
                    }
                    //if (isHove_top)
                    //{
                    //    g.FillRectangle(solidBrush_Hove, btn_top_rect);
                    //}
                    //if (isHove_mini)
                    //{
                    //    g.FillRectangle(solidBrush_Hove, btn_mini_rect);
                    //}
                }

                //if (isHove_max)
                //{
                //    g.FillRectangle(solidBrush_Hove, btn_max_rect);
                //}
                //if (isHove_min)
                //{
                //    g.FillRectangle(solidBrush_Hove, btn_min_rect);
                //}
                if (player.IsFullScreen)
                {
                    g.DrawString(DateTime.Now.ToString("HH:mm"), fontws, solidBrush_White, original_rect, stringFormats);
                }


                if (!string.IsNullOrEmpty(_explain))
                {
                    g.DrawString(_explain, fontw, solidBrush_WhiteSmoke, explain_rect, stringFormat);
                }
                if (name_rect.Width > 0 && !string.IsNullOrEmpty(player.Text))
                {
                    g.DrawString(player.Text, font, solidBrush_White, name_rect, stringFormat);
                }

                if (player.isRecord)
                {
                    g.DrawString("● REC  " + TConvert.ToTimeStr(DateTime.Now - player.RecordTime), fontws, solidBrush_Red, rec_rect, stringFormat2);
                }
            }

            return(original_bmp);
        }