/// <summary> /// 更新訂單狀態 /// </summary> /// <param name="viewModel">訂單ViewModel</param> public void UpdateOrderStatus(List <OrderViewModel> viewModel) { viewModel = viewModel.Where(x => x.IsSelect == true).ToList(); OrderQueryBuilder builder = new OrderQueryBuilder(); string sql = builder.GetUpdateStatusSql(); if (viewModel.Count != 0) { try { using (TransactionScope scope = new TransactionScope()) { List <string> orderIds = viewModel.Select(x => x.Id).ToList(); this.OrderRepository.Execute(sql, new { Status = (int)OrderStatusEnum.ToBeShipped, OrderIds = orderIds.ToArray() }); orderIds.ForEach(x => this.ShippingOrderService.InsertShippingOrder(x)); scope.Complete(); } // 紀錄更新完成 } catch (Exception ex) { // 紀錄訂單更新失敗 } } }
/// <summary> /// 取得會員訂單清單 /// </summary> /// <param name="memberId">會員編號</param> /// <returns>訂單清單</returns> public List <OrderViewModel> GetMemberOrderList(int memberId) { OrderQueryBuilder builder = new OrderQueryBuilder(); string sql = builder.GetMemberOrderListSql(); return(this.OrderRepository.Query <OrderViewModel>(sql, new { MemberId = memberId }).ToList()); }