public string AddOrder(OrderMasterInputDto input) { var carts = _cartSerivce.ListShoppingCartDtoByCustomerNo(UserNo).FindAll(m => m.CartSelected); var sales = _productService.ListProductSalesByProductNos(carts.Select(c => c.ProductNo)); var photos = _productService.ListProductPhotosByProductNos(carts.Select(c => c.ProductNo)); var product = _productService.ListProductAll().FindAll(m => carts.Select(c => c.ProductNo).Contains(m.ProductNo)); var orderNo = _orderService.AddOrder(UserNo, input, carts, sales, photos, product); SendSocket(orderNo); return("success|" + orderNo); }
public string AddOrder(string custormerNo, OrderMasterInputDto inputDto, List <ShoppingCartDto> cartsDto, List <ProductSales> productSales, List <ProductPhotos> productPhotos, List <Products> products) { //将这三部包含在事务中 using (TransactionScope ts = new TransactionScope()) { try { //添加主订单 DateTime inputDate = DateTime.Now; string orderNo = Guid.NewGuid().ToString(); SaleOrderMasters master = new SaleOrderMasters { CustomerNo = custormerNo, DeliveryDate = inputDto.DeliveryDate, EditUserNo = custormerNo, InputDate = inputDate, InvoiceNo = inputDto.InvoiceNo, Remark = inputDto.Remark, SaleOrderNo = orderNo, StockNo = "", }; _orderMasterRepository.Insert(master); //添加订单流程 AddProgress(orderNo); //添加订单详情(再订单详情中 删除相应物品的购物车信息) var carts = _mapper.Map <List <ShoppingCarts> >(cartsDto); AddOrderDetail(custormerNo, carts, productSales, productPhotos, products, inputDate, orderNo); ts.Complete(); return(orderNo); } catch (System.Exception ex) { ts.Dispose(); throw ex; } } }