public async Task <CustomerOrderDetailResponse> GetCustomerOrderDetail(CustomerOrderDetailRequest request)
        {
            var customerOrderDetailResonse = new CustomerOrderDetailResponse();
            var customer = _customerDetailProvider.GetCustomer(request.User);

            if (request.CustomerId != customer.customerId)
            {
                return(null);
            }

            customerOrderDetailResonse.customer = customer;

            var orderDetail = await Task.Run(() => _customerOrderRepository.GetOrder(request.CustomerId));

            if (orderDetail != null)
            {
                orderDetail.deliveryAddress      = customer.houseNumber + "," + customer.street + "," + customer.town + "," + customer.postcode;
                orderDetail.orderDate            = DateTime.Parse(orderDetail.orderDate).ToString("dd-MMM-yyyy");
                orderDetail.deliveryExpected     = DateTime.Parse(orderDetail.deliveryExpected).ToString("dd-MMM-yyyy");
                customerOrderDetailResonse.order = orderDetail;
            }


            return(customerOrderDetailResonse);
        }
Exemplo n.º 2
0
        internal void GetCustomerOrderDetialsTest()
        {
            CustomerOrderDetailRequest customerOrderDetailRequest = new CustomerOrderDetailRequest();

            customerOrderDetailRequest.CustomerId = 24325;

            RestClient restClient = new RestClient("http://localhost:14547/api/");
            Dictionary <string, string> userInfo = new Dictionary <string, string>();

            userInfo.Add("Username", "1");
            userInfo.Add("Password", "2");
            List <CustomerOrderDetailDto> customerOrder = new List <CustomerOrderDetailDto>();

            try {
                customerOrder = restClient.Consume <CustomerOrderDetailResponse>("CustomerOrder/GetCustomerOrderDetail", "POST", customerOrderDetailRequest, userInfo).CustomerOrderDetails;
            }
            catch (Exception ex) {
            }
            Console.WriteLine("ProductName         UnitPrice   Quantity");
            if (customerOrder != null)
            {
                foreach (var testRow in customerOrder)
                {
                    Console.Write(EditCell(testRow.ProductName, 20));
                    Console.Write(EditCell(testRow.UnitPrice.ToString(), 12));
                    Console.Write(EditCell(testRow.Quantity.ToString(), 8));
                    Console.WriteLine();
                }
            }
        }
        public IEnumerable <CustomerOrderDetailDto> GetCustomerOrderDetail()
        {
            CustomerOrderDetailRequest customerOrderDetailRequest = new CustomerOrderDetailRequest();

            customerOrderDetailRequest.CustomerId = 24325;
            RestClient restClient = new RestClient("http://localhost:14547/api/");
            Dictionary <string, string>   userInfo      = new Dictionary <string, string>();
            List <CustomerOrderDetailDto> customerOrder = restClient.Consume <CustomerOrderDetailResponse>("CustomerOrder/GetCustomerOrderDetail", "POST", customerOrderDetailRequest, userInfo).CustomerOrderDetails;

            return(customerOrder);
        }
Exemplo n.º 4
0
        public async Task <IActionResult> GetOrderDetail(CustomerOrderDetailRequest customerOrderDetailRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var orderDetail = await _customerOrderDetailProvider.GetCustomerOrderDetail(customerOrderDetailRequest);

            if (orderDetail is null)
            {
                return(NotFound());
            }

            return(Ok(orderDetail));
        }
        public IActionResult GetCustomerOrderDetail(CustomerOrderDetailRequest request, [FromHeader] object obj)
        {
            //try {
            //    credentialValidator.CheckCredentials(this.Request.Headers);
            //}
            //catch (Exception ex) {
            //    Services.Create<ILog>().LogFormat("Unauthorized request.Exception:{0}", LogLevel.Warning, ex);
            //    return Unauthorized();
            //}

            CustomerOrderDetailResponse response = orderOperations.GetCustomerOrderDetails(request);

            if (response == null)
            {
                return(NotFound());
            }
            return(new JsonResult(response));
        }
        public CustomerOrderDetailResponse GetCustomerOrderDetails(CustomerOrderDetailRequest request)
        {
            List <CustomerOrderDetailDto> customerOrderDetails = new List <CustomerOrderDetailDto>();
            CustomerRepository            customers            = northWindUnitOfWork.CustomerRepository;
            OrderRepository       orders       = northWindUnitOfWork.OrderRepository;
            OrderDetailRepository orderDetails = northWindUnitOfWork.OrderDetailRepository;
            ProductRepository     products     = northWindUnitOfWork.ProductRepository;

            var testQuery = from c in customers.AsQueryable()
                            join o in orders.Table() on c.CustomerId equals o.CustomerId
                            join od in orderDetails.Table() on o.OrderId equals od.OrderId
                            join p in products.Table() on od.ProductId equals p.ProductId
                            orderby o.OrderId descending
                            orderby c.CompanyName ascending
                            select new CustomerOrderDetailDto()
            {
                OrderId      = o.OrderId,
                ProductId    = p.ProductId,
                ProductName  = p.ProductName,
                UnitPrice    = od.UnitPrice,
                Quantity     = od.Quantity,
                Discount     = od.Discount,
                CompanyName  = c.CompanyName,
                ContactName  = c.ContactName,
                Phone        = c.Phone,
                OrderDate    = o.OrderDate,
                RequiredDate = o.RequiredDate,
                ShippedDate  = o.ShippedDate
            };

            customerOrderDetails = testQuery.Top(1).NoLock().ToList();
            return(new CustomerOrderDetailResponse()
            {
                CustomerOrderDetails = customerOrderDetails
            });
        }