コード例 #1
0
ファイル: OrderController.cs プロジェクト: halidz/E-Commerce
        public OrderSearchResponse Search(OrderSearchRequest request)
        {
            var response = new OrderSearchResponse();

            response.List = _facade.Search(request.Filter, request.PaginationInfo);
            return(response);
        }
コード例 #2
0
        private async void SetData()
        {
            var pendingOrdersSearchObject = new OrderSearchRequest {
                OrderStatus = OrderStatus.Pending, Client = new PersonDTO(), Location = new LocationDTO()
            };
            var pendingOrders = await _orderAPIService.Get <List <OrderDTO> >(pendingOrdersSearchObject);

            dgvPendingOrders.DataSource = pendingOrders
                                          .Select(x => new
            {
                x.Id,
                Client   = $"{x.Client.FirstName} {x.Client.LastName}",
                Location = $"Address: {x.Location.AddressLine}, Phone number: {x.Location.PhoneNumber}",
                x.Total,
                x.TotalWithTax,
                OrderType   = x.OrderType.ToString(),
                PaymentType = x.PaymentType.ToString(),
                x.IsPayed,
                DateCreated = x.DateTimeCreatedDisplay
            }).ToList();

            var activeOrdersSearchObject = new OrderSearchRequest {
                OrderStatus = OrderStatus.Processing, Client = new PersonDTO(), Location = new LocationDTO()
            };
            var activeOrders = await _orderAPIService.Get <List <OrderDTO> >(activeOrdersSearchObject);

            dgvActiveOrders.DataSource = activeOrders
                                         .Select(x => new
            {
                x.Id,
                Client   = $"{x.Client.FirstName} {x.Client.LastName}",
                Location = $"Address: {x.Location.AddressLine}, Phone number: {x.Location.PhoneNumber}",
                x.Total,
                x.TotalWithTax,
                OrderType   = x.OrderType.ToString(),
                PaymentType = x.PaymentType.ToString(),
                x.IsPayed,
                DateCreated = x.DateTimeCreatedDisplay
            }).ToList();

            var historyOrdersSearchObject = new OrderSearchRequest {
                OrderStatus = OrderStatus.Completed, Client = new PersonDTO(), Location = new LocationDTO()
            };
            var historyOrders = await _orderAPIService.Get <List <OrderDTO> >(historyOrdersSearchObject);

            dgvOrderHistory.DataSource = historyOrders
                                         .Select(x => new
            {
                x.Id,
                Client   = $"{x.Client.FirstName} {x.Client.LastName}",
                Location = $"Address: {x.Location.AddressLine}, Phone number: {x.Location.PhoneNumber}",
                x.Total,
                x.TotalWithTax,
                OrderType   = x.OrderType.ToString(),
                PaymentType = x.PaymentType.ToString(),
                x.IsPayed,
                DateCreated = x.DateTimeCreatedDisplay
            }).ToList();
        }
コード例 #3
0
        public async Task <IWrappedResponse> Search(OrderSearchRequest request)
        {
            var cmd = ServiceCommand <Order, Rules.Order.Search.MainRule>
                      .Create(_serviceProvider)
                      .When(new Rules.Order.Search.MainRule(request))
                      .Then(SearchAction);

            return(await cmd.Execute());
        }
コード例 #4
0
        public async Task Init()
        {
            var request = new OrderSearchRequest()
            {
                CustomerId = APIService.Client.Id
            };

            var result = await _service.Get <List <Order> >(request);

            result = result.OrderByDescending(x => x.OrderDate).ToList();
            Orders.Clear();
            result.ForEach((Order order) => Orders.Add(order));
        }
