public JsonList <OrderHistory> Get([FromUri] OrderHistorySearchCriteria filter, [FromUri] PaginationOptions pagingOptions)
        {
            var pagingOrders = _orderService.GetOrders(pagingOptions, _workContext.User.Id, filter.StartDate, filter.EndDate, filter.Status);
            var orders       = pagingOrders.ToList().ToModelList <Order, OrderHistory>();

            if (!string.IsNullOrEmpty(pagingOptions.Sort))
            {
                if (orders.Count > 0)
                {
                    orders = orders.OrderBy(pagingOptions.SortExpression).ToList();
                }
            }

            return(new JsonList <OrderHistory>()
            {
                Data = orders,
                TotalItems = pagingOrders.TotalCount
            });
        }
示例#2
0
        public async Task <int> GetOrderHistoryByCriteriaTestNew(List <MerchantIdentification_StoreName> lstAllMerchantStoreInformation, string startdate, string enddate)
        {
            TokenDetails objTokenDetails = new TokenDetails();
            List <OrderDetailsExportFields> lstFinalResult = new List <OrderDetailsExportFields>();

            LogHelper.Log("Start Date: " + startdate + " End Date: " + enddate);
            foreach (var objAllMerchantStoreInformation in lstAllMerchantStoreInformation)
            {
                OrderHistorySearchCriteria objReportSearchCriteria = new OrderHistorySearchCriteria();
                objReportSearchCriteria.searchCriteria = new OrderHistoryInputParametersModel();
                objReportSearchCriteria.searchCriteria =
                    new OrderHistoryInputParametersModel()
                {
                    offset = 0,
                    limit  = 10000,
                    //searchString = "",
                    startDate = startdate,
                    endDate   = enddate,
                    //paymentTypes = new string[] { "CASH", "CCRD", "DCRD", "CHECK" },
                    orderStatus      = new string[] { "PAID", "PARTIAL_PAID", "OPEN" },
                    transactionTypes = new string[] { "SALE", "VOID", "REFUND", "PARTIALREFUND", "PARTIALVOID", "UPDATETIP" },
                    storeIds         = new int[] { 1 },
                    orderBy          = "firstPaymentDate",
                    //userId = objEmployee.id,//232741//

                    //Sale option
                    hideSale       = false, // To display only refund transaction
                    hideRefund     = true,  // To display only sales transaction
                    onlySplitCheck = false  // To display only split check transaction

                                            //Refund option
                                            //hideSale = true,  // To display only refund transaction
                                            //hideRefund = false, // To display only sales transaction
                                            //onlySplitCheck = false // To display only split check transaction

                                            //Split Check option
                                            //hideSale = false,  // To display only refund transaction
                                            //hideRefund = true, // To display only sales transaction
                                            //onlySplitCheck = true // To display only split check transaction
                };

                string  jsonString         = JsonConvert.SerializeObject(objReportSearchCriteria);
                JObject objInputParameters = JObject.Parse(jsonString);

                try
                {
                    string objRes = string.Empty;
                    OrderHistoryFullObject objOrderHistoryFullObject = null;
                    using (HttpClient client = new HttpClient())
                    {
                        objTokenDetails.SetHTTPClientObjectValues(client);
                        HttpResponseMessage response = await objTokenDetails.ExecuteClientPostMethod("order/getorderhistory", objInputParameters, client, Token.securityToken, objAllMerchantStoreInformation.merchantIdentification);

                        if (response.IsSuccessStatusCode)
                        {
                            objTokenDetails.SetRefreshToken(response);
                            objRes = await response.Content.ReadAsStringAsync();

                            objOrderHistoryFullObject = JsonConvert.DeserializeObject <OrderHistoryFullObject>(objRes);
                        }
                    }

                    //if (!string.IsNullOrEmpty(objRes) && !objRes.ToLower().Contains("records not found"))
                    if (objOrderHistoryFullObject != null && objOrderHistoryFullObject.ResponseCode.statusCode == 200)
                    {
                        try
                        {
                            JObject jsonRes            = JObject.Parse(objRes);
                            JToken  jTokenSearchResult = jsonRes.FindTokens("searchResult").FirstOrDefault();
                            JObject JobjSearchResult   = JObject.Parse(jTokenSearchResult.ToString());
                            JToken  jTokenOrder        = jsonRes.FindTokens("orders").FirstOrDefault();

                            //LogHelper.Log("Employee: " + objEmployee.userName + " Emp ID: " + objEmployee.id + " Orders Count: " + jTokenOrder.Children().Count() + " Time: " + DateTime.Now);
                            LogHelper.Log("Store: " + objAllMerchantStoreInformation.merchantStoreName + " Orders Count: " + jTokenOrder.Children().Count() + " Time: " + DateTime.Now);

                            List <OrderDetailsExportFields> lstStoreResult = new List <OrderDetailsExportFields>();

                            foreach (var jObjectOrder in jTokenOrder.Children())
                            {
                                OrderHistoryResultModel objOrderHistory = JsonConvert.DeserializeObject <OrderHistoryResultModel>(jObjectOrder.ToString());

                                if (!lstStoreResult.Any(s => s.TicketNo == objOrderHistory.transactionCode))
                                {
                                    OrderDetailsExportFields objOrderDetailsExportFields = new OrderDetailsExportFields();
                                    objOrderDetailsExportFields.TicketNo        = objOrderHistory.transactionCode;
                                    objOrderDetailsExportFields.Type            = objOrderHistory.orderType;
                                    objOrderDetailsExportFields.Employee        = objOrderHistory.userFirstName + " " + objOrderHistory.userLastName;
                                    objOrderDetailsExportFields.Store           = objAllMerchantStoreInformation.merchantStoreName;
                                    objOrderDetailsExportFields.Date            = Convert.ToDateTime(objOrderHistory.orderDate).ToString("MM/dd/yyyy");
                                    objOrderDetailsExportFields.Time            = Convert.ToDateTime(objOrderHistory.orderDate).ToString("hh:mm tt");
                                    objOrderDetailsExportFields.ItemName        = objOrderHistory.listOfItems;
                                    objOrderDetailsExportFields.PaymentType     = objOrderHistory.paymentType;
                                    objOrderDetailsExportFields.TransactionType = objOrderHistory.paymentInfo.FirstOrDefault().transactionType;
                                    objOrderDetailsExportFields.GrossSale       = objOrderHistory.subTotal;
                                    objOrderDetailsExportFields.Discounts       = objOrderHistory.discount;
                                    objOrderDetailsExportFields.Refunds         = objOrderHistory.refundAmount;
                                    objOrderDetailsExportFields.NetSale         = objOrderDetailsExportFields.GrossSale - objOrderDetailsExportFields.Discounts - objOrderDetailsExportFields.Refunds;
                                    objOrderDetailsExportFields.Tips            = objOrderHistory.tip;
                                    objOrderDetailsExportFields.Tax             = objOrderHistory.tax;
                                    objOrderDetailsExportFields.Total           = objOrderDetailsExportFields.NetSale + objOrderDetailsExportFields.Tax + objOrderDetailsExportFields.Tips;

                                    lstStoreResult.Add(objOrderDetailsExportFields);
                                    //lstFinalResult.Add(objOrderDetailsExportFields);

                                    //OrderHistoryResultModel objOrderHistory = JsonConvert.DeserializeObject<OrderHistoryResultModel>(jObjectOrder.ToString());
                                    //if (objOrderHistory != null && !string.IsNullOrEmpty(objOrderHistory.orderId))
                                    //{
                                    //    List<OrderDetailsExportFields> objResult = await GetOrderDetailsByOrderID(objOrderHistory.orderId, objOrderHistory.transactionCode, objAllMerchantStoreInformation.merchantIdentification, objOrderHistory.userFirstName + " " + objOrderHistory.userLastName, objAllMerchantStoreInformation.merchantStoreName);

                                    //    if (objResult != null && objResult.Count() > 0)
                                    //        lstFinalResult.AddRange(objResult);
                                    //}
                                }
                            }

                            lstFinalResult.AddRange(lstStoreResult);
                        }
                        catch (Exception ex)
                        {
                            LogHelper.Log("Error: " + ex.Message);
                        }
                    }
                }
                catch (Exception ex)
                {
                    LogHelper.Log("Error: " + ex.Message);
                }
            }

            try
            {
                LogHelper.Log("Total Records: " + lstFinalResult.Count());
                //lstFinalResult = lstFinalResult.OrderBy(s => s.TicketNo).ToList();
                SaveOrderDetailsIntoExcel(lstFinalResult, lstFinalResult.FirstOrDefault().Store + "_" + Convert.ToDateTime(startdate).ToString("MMM-yy"));
                LogHelper.Log("File saved successfully. " + DateTime.Now);
            }
            catch (Exception ex)
            {
                LogHelper.Log("Error in save data into excel. " + ex.Message);
            }

            return(0);
        }