/// <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); }