public Response <PickUpGoodsManagementResponse> GetGoodsManagement(PickUpGoodsManagementRequest request)
        {
            Response <PickUpGoodsManagementResponse> response = new Response <PickUpGoodsManagementResponse>()
            {
                Result = new PickUpGoodsManagementResponse()
            };

            try
            {
                //int RowCount;
                IntelligentOperationAccessor accessor = new IntelligentOperationAccessor();
                response.Result = accessor.GetGoodsManagement(request);         //, out RowCount
                //response.Result.PageCount = RowCount % request.PageSize == 0 ? RowCount / request.PageSize : RowCount / request.PageSize + 1;
                //response.Result.PageIndex = request.PageIndex;
                response.IsSuccess = true;
            }
            catch (Exception ex)
            {
                LogError(ex);
                response.Exception = ex;
                response.IsSuccess = false;
                response.ErrorCode = ErrorCode.Technical;
            }

            return(response);
        }
        public PickUpGoodsManagementResponse GetGoodsManagement(PickUpGoodsManagementRequest request)             //, out int RowCount
        {
            PickUpGoodsManagementResponse response = new PickUpGoodsManagementResponse();
            string SqlWhere = "";

            if (request != null)
            {
                SqlWhere = GetGoodsManagementSqlWhere(request);
            }
            DbParam[] dbParams = new DbParam[] {
                new DbParam("@SqlWhere", DbType.String, SqlWhere, ParameterDirection.Input)   //,
                //new DbParam("@RowCount", DbType.Int32, 0, ParameterDirection.Output)
            };

            DataTable dt = this.ExecuteDataTable("Proc_PickUpGoodsManagement", dbParams);

            //RowCount = (int)dbParams[1].Value;

            response.instructions = dt.ConvertToEntityCollection <Instructions>();
            //response.mapping = ds.Tables[1].ConvertToEntityCollection<Instruction_Order_Mapping>();
            return(response);
        }
        private string GetGoodsManagementSqlWhere(PickUpGoodsManagementRequest request)
        {
            StringBuilder sb = new StringBuilder();

            if (!string.IsNullOrEmpty(request.WorkStationId))
            {
                sb.Append(" and OperatingArea = '" + request.WorkStationId + "'");
            }
            if (request.Ststus == 1)
            {
                sb.Append(" and QtyExcepted= QtyActual ");
            }
            if (request.Ststus == 2)
            {
                sb.Append(" and QtyExcepted <> QtyActual ");
            }
            if (!string.IsNullOrEmpty(request.CustomerName))
            {
                IEnumerable <string> CustomerName = Enumerable.Empty <string>();
                if (request.CustomerName.IndexOf("\n") > 0)
                {
                    CustomerName = request.CustomerName.Split('\n').Select(s => { return(s.Trim()); });
                }
                if (request.CustomerName.IndexOf(',') > 0)
                {
                    CustomerName = request.CustomerName.Split(',').Select(s => { return(s.Trim()); });
                }

                if (CustomerName != null && CustomerName.Any())
                {
                    CustomerName = CustomerName.Where(c => !string.IsNullOrEmpty(c));
                }

                if (CustomerName != null && CustomerName.Any())
                {
                    sb.Append(" and CustomerName in ( ");
                    foreach (string s in CustomerName)
                    {
                        sb.Append("'").Append(s).Append("',");
                    }
                    sb.Remove(sb.Length - 1, 1);
                    sb.Append(" ) ");
                }
                else
                {
                    sb.Append(" and CustomerName  like '%" + request.CustomerName.Trim() + "%' ");
                }

                //sb.Append("and CustomerName = '" + request.CustomerName + "'");
            }
            if (!string.IsNullOrEmpty(request.Warehouse))
            {
                IEnumerable <string> Warehouse = Enumerable.Empty <string>();
                if (request.Warehouse.IndexOf("\n") > 0)
                {
                    Warehouse = request.Warehouse.Split('\n').Select(s => { return(s.Trim()); });
                }
                if (request.Warehouse.IndexOf(',') > 0)
                {
                    Warehouse = request.Warehouse.Split(',').Select(s => { return(s.Trim()); });
                }

                if (Warehouse != null && Warehouse.Any())
                {
                    Warehouse = Warehouse.Where(c => !string.IsNullOrEmpty(c));
                }

                if (Warehouse != null && Warehouse.Any())
                {
                    sb.Append(" and Warehouse in ( ");
                    foreach (string s in Warehouse)
                    {
                        sb.Append("'").Append(s).Append("',");
                    }
                    sb.Remove(sb.Length - 1, 1);
                    sb.Append(" ) ");
                }
                else
                {
                    sb.Append(" and Warehouse  like '%" + request.Warehouse.Trim() + "%' ");
                }
                //sb.Append("and Warehouse = '" + request.Warehouse + "'");
            }
            if (!string.IsNullOrEmpty(request.OrderNumber))
            {
                sb.Append("and OrderNumber = '" + request.OrderNumber + "'");
            }
            return(sb.ToString());
        }