Beispiel #1
0
        public async Task <ResultDto> GetOrderByOrderNumber(int orderNumber)
        {
            var result = new ResultDto();

            try
            {
                var order = await GetOrderByNumber(orderNumber);

                if (order == null)
                {
                    result.Success = false;
                    result.Message = Messages.OrderNotFound(orderNumber);
                    return(result);
                }

                result.SingleOrder = DtoMapper.MapOrderDetailsModelToReadOrderDto(order);
                return(result);
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
                return(result);
            }
        }
Beispiel #2
0
        public async Task <ResultDto> AddNewOrderDetails(IncommingOrderDto orderDetails)
        {
            var result = new ResultDto();

            try
            {
                var newOrder = DtoMapper.MapIncommingOrderDtoToOrderDetailsModel(orderDetails);
                Task.WaitAll(AddNewOrder(newOrder));
                var createdOrder = await GetOrderByNumber(orderDetails.OrderNumber);

                if (createdOrder == null)
                {
                    result.Success = false;
                    result.Message = Messages.FailedToCreateOrder(orderDetails.OrderNumber);
                    return(result);
                }

                result.SingleOrder = DtoMapper.MapOrderDetailsModelToReadOrderDto(createdOrder);
                result.Message     = Messages.OrderCreatedSuccessfully(createdOrder.OrderNumber);
                return(result);
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
                return(result);
            }
        }
Beispiel #3
0
        public async Task <ResultDto> GetAllOrders()
        {
            var result = new ResultDto
            {
                ListOfOrders = new List <ReadOrderDto>()
            };
            var allOrders = await GetListOfAllOrders();

            try
            {
                if (allOrders.Count() == 0)
                {
                    result.Success = false;
                    result.Message = Messages.NoOrdersFound();
                    return(result);
                }

                allOrders.ForEach(o => result.ListOfOrders.Add(DtoMapper.MapOrderDetailsModelToReadOrderDto(o)));
                return(result);
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
                return(result);
            }
        }
Beispiel #4
0
        public async Task <ResultDto> GetOrdersByUserId(int userId)
        {
            var result = new ResultDto
            {
                ListOfOrders = new List <ReadOrderDto>()
            };

            try
            {
                var userOrders = await GetUserOrders(userId);

                if (userOrders.Count() == 0)
                {
                    result.Success = false;
                    result.Message = Messages.UserOrdersNotFound(userId);
                    return(result);
                }

                userOrders.ForEach(o => result.ListOfOrders.Add(DtoMapper.MapOrderDetailsModelToReadOrderDto(o)));
                return(result);
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
                return(result);
            }
        }
Beispiel #5
0
        public void MapOrderDetailsModelToReadOrderDto_ShouldReturnReadOrderDtoType()
        {
            var orderDetails = new OrderDetails {
                OrderNumber = 5, UserId = 456, PayableAmount = 99.12, PaymentGateWay = "Seb", Description = "This is order number 5"
            };

            var actual = DtoMapper.MapOrderDetailsModelToReadOrderDto(orderDetails);

            Assert.IsType <ReadOrderDto>(actual);
        }