/// <summary>
        /// Get Specific OrderDetails.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public IResult GetOrderDetailsById(string id)
        {
            var result = new Result
            {
                Operation = Operation.Read,
                Status    = Status.Success
            };

            try
            {
                if (!string.IsNullOrEmpty(id))
                {
                    OrderDetailViewModel orderDetailViewModel = null;
                    var orderDetail = _orderDetailRepository.GetOne(t => t.OrderId == ObjectId.Parse(id));
                    if (orderDetail != null)
                    {
                        orderDetailViewModel = new OrderDetailViewModel();
                        orderDetailViewModel.MapFromModel(orderDetail);
                        if (orderDetail.CartItems == null && orderDetail.CartItems.Any())
                        {
                            var cartItemList = new List <CartItem>();
                            orderDetailViewModel.cartItems = cartItemList.MapFromModel <CartItem, CartItemViewModel>(orderDetail.CartItems);
                        }
                        result.Body = orderDetailViewModel;
                    }
                    else
                    {
                        result.Message = OrderNotification.NoOrder;
                    }
                }
                else
                {
                    result.Status  = Status.Fail;
                    result.Message = CommonErrorMessages.NoIdentifierProvided;
                }
            }
            catch (Exception e)
            {
                result.Message = e.Message;
                result.Status  = Status.Fail;
            }
            return(result);
        }