예제 #1
0
        /// <summary>
        /// Delete orderdetails
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public DeleteOrderDetailsResponse DeleteOrderDetails(DeleteOrderDetailsRequest request)
        {
            OrderDetailsService        service  = new OrderDetailsService();
            DeleteOrderDetailsResponse response = new DeleteOrderDetailsResponse();
            OrderService orderService           = new OrderService();

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    response.IsFailed = !(service.DeleteOrderDetails(request.OrderDetails.OrderDetailId));
                    if (service.GetOrderDetailsByOrderId(request.OrderDetails.OrderId).Count == 0)
                    {
                        orderService.DeleteOrder(request.OrderDetails.OrderId);
                    }
                    // The Complete method commits the transaction. If an exception has been thrown,
                    // Complete is not  called and the transaction is rolled back.
                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                response.IsFailed = true;
                response.Message  = ex.Message;
            }
            return(response);
        }