public static void DeleteItemFullfitment()
        {
            string strItem = "";
            try
            {
                TransactionSearch xactionSearch = new TransactionSearch();
                //xactionSearch.basic
                //SearchMultiSelectField entity = new SearchMultiSelectField();
                //entity.@operator = SearchMultiSelectFieldOperator.anyOf;
                //entity.operatorSpecified = true;
                //RecordRef custRecordRef = new RecordRef();
                //custRecordRef.internalId = strCustomerId;
                //custRecordRef.type = RecordType.customer;
                //custRecordRef.typeSpecified = true;
                //RecordRef[] custRecordRefArray = new RecordRef[1];
                //custRecordRefArray[0] = custRecordRef;
                //entity.searchValue = custRecordRefArray;

                SearchEnumMultiSelectField searchSalesOrderField = new SearchEnumMultiSelectField();
                searchSalesOrderField.@operator = SearchEnumMultiSelectFieldOperator.anyOf;
                searchSalesOrderField.operatorSpecified = true;
                System.String[] soStringArray = new System.String[1];
                soStringArray[0] = "_itemFulfillment";
                searchSalesOrderField.searchValue = soStringArray;

                TransactionSearchBasic xactionBasic = new TransactionSearchBasic();
                xactionBasic.type = searchSalesOrderField;
                xactionBasic.dateCreated = new SearchDateField();
                xactionBasic.dateCreated.@operator = SearchDateFieldOperator.within;
                xactionBasic.dateCreated.operatorSpecified = true;
                xactionBasic.dateCreated.searchValue = new DateTime(2011, 12, 30);
                xactionBasic.dateCreated.searchValueSpecified = true;
                xactionBasic.dateCreated.searchValue2 = new DateTime(2011, 12, 31);
                xactionBasic.dateCreated.searchValue2Specified = true;

                xactionSearch.basic = xactionBasic;

                SearchResult objSearchResult = _service.search(xactionSearch);
                if (objSearchResult.status != null && objSearchResult.status.isSuccess)
                {
                    if (objSearchResult.recordList != null)
                    {
                        Record[] recordList;
                        for (int i = 1; i <= objSearchResult.totalPages; i++)
                        {
                            recordList = objSearchResult.recordList;

                            for (int j = 0; j < recordList.Length; j++)
                            {
                                if (recordList[j] is ItemFulfillment)
                                {
                                    try
                                    {
                                        ItemFulfillment objOrder = (ItemFulfillment)(recordList[j]);
                                        object objCustomReseller = GetValue("custbodytbfcustomerid", objOrder.customFieldList);
                                        if (objCustomReseller != null && (objCustomReseller.ToString().Equals("CST100WA") || objCustomReseller.ToString().Equals("1")))
                                        {

                                            RecordRef objRef = new RecordRef();
                                            objRef.internalId = ((ItemFulfillment)recordList[j]).internalId;
                                            objRef.type = RecordType.itemFulfillment;
                                            objRef.typeSpecified = true;
                                            WriteResponse writeRes = _service.delete(objRef);
                                            if (writeRes.status.isSuccess)
                                            {
                                                Console.WriteLine("delete: " + objRef.internalId);
                                            }
                                            else
                                            {
                                                Console.WriteLine(getStatusDetails(writeRes.status));
                                            }
                                        }

                                    }
                                    catch (Exception objExc)
                                    {
                                        Console.WriteLine(objExc.ToString());
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    strItem = "error";
                }
            }
            catch (Exception objExc)
            {
                Console.WriteLine(objExc.ToString());
            }
        }
        public static string GetOrderId(string strCustomerId, double numAmount)
        {
            string strItem = "";
            try
            {
                TransactionSearch xactionSearch = new TransactionSearch();
                SearchMultiSelectField entity = new SearchMultiSelectField();
                entity.@operator = SearchMultiSelectFieldOperator.anyOf;
                entity.operatorSpecified = true;
                RecordRef custRecordRef = new RecordRef();
                custRecordRef.internalId = strCustomerId;
                custRecordRef.type = RecordType.customer;
                custRecordRef.typeSpecified = true;
                RecordRef[] custRecordRefArray = new RecordRef[1];
                custRecordRefArray[0] = custRecordRef;
                entity.searchValue = custRecordRefArray;

                SearchEnumMultiSelectField searchSalesOrderField = new SearchEnumMultiSelectField();
                searchSalesOrderField.@operator = SearchEnumMultiSelectFieldOperator.anyOf;
                searchSalesOrderField.operatorSpecified = true;
                System.String[] soStringArray = new System.String[1];
                soStringArray[0] = "_salesOrder";
                searchSalesOrderField.searchValue = soStringArray;

                TransactionSearchBasic xactionBasic = new TransactionSearchBasic();
                xactionBasic.type = searchSalesOrderField;
                xactionBasic.entity = entity;
                xactionBasic.status = new SearchEnumMultiSelectField();
                xactionBasic.status.@operator = SearchEnumMultiSelectFieldOperator.anyOf;
                xactionBasic.status.operatorSpecified = true;
                xactionBasic.status.searchValue = new string[] { "_salesOrderPendingApproval" };
                xactionBasic.amount = new SearchDoubleField();
                xactionBasic.amount.@operator = SearchDoubleFieldOperator.equalTo;
                xactionBasic.amount.operatorSpecified = true;
                xactionBasic.amount.searchValue = numAmount;
                xactionBasic.amount.searchValueSpecified = true;

                xactionSearch.basic = xactionBasic;

                SearchResult objSearchResult = _service.search(xactionSearch);
                if (objSearchResult.recordList != null)
                {
                    Record[] recordList;
                    for (int i = 1; i <= objSearchResult.totalPages; i++)
                    {
                        recordList = objSearchResult.recordList;

                        for (int j = 0; j < recordList.Length; j++)
                        {
                            if (recordList[j] is SalesOrder)
                            {
                                SalesOrder so = (SalesOrder)(recordList[j]);
                                strItem = so.internalId;
                                return strItem;
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
            return strItem;
        }
        public static string GetOrderId(string strPONumber, string strReseller)
        {
            string strOrderId = "";
            try
            {
                TransactionSearch xactionSearch = new TransactionSearch();

                SearchEnumMultiSelectField searchSalesOrderField = new SearchEnumMultiSelectField();
                searchSalesOrderField.@operator = SearchEnumMultiSelectFieldOperator.anyOf;
                searchSalesOrderField.operatorSpecified = true;
                System.String[] soStringArray = new System.String[1];
                soStringArray[0] = "_salesOrder";
                searchSalesOrderField.searchValue = soStringArray;

                TransactionSearchBasic xactionBasic = new TransactionSearchBasic();
                xactionBasic.type = searchSalesOrderField;
                xactionBasic.otherRefNum = new SearchTextNumberField();
                xactionBasic.otherRefNum.@operator = SearchTextNumberFieldOperator.equalTo;
                xactionBasic.otherRefNum.operatorSpecified = true;
                xactionBasic.otherRefNum.searchValue = strPONumber;

                SearchMultiSelectCustomField objReseller = new SearchMultiSelectCustomField();
                objReseller.internalId = "custbodytbfcustomerid";
                objReseller.@operator = SearchMultiSelectFieldOperator.anyOf;
                objReseller.operatorSpecified = true;
                objReseller.searchValue = new ListOrRecordRef[1];
                objReseller.searchValue[0] = new ListOrRecordRef();
                objReseller.searchValue[0].internalId = strReseller;
                xactionBasic.customFieldList = new SearchCustomField[] { objReseller };

                xactionSearch.basic = xactionBasic;

                SearchResult objSearchResult = _service.search(xactionSearch);
                if (objSearchResult.recordList != null)
                {
                    Record[] recordList;
                    for (int i = 1; i <= objSearchResult.totalPages; i++)
                    {
                        recordList = objSearchResult.recordList;

                        for (int j = 0; j < recordList.Length; j++)
                        {
                            if (recordList[j] is SalesOrder)
                            {
                                SalesOrder so = (SalesOrder)(recordList[j]);
                                strOrderId = so.internalId;
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
            return strOrderId;
        }
        public static string GetOrderId(string strCustomerId, string strPONumber, string strOrderNumber)
        {
            string strItem = "";
            try
            {
                TransactionSearch xactionSearch = new TransactionSearch();
                //SearchMultiSelectField entity = new SearchMultiSelectField();
                //entity.@operator = SearchMultiSelectFieldOperator.anyOf;
                //entity.operatorSpecified = true;
                //RecordRef custRecordRef = new RecordRef();
                //custRecordRef.internalId = strCustomerId;
                //custRecordRef.type = RecordType.customer;
                //custRecordRef.typeSpecified = true;
                //RecordRef[] custRecordRefArray = new RecordRef[1];
                //custRecordRefArray[0] = custRecordRef;
                //entity.searchValue = custRecordRefArray;

                SearchEnumMultiSelectField searchSalesOrderField = new SearchEnumMultiSelectField();
                searchSalesOrderField.@operator = SearchEnumMultiSelectFieldOperator.anyOf;
                searchSalesOrderField.operatorSpecified = true;
                System.String[] soStringArray = new System.String[1];
                soStringArray[0] = "_salesOrder";
                searchSalesOrderField.searchValue = soStringArray;

                TransactionSearchBasic xactionBasic = new TransactionSearchBasic();
                xactionBasic.type = searchSalesOrderField;
                //xactionBasic.entity = entity;
                xactionBasic.otherRefNum = new SearchTextNumberField();
                xactionBasic.otherRefNum.@operator = SearchTextNumberFieldOperator.equalTo;
                xactionBasic.otherRefNum.operatorSpecified = true;
                xactionBasic.otherRefNum.searchValue = strPONumber;

                SearchStringCustomField objOrderNumber = new SearchStringCustomField();
                objOrderNumber.internalId = "custbodycst_ordernumber";
                objOrderNumber.@operator = SearchStringFieldOperator.contains;
                objOrderNumber.operatorSpecified = true;
                objOrderNumber.searchValue = strOrderNumber;
                xactionBasic.customFieldList = new SearchCustomField[] { objOrderNumber };

                xactionSearch.basic = xactionBasic;

                SearchResult objSearchResult = _service.search(xactionSearch);
                if (objSearchResult.status != null && objSearchResult.status.isSuccess)
                {
                    if (objSearchResult.recordList != null)
                    {
                        Record[] recordList;
                        for (int i = 1; i <= objSearchResult.totalPages; i++)
                        {
                            recordList = objSearchResult.recordList;

                            for (int j = 0; j < recordList.Length; j++)
                            {
                                if (recordList[j] is SalesOrder)
                                {
                                    SalesOrder so = (SalesOrder)(recordList[j]);
                                    strItem = so.internalId;
                                    return strItem;
                                }
                            }
                        }
                    }
                }
                else
                {
                    strItem = "error";
                }
            }
            catch (Exception)
            {
            }
            return strItem;
        }
        public static void DeleteSalesOrder()
        {
            string strItem = "";
            try
            {
                TransactionSearch xactionSearch = new TransactionSearch();
                //xactionSearch.basic
                //SearchMultiSelectField entity = new SearchMultiSelectField();
                //entity.@operator = SearchMultiSelectFieldOperator.anyOf;
                //entity.operatorSpecified = true;
                //RecordRef custRecordRef = new RecordRef();
                //custRecordRef.internalId = strCustomerId;
                //custRecordRef.type = RecordType.customer;
                //custRecordRef.typeSpecified = true;
                //RecordRef[] custRecordRefArray = new RecordRef[1];
                //custRecordRefArray[0] = custRecordRef;
                //entity.searchValue = custRecordRefArray;

                SearchEnumMultiSelectField searchSalesOrderField = new SearchEnumMultiSelectField();
                searchSalesOrderField.@operator = SearchEnumMultiSelectFieldOperator.anyOf;
                searchSalesOrderField.operatorSpecified = true;
                System.String[] soStringArray = new System.String[1];
                soStringArray[0] = "_salesOrder";
                searchSalesOrderField.searchValue = soStringArray;

                TransactionSearchBasic xactionBasic = new TransactionSearchBasic();
                xactionBasic.type = searchSalesOrderField;
                xactionBasic.customFieldList = new SearchCustomField[1];

                SearchStringCustomField objNumber = new SearchStringCustomField();
                objNumber.internalId = "custbodycst_ordernumber";
                objNumber.@operator = SearchStringFieldOperator.notEmpty;
                objNumber.operatorSpecified = true;
                xactionBasic.customFieldList[0] = objNumber;
                xactionSearch.basic = xactionBasic;

                SearchResult objSearchResult = _service.search(xactionSearch);
                if (objSearchResult.status != null && objSearchResult.status.isSuccess)
                {
                    if (objSearchResult.recordList != null)
                    {
                        Record[] recordList;
                        for (int i = 1; i <= objSearchResult.totalPages; i++)
                        {
                            recordList = objSearchResult.recordList;

                            for (int j = 0; j < recordList.Length; j++)
                            {
                                if (recordList[j] is SalesOrder)
                                {
                                    try
                                    {
                                        SalesOrder objOrder = GetSalesOrder(((SalesOrder)(recordList[j])).internalId);
                                        object objCustomReseller = GetValue("custbodytbfcustomerid", objOrder.customFieldList);
                                        if (objCustomReseller.ToString().Equals("CST100WA"))
                                        {
                                            RecordRef objRef = new RecordRef();
                                            objRef.internalId = objOrder.internalId;
                                            objRef.type = RecordType.salesOrder;
                                            objRef.typeSpecified = true;
                                            WriteResponse writeRes = _service.delete(objRef);
                                            if (writeRes.status.isSuccess)
                                            {
                                                Console.WriteLine("delete: " + objOrder.tranId);
                                            }
                                            else
                                            {
                                                Console.WriteLine(getStatusDetails(writeRes.status));
                                            }

                                        }
                                    }
                                    catch (Exception objExc)
                                    {
                                        Console.WriteLine(objExc.ToString());
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    strItem = "error";
                }
            }
            catch (Exception)
            {
            }
        }