コード例 #5
0
        public ActionResult Index()
        {
            OrderSearchRequest viewModel = Session["PageMetaData"] as OrderSearchRequest;

            Session["PageMetaData"] = null;
            ViewBag.MessageVM       = TempData["message"] as MessageViewModel;
            var toReturnModel = new OrderListViewModel
            {
                orderSearchRequest = viewModel ?? new OrderSearchRequest()
            };

            return(View(toReturnModel));
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: stalincse/ChannelSale
 private static bool IsValidConnection()
 {
     //return true;
     try
     {
         OrderSearchRequest osr = new OrderSearchRequest();
         osr.MaxRows = 1;
         dsOrderList dsOrders = BusinessFlow.WebServices.Order.Search(osr);
         return true;
     }
     catch (Exception)
     {
         return false;
     }
 }
コード例 #7
0
ファイル: OrderService.cs プロジェクト: stylkyn/ess
        public async Task <ResponseList <OrderResponse> > Search(OrderSearchRequest request)
        {
            int skip = request.PageNumber * request.PageSize;

            (var orders, int total) = await _uow.Orders.Search(request.FullText, request.UserId, request.OrderState, request.PaymentState, skip, request.PageSize);

            if (orders == null)
            {
                return(new ResponseList <OrderResponse>(ResponseStatus.NotFound, null, ResponseMessagesConstans.NotFound));
            }

            var result = orders.Select(x => _mapService.MapOrder(x)).ToList();

            return(new ResponseList <OrderResponse>(ResponseStatus.Ok, result, total));
        }
コード例 #8
0
        public List <Model.Models.Order> Get(OrderSearchRequest request)
        {
            if (request.Filter < 1 || request.Filter > 3)
            {
                throw new UserException("Filter za narudžbe nije validan");
            }

            var query = _context.Order.OrderByDescending(x => x.OrderDate).AsQueryable();

            if (request.CustomerId != 0)
            {
                query = query.Where(x => x.CustomerId == request.CustomerId);
            }

            // Aktivni
            if (request.Filter == 2)
            {
                query = query.Where(x => (bool)x.Active);
            }
            // Neaktivni
            if (request.Filter == 3)
            {
                query = query.Where(x => (bool)!x.Active);
            }

            // Ako koristimo pagination
            if (request.Page != -1)
            {
                query = query
                        .Skip((request.Page - 1) * request.ItemsPerPage)
                        .Take(request.ItemsPerPage);
            }

            var data = query.ToList();

            var orders = _mapper.Map <List <Model.Models.Order> >(data);

            foreach (var order in orders)
            {
                order.Products     = new List <KeyValuePair <int, Model.Models.Product> >();
                order.Products     = GetOrderProducts(order.Id);
                order.CustomerName = _context.Customer.Find(order.CustomerId).CompanyName;
            }

            return(orders);
        }
コード例 #9
0
        public ActionResult GetBySearch([FromBody] OrderSearchRequest searchRequest)
        {
            if (searchRequest == null)
            {
                return(StatusCode(StatusCodes.Status400BadRequest, "Search request cannot be empty"));
            }

            try
            {
                var dataRequestValidator = new OrderSearchRequestValidator();
                var validationResult     = dataRequestValidator.Validate(searchRequest);

                if (!validationResult.IsValid)
                {
                    string errorMessage = "";

                    foreach (var error in validationResult.Errors)
                    {
                        errorMessage += error.ErrorMessage + " ";
                    }

                    return(Conflict(errorMessage));
                }
            }
            catch (Exception e)
            {
                _logger.LogError($"Search orders. Input data failed validation. Full validator exception message: {e.Message}");
                return(StatusCode(StatusCodes.Status500InternalServerError, "Internal server error"));
            }

            var blResult = _userOrderService.GetBySearch(searchRequest);

            if (blResult.actionResult.ResultConnection == ServiceResult.ResultConnectionEnum.Correct &&
                blResult.userOrders == null)
            {
                return(NotFound("Orders not exist"));
            }

            if (blResult.actionResult.ResultConnection != ServiceResult.ResultConnectionEnum.Correct)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, blResult.actionResult.Message));
            }

            return(Ok(blResult.userOrders));
        }
コード例 #10
0
        public IActionResult Search([FromQuery] OrderSearchRequest filter)
        {
            ResultCode resultCode; QueryModel queryResult;

            (resultCode, queryResult) = _service.Search(filter);

            Result error; int statusCode;

            (statusCode, error) = ResultHandler.GetStatusCodeAndResult(resultCode);

            GeneralResponse response = new GeneralResponse
            {
                Result = queryResult,
                Error  = error,
            };

            return(StatusCode(statusCode, response));
        }
