예제 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GetSalesTransactionsProcedure"/> class.
 /// </summary>
 /// <param name="request">The request message.</param>
 public GetSalesTransactionsProcedure(GetSalesTransactionDataRequest request)
 {
     this.request = request;
 }
예제 #2
0
            private static EntityDataServiceResponse <SalesOrder> GetSalesTransaction(GetSalesTransactionDataRequest request)
            {
                ThrowIf.Null(request, "request");
                ThrowIf.Null(request.QueryResultSettings, "request.QueryResultSettings");
                ThrowIf.Null(request.SearchCriteria, "request.SearchCriteria");

                var query = new SqlPagedQuery(request.QueryResultSettings)
                {
                    From = SearchSalesOrdersFunctionTemplate,
                };

                if (request.QueryResultSettings.Sorting == null || request.QueryResultSettings.Sorting.Count == 0)
                {
                    query.OrderBy = new SortingInfo(CreatedDateTimeColumn, true).ToString();
                }

                var whereClauses = new List <string>();

                BuildWhereClauseForItemIdBarcodeSerialNumber(request.SearchCriteria, query, whereClauses, request.RequestContext.Runtime.Configuration.DatabaseProvider.GetDatabaseQueryBuilder());
                BuildSearchOrderWhereClause(request.SearchCriteria, query, whereClauses);

                query.Where = string.Join(" AND ", whereClauses);

                string customerName = "\"\"";

                if (!string.IsNullOrEmpty(request.SearchCriteria.CustomerFirstName) || !string.IsNullOrEmpty(request.SearchCriteria.CustomerLastName))
                {
                    customerName = request.SearchCriteria.CustomerFirstName == null ? "\"" + request.SearchCriteria.CustomerLastName + "\"" : "\"" + request.SearchCriteria.CustomerFirstName + "*" + (request.SearchCriteria.CustomerLastName ?? string.Empty) + "\"";
                }

                query.Parameters["@nvc_CustomerName"] = customerName;

                PagedResult <SalesOrder> transactions;

                using (SqlServerDatabaseContext sqlServerDatabaseContext = new SqlServerDatabaseContext(request))
                {
                    transactions = sqlServerDatabaseContext.ReadEntity <SalesOrder>(query);
                }

                return(new EntityDataServiceResponse <SalesOrder>(transactions));
            }
예제 #3
0
            private static EntityDataServiceResponse <SalesOrder> GetSalesTransaction(GetSalesTransactionDataRequest request)
            {
                GetSalesTransactionsProcedure getSalesTransactionsProcedure = new GetSalesTransactionsProcedure(request);

                return(getSalesTransactionsProcedure.Execute());
            }