public void GetOrderHistsTest() { const string custId = "LAZYK"; var histReal = repository.GetOrderHists(custId); var histExp = new OrderHist { CustHist = new List <CustOrderHist>() }; var prodBoston = new CustOrderHist() { ProductName = "Boston Crab Meat", Total = 10 }; histExp.CustHist.Add(prodBoston); var prodQueso = new CustOrderHist() { ProductName = "Queso Cabrales", Total = 10 }; histExp.CustHist.Add(prodQueso); Assert.That(histExp, Is.EqualTo(histReal).Using(new OrderHistComparer())); }
public List <OrderHist> ViewCustOrderHist(string CustomerID) { using (IDbConnection connection = new SqlConnection(connectionString)) { connection.Open(); var command = connection.CreateCommand(); command.CommandText = "exec CustOrderHist @SelCustomerID"; AddParameter <string>(command, "@SelCustomerID", CustomerID, DbType.String); IDataReader reader = command.ExecuteReader(); List <OrderHist> list = new List <OrderHist>(); while (reader.Read()) { OrderHist oh = new OrderHist(reader.GetString(0), reader.GetInt32(1)); list.Add(oh); } return(list); } }
/// <summary> /// 完成支付 /// </summary> /// <param name="orderNo">订单号</param> /// <param name="tradeNo">交易单号</param> /// <param name="feeType">交易方式</param> /// <param name="isReviewPass">是否默认通过审核 如果为false则待审核</param> /// <returns></returns> public void FinishOrder(string orderNo, string tradeNo, FeeType feeType, bool isReviewPass = true) { //取出订单 var order = GetOrderByOrderNo(orderNo); if (order != null && order.TradeStatus == TradeStatus.NotPay) { //插入订单历史 OrderHist oh = new OrderHist(); oh.CopyProperty(order); oh.Id = FCake.Core.Common.DataHelper.GetSystemID(); oh.CreatedOn = DateTime.Now; oh.CreatedBy = order.CreatedBy; DAL.Entities <OrderHist>().Add(oh); //oh.OrderId = order.Id; //oh.No = order.No; //oh //变更支付状态 //改order 状态 订单状态、支付状态,插入状态,支付状态 //todo: 更改订单状态 逻辑? order.Status = OrderStatus.HadPaid; order.TradeNo = tradeNo; order.ActualPay = order.TotalPrice - (order.CouponPay + order.GiftCardPay + order.IntegralPay); order.TradeStatus = TradeStatus.HadPaid; if (isReviewPass) { if (order.ReviewStatus != ReviewStatus.ReviewPass && order.ReviewStatus != ReviewStatus.ReviewReject && order.ReviewStatus != ReviewStatus.Canceled) { order.ReviewStatus = ReviewStatus.ReviewPending;//付了款的订单还是要审核 } } else { order.ReviewStatus = ReviewStatus.ReviewOnLineNoPay; } //order.ReviewStatus = (isReviewPass ? ReviewStatus.ReviewPending : ReviewStatus.ReviewOnLineNoPay);//付了款的订单还是要审核 //发送短信给客户 if (order.ReceiverMobile != "" && order.ReceiverMobile != null) { var customer = (new CustomersService()).GetById(order.CustomerId); if (customer != null) { try { //EChiHelper.SendSMS(customer.Mobile, new FCake.Bll.Services.MsgTemplateService().GetMsgTempByCategory("Pass"), FormatType.BuySuccess); var sendSMSErrorMsg = string.Empty; var sendResult = DaYuSMSHelper.SendNotifySMS(customer.Mobile, DaYuConfig.OrderApproveTemplate, out sendSMSErrorMsg); if (!sendResult) { SysLogService.SaveAliSMSErrorLog(sendSMSErrorMsg, customer.Mobile, DaYuConfig.OrderApproveTemplate); } } catch { } } //EChiHelper.SendSMS(order.ReceiverMobile, FormatType.BuySuccess, new FCake.Bll.Services.MsgTemplateService().GetMsgTempByCategory("Pass")); } //提交 DAL.Commit(); } }