コード例 #11
0
        public override async Task <OrderSearchResponse> Order_Search(OrderSearchRequest request, ServerCallContext context)
        {
            //TODO 从底层ES中查找订单数据,
            //可以设计成DDD 方式来进行ES的操作,这里我就为了演示直接硬编码了

            var response = new OrderSearchResponse();

            try
            {
                response.Data.Add(new OrderRepsonse()
                {
                    Amount  = 100.00,
                    Count   = 10,
                    Name    = "订单名称测试",
                    OrderId = DateTime.Now.ToString("yyyyMMddHHmmss"),
                    Time    = DateTime.Now.ToString()
                });

                response.Data.Add(new OrderRepsonse()
                {
                    Amount  = 200.00,
                    Count   = 10,
                    Name    = "订单名称测试2",
                    OrderId = DateTime.Now.ToString("yyyyMMddHHmmss"),
                    Time    = DateTime.Now.ToString()
                });

                response.Data.Add(new OrderRepsonse()
                {
                    Amount  = 300.00,
                    Count   = 10,
                    Name    = "订单名称测试2",
                    OrderId = DateTime.Now.ToString("yyyyMMddHHmmss"),
                    Time    = DateTime.Now.ToString()
                });
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.ErrorMsg = ex.Message;
                _logger.LogWarning("异常");
            }
            return(response);
        }
コード例 #12
0
        public async System.Threading.Tasks.Task TestOrderSearchServiceAsync()
        {
            OrderSearchRequest orderSearchRequest = new OrderSearchRequest()
            {
                OrderSearchBody = new OrderSearchBody()
                {
                    OrderSearch = new OrderSearch()
                    {
                        Orderid    = "ywbj-110",
                        SearchType = "1"
                    }
                }
            };

            ISFClient sFClient = new DefaultSFClient(_sFNetConfig);
            var       response = await sFClient.ExcuteAsync(orderSearchRequest);

            Assert.True(response.Head == "OK");
        }
コード例 #13
0
        public ActionResult Index(OrderSearchRequest orderSearchRequest)
        {
            if (!User.IsInRole("Admin"))
            {
                orderSearchRequest.UserId = User.Identity.GetUserId();
            }
            ViewBag.MessageVM = TempData["message"] as MessageViewModel;
            OrderResponse       oResponse = orderService.GetAllOrders(orderSearchRequest);
            List <Models.Order> oList     = oResponse.Orders.Select(x => x.CreateFromServerToClient()).ToList();
            OrderListViewModel  oLVModel  = new OrderListViewModel
            {
                data            = oList,
                recordsTotal    = oResponse.TotalCount,
                recordsFiltered = oResponse.FilteredCount
            };


            Session["PageMetaData"] = orderSearchRequest;
            var toReturn = Json(oLVModel, JsonRequestBehavior.AllowGet);

            return(toReturn);
        }
コード例 #14
0
        private async void frmOrders_Load(object sender, EventArgs e)
        {
            loader1.Visible = true;
            var SearchRequest = new OrderSearchRequest()
            {
                Filter       = Filter,
                Page         = Page,
                ItemsPerPage = 6
            };

            var request = await _service.Get <List <EToolService.Model.Models.Order> >(SearchRequest);

            if (Page > 1 && request.Count == 0)
            {
                Page--;
                return;
            }

            if (Page < 1)
            {
                Page = 1;
                return;
            }

            ClearPanel();

            for (int i = request.Count - 1; i >= 0; i--)
            {
                var card = new OrderCard(request[i])
                {
                    Parent = this
                };
                card.Dock = DockStyle.Top;
                card.Show();
                pnlOrders.Controls.Add(card);
            }

            loader1.Visible = false;
        }
