Пример #1
0
        /// <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)
                {
                    // 紀錄訂單更新失敗
                }
            }
        }
Пример #2
0
        /// <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());
        }