コード例 #15
0
ファイル: MainForm.cs プロジェクト: asine/JdSdk
        private List <OrderInfo> GetOrderList(DateTime startDate, DateTime endDate, string orderState, int page, int pageSize, out Int32 totalCount, bool recursive)
        {
            try
            {
                OrderSearchRequest request = new OrderSearchRequest();
                request.StartDate  = startDate;
                request.EndDate    = endDate;
                request.OrderState = orderState;
                request.Page       = page;
                request.PageSize   = pageSize;
                OrderSearchResponse response = Client.Execute(request, AppContext.AccessToken.Token);
                if (!response.IsError)
                {
                    List <OrderInfo> list = new List <OrderInfo>();
                    if (response.OrderSearch == null || response.OrderSearch.OrderInfoList == null || response.OrderSearch.OrderInfoList.Count == 0)
                    {
                        totalCount = 0;
                        return(list);
                    }

                    list.AddRange(response.OrderSearch.OrderInfoList);
                    if (recursive && page * pageSize < response.OrderSearch.OrderTotal)
                    {
                        list.AddRange(GetOrderList(startDate, endDate, orderState, ++page, pageSize, out totalCount, true));
                    }

                    totalCount = response.OrderSearch.OrderTotal;
                    return(list);
                }
                else
                {
                    throw new Exception(response.ErrCode + ":" + response.ErrMsg);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #16
0
 public OrderSearchQueryRule(OrderSearchRequest request, IRule parentRule)
 {
     // Create Context
     Context    = new ContextModel(request, this);
     ParentRule = parentRule;
 }
コード例 #17
0
 public MainRule(OrderSearchRequest request)
 {
     // Create Context
     Context = new ContextModel(request, this);
 }
コード例 #18
0
ファイル: MainForm.cs プロジェクト: JackWangCUMT/JdSdk
        private List<OrderInfo> GetOrderList(DateTime startDate, DateTime endDate, string orderState, int page, int pageSize, out Int32 totalCount, bool recursive)
        {
            try
            {
                OrderSearchRequest request = new OrderSearchRequest();
                request.StartDate = startDate;
                request.EndDate = endDate;
                request.OrderState = orderState;
                request.Page = page;
                request.PageSize = pageSize;
                OrderSearchResponse response = Client.Execute(request, AppContext.AccessToken.Token);
                if (!response.IsError)
                {
                    List<OrderInfo> list = new List<OrderInfo>();
                    if (response.OrderSearch == null || response.OrderSearch.OrderInfoList == null || response.OrderSearch.OrderInfoList.Count == 0)
                    {
                        totalCount = 0;
                        return list;
                    }

                    list.AddRange(response.OrderSearch.OrderInfoList);
                    if (recursive && page * pageSize < response.OrderSearch.OrderTotal)
                    {
                        list.AddRange(GetOrderList(startDate, endDate, orderState, ++page, pageSize, out totalCount, true));
                    }

                    totalCount = response.OrderSearch.OrderTotal;
                    return list;
                }
                else
                {
                    throw new Exception(response.ErrCode + ":" + response.ErrMsg);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #19
0
ファイル: Order.cs プロジェクト: thk-liu/-
        public ResponseResult<SerachModel> Search(DateTime start_date = default(DateTime), DateTime end_date = default(DateTime), int page = 1, int page_size = 10, OrderState order_state = OrderState.ALL, string optional_fields = "", SortType sortType = SortType.Ase, DateType dateType = DateType.Modify_Time)
        {
            // OAuth oauth = new OAuth(Config._AppKey, Config._AppSecret);
            IJdClient client = new DefaultJdClient("http://gw.api.360buy.com/routerjson", Config._AppKey, Config._AppSecret);
            var request = new OrderSearchRequest();
            request.OptionalFields = optional_fields;
            if (order_state != OrderState.ALL)
            {
                request.OrderState = order_state.ToString();
            }
            #region 对传入参数进行判断 并且给予SearchRequest 请求赋值
            if(start_date!= default(DateTime))
            {
                request.StartDate = start_date;
            }
            if(end_date != default(DateTime))
            {
                request.EndDate = end_date;//.ToString("yyyy-MM-dd HH:mm:ss");
            }
            if(start_date != default(DateTime)&& end_date != default(DateTime))
            {
                if (start_date > end_date)
                {
                    throw new Exception("开始时间不能大于结束时间");
                }
            }
            request.Page = page;
            request.PageSize = page_size;
            if (order_state != OrderState.ALL)
            {
                request.OrderState = order_state.ToString();
            }
            else
            {
                request.OrderState = "WAIT_SELLER_STOCK_OUT,SEND_TO_DISTRIBUTION_CENER,DISTRIBUTION_CENTER_RECEIVED,WAIT_GOODS_RECEIVE_CONFIRM,RECEIPTS_CONFIRM,WAIT_SELLER_DELIVERY,FINISHED_L,TRADE_CANCELED,LOCKED";
            }
            request.OptionalFields = optional_fields;
            //request.SortType = sortType.ToString();
            //request.DateType = dateType.ToString();
            //TODO: 参数判断
            #endregion
            var response = client.Execute(request, Config._SessionCode, DateTime.Now.ToLocalTime());

            if (response.ErrCode.ToInt() != 0)
            {
                return new ResponseResult<SerachModel>()
                {
                    Code = response.ErrCode.ToInt(),
                    Result = null,
                     DescZH=response.ZhErrMsg,
                      DescEN=response.EnErrMsg
                };
            }
            var model = new WrapSerachOrderModel().WrapModel(response.OrderSearch);

            return new ResponseResult<SerachModel>()
            {
                Code =response.ErrCode.ToInt(),
                Result = model
            };
        }
コード例 #20
0
        public (ServiceResult actionResult, IEnumerable <OrderData> userOrders) GetBySearch(OrderSearchRequest searchRequest)
        {
            var list = _dbContext.UserOrders.SelectAll();

            List <OrderData> ordersResult = new List <OrderData>();

            OrderStatus orderStatus  = new OrderStatus(searchRequest.Status);
            string      searchString = searchRequest.SearchString.ToLower().Trim();

            foreach (var order in list)
            {
                if (order.OrderStatus.Status != orderStatus.Status)
                {
                    continue;
                }

                if (order.IdEntity.HasValue && order.IdEntity.Value.ToString().Contains(searchString) ||
                    order.Address.ToLower().Contains(searchString) ||
                    order.UserSystem.FirsName.ToLower().Contains(searchRequest.SearchString.ToLower()) ||
                    order.UserSystem.LastName.ToLower().Contains(searchRequest.SearchString.ToLower()) ||
                    order.UserSystem.Phone.ToLower().Contains(searchRequest.SearchString.ToLower()) ||
                    order.UserSystem.Email.ToLower().Contains(searchRequest.SearchString.ToLower()))
                {
                    OrderData orderData = MapOrderData(order);

                    if (orderData != null)
                    {
                        ordersResult.Add(orderData);
                    }
                }
            }
            ordersResult.Reverse();
            ServiceResult serviceResult = new ServiceResult(ServiceResult.ResultConnectionEnum.Correct, "");

            return(serviceResult, ordersResult);
        }
コード例 #21
0
 public List <EToolService.Model.Models.Order> Get([FromQuery] OrderSearchRequest request)
 {
     return(_service.Get(request));
 }
コード例 #22
0
        /// <summary>
        ///  京东订单检索(360buy.order.search)
        ///  定时同步时使用
        /// </summary>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <param name="orderState"></param>
        /// <param name="page"></param>
        /// <param name="pageSize"></param>
        /// <param name="totalCount"></param>
        /// <param name="recursive"></param>
        /// <returns></returns>
        public string GetOrderList(string startDate, string endDate, string orderState, string page, string pageSize, out Int32 totalCount, bool recursive)
        {
            try
            {
                int count = 0;

                string             AppKey      = "0901C6C9E495BDB7FEEAE8EEA47D13F2";     //xMorderInfoApp.AppKey;
                string             AppSecret   = "1916857c7087437095775f29763f527b";     //xMorderInfoApp.AppSecret;
                string             CallbackUrl = "http://www.hozest.com";                //  xMorderInfoApp.CallbackUrl;
                string             AccessToken = "032ecc44-7ac6-46c3-a4b7-7e844f7ea1b4"; // xMorderInfoApp.AccessToken;
                Jd.Api.IJdClient   Client      = new DefaultJdClient("http://gw.api.360buy.com/routerjson", AppKey, AppSecret, AccessToken);
                OrderSearchRequest request     = new OrderSearchRequest();
                //
                request.startDate      = startDate.ToString(); //开始时间
                request.endDate        = endDate.ToString();   //结束时间
                request.orderState     = orderState;
                request.page           = page.ToString();
                request.pageSize       = pageSize.ToString();
                request.optionalFields = "order_id,vender_id,pay_type,order_total_price,order_payment,order_seller_price,freight_price,seller_discount,order_state,delivery_type,invoice_info,order_remark,order_start_time,order_end_time,modified,payment_confirm_time,pin,consignee_info,coupon_detail_list,item_info_list,logistics_id,waybill,vender_remark";
                OrderSearchResponse response = Client.Execute(request);

                string s              = "\"consignee_info\":\"\",";
                string ns             = "\"consignee_info\":null,";
                string str            = response.Body.Replace(s, ns);
                OrderSearchResponse m = JsonConvert.DeserializeObject <OrderSearchResponse>(str);

                if (m.orderSearch == null)
                {
                    for (int i = 1; i < 10; i++)
                    {
                        Client = new DefaultJdClient("http://gw.api.360buy.com/routerjson", AppKey, AppSecret, AccessToken);

                        OrderSearchRequest requestfor = new OrderSearchRequest();
                        requestfor.startDate      = startDate; //付款开始时间
                        requestfor.endDate        = endDate;   //付款结束时间
                        requestfor.orderState     = orderState;
                        requestfor.page           = page;
                        requestfor.pageSize       = pageSize;
                        requestfor.optionalFields = "order_id,vender_id,pay_type,order_total_price,order_payment,order_seller_price,freight_price,seller_discount,order_state,delivery_type,invoice_info,order_remark,order_start_time,order_end_time,modified,payment_confirm_time,pin,consignee_info,coupon_detail_list,item_info_list,logistics_id,waybill,vender_remark";
                        OrderSearchResponse responsefor = Client.Execute(requestfor);
                        string sfor              = "\"consignee_info\":\"\",";
                        string nsfor             = "\"consignee_info\":null,";
                        string strfor            = responsefor.Body.Replace(sfor, nsfor);
                        OrderSearchResponse mfor = JsonConvert.DeserializeObject <OrderSearchResponse>(strfor);

                        if (mfor.orderSearch != null)
                        {
                            if (!responsefor.IsError)
                            {
                                count      = mfor.orderSearch.Count();
                                totalCount = count;
                                return("");

                                ;
                            }
                            else
                            {
                                throw new Exception("错误代码:" + responsefor.ErrCode + "错误信息:" + responsefor.ErrMsg);
                            }
                        }
                    }
                }
                else
                {
                    if (!response.IsError)
                    {
                        //count = m.Child.OrderSearch.OrderTotal;
                        totalCount = count;
                        //return m.Child.OrderSearch.OrderInfoList;
                        return("");
                    }
                    else
                    {
                        throw new Exception("错误代码:" + response.ErrCode + "错误信息:" + response.ErrMsg);
                    }
                }
                totalCount = count;
            }
            catch (Exception ex)
            {
                //throw new Exception(ex.Message);
                //BusinessLogic.ErrorLog.RecordErrorLogs.WriteError(ex.Message.ToString(), CRMContext.Current.User.CustomerID.ToString());
                totalCount = 0;
                IoC.Resolve <IRecordErrorLogs>().WriteErrorLog("负责人:" + HozestERPContext.Current.User.CustomerID.ToString() + ";   方法名:GetOrderList;  异常提示:" + ex.Message.ToString() + ";   InnerException:" + ex.InnerException);
            }

            return(null);
        }
コード例 #23
0
        public async Task <IHttpActionResult> Search([FromUri] OrderSearchRequest request)
        {
            var response = await _orderService.Search(request);

            return(new CreateResult(response));
        }
コード例 #24
0
 public Task<ActionResult<IPaginationResult<Order>>> Search([FromQuery] OrderSearchRequest request)
 {
     return this._ordersService.Search(request).Convert<IPaginationResult<Order>>(this);
 }
コード例 #25
0
 public Task <ActionResult <IEnumerable <OrderSummary> > > Get([FromQuery] OrderSearchRequest request)
 {
     return(this._ordersService.Summary(request).Convert <IEnumerable <OrderSummary> >(this));
 }