public Location(string locationName) { NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; LocationSearch locSearch = new LocationSearch(); SearchStringField locName = new SearchStringField(); locName.@operator = SearchStringFieldOperator.@is; locName.operatorSpecified = true; locName.searchValue = locationName; LocationSearchBasic locSearchBasic = new LocationSearchBasic(); locSearchBasic.name = locName; locSearch.basic = locSearchBasic; SearchResult locationResult = service.search(locSearch); if (locationResult.status.isSuccess != true) throw new Exception("Cannot find Item " + locationName + " " + locationResult.status.statusDetail[0].message); if (locationResult.recordList.Count() != 1) throw new Exception("More than one item found for item " + locationName); this.locationRecord = new RecordRef(); this.locationRecord.type = RecordType.location; this.locationRecord.typeSpecified = true; this.locationRecord.internalId = ((com.netsuite.webservices.Location)locationResult.recordList[0]).internalId; }
public void addItemRecord() { NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; string itemName = this.ItemName; SearchStringField objItemName = new SearchStringField(); objItemName.searchValue = itemName; objItemName.@operator = SearchStringFieldOperator.@is; objItemName.operatorSpecified = true; ItemSearch objItemSearch = new ItemSearch(); objItemSearch.basic = new ItemSearchBasic(); objItemSearch.basic.itemId = objItemName; SearchPreferences searchPreferences = new SearchPreferences(); searchPreferences.bodyFieldsOnly = false; service.searchPreferences = searchPreferences; SearchResult objItemResult = service.search(objItemSearch); if (objItemResult.status.isSuccess != true) throw new Exception("Cannot find Item " + itemName + " " + objItemResult.status.statusDetail[0].message); if (objItemResult.recordList.Count() != 1) throw new Exception("More than one item found for item " + itemName); InventoryItem iRecord = new InventoryItem(); iRecord = ((InventoryItem)objItemResult.recordList[0]); this.itemRecord = new InventoryItem(); this.itemRecord=iRecord; }
public Passport prepare(NetsuiteUser NSuser) { Passport passport = new Passport(); passport.account = NSuser.AccountNumber; passport.email = NSuser.Email; RecordRef role = new RecordRef(); role.internalId = NSuser.RoleID; passport.role = role; passport.password = NSuser.Password; return passport; }
public string createNewBin(InventoryBin bin) { NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; LocationSearch locationSearch = new LocationSearch(); LocationSearchBasic locationSearchBasic = new LocationSearchBasic(); SearchStringField locationName = new SearchStringField(); locationName.searchValue = bin.LocationName; locationName.@operator = SearchStringFieldOperator.@is; locationName.operatorSpecified = true; locationSearchBasic.name = locationName; locationSearch.basic = locationSearchBasic; SearchResult sr = new SearchResult(); sr = service.search(locationSearch); if (sr.status.isSuccess != true) Console.WriteLine(sr.status.statusDetail[0].message); Bin newBin = new Bin(); RecordRef newLocation = new RecordRef(); newLocation.type = RecordType.location; newLocation.typeSpecified = true; newLocation.internalId = ((com.netsuite.webservices.Location)sr.recordList[0]).internalId; newBin.binNumber = bin.BinNumber; newBin.location = newLocation; WriteResponse writeResponse = service.add(newBin); if (writeResponse.status.isSuccess == true) { Console.WriteLine("Bin: "+ newBin.binNumber +" has been created."); return "Bin: " + newBin.binNumber + " has been created."; } if (writeResponse.status.isSuccess == false) { Console.WriteLine(writeResponse.status.statusDetail[0].message); return writeResponse.status.statusDetail[0].message; } return string.Empty; }
public void DeleteBin(InventoryBin bin) { NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; BinSearch binSearch = new BinSearch(); BinSearchBasic bSBasic = new BinSearchBasic(); SearchStringField binName = new SearchStringField(); binName.searchValue = bin.BinNumber; binName.@operator = SearchStringFieldOperator.@is; binName.operatorSpecified = true; bSBasic.binNumber = binName; binSearch.basic = bSBasic; SearchResult sr = new SearchResult(); sr = service.search(binSearch); if (sr.status.isSuccess != true) Console.WriteLine(sr.status.statusDetail[0].message); RecordRef binToDelete = new RecordRef(); binToDelete.type = RecordType.bin; binToDelete.typeSpecified = true; binToDelete.name = bin.BinNumber; binToDelete.internalId = ((Bin)sr.recordList[0]).internalId; WriteResponse writeResponse = service.delete(binToDelete); if (writeResponse.status.isSuccess == true) { Console.WriteLine("Bin: " + binToDelete.name + " has been deleted."); } if (writeResponse.status.isSuccess == false) { Console.WriteLine(writeResponse.status.statusDetail[0].message); } }
public void addBinRecord(string binNumber) { NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; SearchStringField objBinNumber = new SearchStringField(); objBinNumber.searchValue = binNumber; objBinNumber.@operator = SearchStringFieldOperator.@is; objBinNumber.operatorSpecified = true; BinSearch objBinSearch = new BinSearch(); objBinSearch.basic = new BinSearchBasic(); objBinSearch.basic.binNumber = objBinNumber; SearchResult objBinResult = service.search(objBinSearch); if (objBinResult.status.isSuccess == false) throw new Exception("Unable to find bin " + binNumber + " is NetSuite"); if (((Bin)objBinResult.recordList[0]).isInactive) throw new Exception("Bin Number " + binNumber + " is inactive in NetSuite"); this.binRecord = new Bin(); this.binRecord = (Bin)objBinResult.recordList[0]; }
public string markAsShipped() { ItemFulfillmentShipStatus shipped = ItemFulfillmentShipStatus._shipped; ItemFulfillment updatedOrder = new ItemFulfillment(); updatedOrder.itemFulfillment = new com.netsuite.webservices.ItemFulfillment(); updatedOrder.itemFulfillment.internalId = this.itemFulfillment.internalId; updatedOrder.itemFulfillment.shipStatus = shipped; updatedOrder.itemFulfillment.shipStatusSpecified = true; NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; WriteResponse writeResponse = service.update(updatedOrder.itemFulfillment); if (writeResponse.status.isSuccess == true) { Console.WriteLine("Item Fulfillment " + this.itemFulfillment.tranId + " marked as shipped."); } if (writeResponse.status.isSuccess == false) { Console.WriteLine(writeResponse.status.statusDetail[0].message); } return this.itemFulfillment.tranId; }
public void itemFulfillmentSearch(string orderNumber) { NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; TransactionSearchAdvanced tranSearchAdvanced = new TransactionSearchAdvanced(); TransactionSearch tranSearch = new TransactionSearch(); SearchStringField orderID = new SearchStringField(); orderID.@operator = SearchStringFieldOperator.@is; orderID.operatorSpecified = true; orderID.searchValue = orderNumber; TransactionSearchBasic tranSearchBasic = new TransactionSearchBasic(); tranSearchBasic.tranId = orderID; tranSearch.basic = tranSearchBasic; tranSearchAdvanced.criteria = tranSearch; SearchPreferences searchPreferences = new SearchPreferences(); searchPreferences.bodyFieldsOnly = false; service.searchPreferences = searchPreferences; SearchResult transactionResult = service.search(tranSearchAdvanced); if (transactionResult.status.isSuccess != true) throw new Exception("Cannot find Order " + orderNumber + " " + transactionResult.status.statusDetail[0].message); if (transactionResult.recordList.Count() != 1) throw new Exception("More than one order found for item " + orderNumber); this.itemFulfillment = new com.netsuite.webservices.ItemFulfillment(); this.itemFulfillment = ((com.netsuite.webservices.ItemFulfillment)transactionResult.recordList[0]); }
public void editOrder(List<SalesOrderLine> orderLines) { SalesOrder updatedOrder = new SalesOrder(); updatedOrder.salesOrder = new com.netsuite.webservices.SalesOrder(); updatedOrder.salesOrder.internalId = this.salesOrder.internalId; updatedOrder.salesOrder.itemList = new SalesOrderItemList(); bool flag = false; bool contains = false; bool contains1 = false; foreach (var line in orderLines) { foreach (var itemObject in this.salesOrder.itemList.item) { //if (itemObject.item.name.Contains(line.item.ItemName)) if (itemObject.item.name.Contains(line.item.ItemName) && (line.delete == true)) { this.salesOrder.itemList.item = this.salesOrder.itemList.item.Where(val => !val.item.name.Contains(line.item.ItemName)).ToArray(); } if (itemObject.item.name.Contains(line.item.ItemName) && (line.delete == false)) { itemObject.quantity = line.QuantityRequested; contains1 = true; } if (!itemObject.item.name.Contains(line.item.ItemName) && (line.delete == false)) { contains = false; } if (!itemObject.item.name.Contains(line.item.ItemName) && (line.delete == true)) { contains = true; } } if (!(contains || contains1)) { SalesOrderLine addLine = new SalesOrderLine(line.item.ItemName, line.QuantityRequested, line.UnitPrice, flag); this.salesOrder.itemList = this.addToExistingItemList(this.salesOrder.itemList, addLine); } contains = false; contains1 = false; } List<SalesOrderLine> newItemList = new List<SalesOrderLine>(); newItemList = createNewSalesOrderLines(this.salesOrder.itemList); updatedOrder.addItemList(newItemList); NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; WriteResponse writeResponse = service.update(updatedOrder.salesOrder); if (writeResponse.status.isSuccess == true) { Console.WriteLine("Update Sales Order success"); } if (writeResponse.status.isSuccess == false) { Console.WriteLine(writeResponse.status.statusDetail[0].message); } }
public string deleteFulfillment() { NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; RecordRef orderToBeDeleted = new RecordRef(); orderToBeDeleted.type = RecordType.itemFulfillment; orderToBeDeleted.typeSpecified = true; orderToBeDeleted.internalId = this.itemFulfillment.internalId; WriteResponse writeResponse = service.delete(orderToBeDeleted); if (writeResponse.status.isSuccess == true) { Console.WriteLine("Delete Item Fulfillment " + this.itemFulfillment.tranId + " success"); return "Delete Item Fulfillment " + this.itemFulfillment.tranId + " success"; } if (writeResponse.status.isSuccess == false) { Console.WriteLine(writeResponse.status.statusDetail[0].message); return writeResponse.status.statusDetail[0].message; } return string.Empty; }
public string createItemFulfillment() { NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; WriteResponse writeResponse = service.add(this.itemFulfillment); if (writeResponse.status.isSuccess == true) { Console.WriteLine("Create Item Fulfillment success"); return "Create Item Fulfillment Success"; } if (writeResponse.status.isSuccess == false) { Console.WriteLine(writeResponse.status.statusDetail[0].message); return writeResponse.status.statusDetail[0].message; } return string.Empty; }
public string addBin(InventoryBin itemBin) { NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; SearchStringField objItemName = new SearchStringField(); objItemName.searchValue = itemBin.InventoryItem.ItemName; objItemName.@operator = SearchStringFieldOperator.@is; objItemName.operatorSpecified = true; ItemSearch objItemSearch = new ItemSearch(); objItemSearch.basic = new ItemSearchBasic(); objItemSearch.basic.itemId = objItemName; SearchResult objItemResult = service.search(objItemSearch); if (objItemResult.status.isSuccess != true) { Console.WriteLine("Cannot find Item " + itemBin.InventoryItem.ItemName + " " + objItemResult.status.statusDetail[0].message); return "Cannot find Item " + itemBin.InventoryItem.ItemName + " " + objItemResult.status.statusDetail[0].message; } if (objItemResult.recordList.Count() != 1) { Console.WriteLine("More than one item found for item " + itemBin.InventoryItem.ItemName); return "More than one item found for item " + itemBin.InventoryItem.ItemName; } SearchStringField objBinNumber = new SearchStringField(); objBinNumber.searchValue = itemBin.BinNumber; objBinNumber.@operator = SearchStringFieldOperator.@is; objBinNumber.operatorSpecified = true; BinSearch objBinSearch = new BinSearch(); objBinSearch.basic = new BinSearchBasic(); objBinSearch.basic.binNumber = objBinNumber; SearchResult objBinResult = service.search(objBinSearch); if (objBinResult.status.isSuccess == false) { Console.WriteLine("Unable to find bin " + itemBin.BinNumber + " in NetSuite"); return "Unable to find bin " + itemBin.BinNumber + " in NetSuite"; } if (objItemResult.recordList.Count() != 1) { Console.WriteLine("More than one bin found for " + itemBin.BinNumber); return "More than one bin found for " + itemBin.BinNumber; } if (((Bin)objBinResult.recordList[0]).isInactive) { Console.WriteLine("Bin Number " + itemBin.BinNumber + " is inactive in NetSuite"); return "Bin Number " + itemBin.BinNumber + " is inactive in NetSuite"; } RecordRef objAddBin = new RecordRef(); objAddBin.type = RecordType.bin; objAddBin.typeSpecified = true; objAddBin.internalId = ((Bin)objBinResult.recordList[0]).internalId; objAddBin.name = ((Bin)objBinResult.recordList[0]).binNumber; InventoryItemBinNumber objItemBinNumber = new InventoryItemBinNumber(); objItemBinNumber.location = ((Bin)objBinResult.recordList[0]).location.internalId; objItemBinNumber.binNumber = objAddBin; InventoryItemBinNumber[] objItemBinNumbers = new InventoryItemBinNumber[1]; objItemBinNumbers[0] = objItemBinNumber; if(((InventoryItem)objItemResult.recordList[0]).useBins==true) { //Initialize item to update InventoryItem objInventoryItem = new InventoryItem(); objInventoryItem.internalId = ((InventoryItem)objItemResult.recordList[0]).internalId; objInventoryItem.salesDescription = ((InventoryItem)objItemResult.recordList[0]).salesDescription; objInventoryItem.purchaseDescription = ((InventoryItem)objItemResult.recordList[0]).purchaseDescription; objInventoryItem.binNumberList = new InventoryItemBinNumberList(); objInventoryItem.binNumberList.binNumber = objItemBinNumbers; objInventoryItem.binNumberList.replaceAll = false; //Request to update item with bins WriteResponse objWriteResponse = service.update(objInventoryItem); if (objWriteResponse.status.isSuccess != true) { Console.WriteLine(objWriteResponse.status.statusDetail[0].message); return objWriteResponse.status.statusDetail[0].message; } Console.WriteLine("Bins successfully updated for: "+((InventoryItem)objItemResult.recordList[0]).itemId); return "Bins successfully updated for: " + ((InventoryItem)objItemResult.recordList[0]).itemId; } return string.Empty; }
public void createInvoice() { NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; WriteResponse writeResponse = service.add(this.invoice); if (writeResponse.status.isSuccess == true) { Console.WriteLine("Create Invoice success"); } if (writeResponse.status.isSuccess == false) { Console.WriteLine(writeResponse.status.statusDetail[0].message); } }
public void setCustomer(string customerID) { NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; CustomerSearch customerSearch = new CustomerSearch(); customerSearch = CustomerNameSearch(customerID); SearchResult searchResult = service.search(customerSearch); if (searchResult.status.isSuccess) { if (searchResult.recordList != null && searchResult.recordList.Length == 1) { string entityID = ((Customer)searchResult.recordList[0]).entityId; Console.WriteLine(entityID); } } else { throw new Exception("Cannot find Customer " + customerID + " " + searchResult.status.statusDetail[0].message); } this.salesOrder.entity = createCustomer(searchResult); }
public bool placeSalesOrder() { bool success = false; NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; /* SelectCustomFieldRef tempCustFieldRef = new SelectCustomFieldRef(); tempCustFieldRef.internalId = "148"; tempCustFieldRef.scriptId = "custbodycustbodycust_fob"; tempCustFieldRef.value.internalId = "3"; this.salesOrder.customFieldList = new CustomFieldRef[4]; this.salesOrder.customFieldList[4] = new SelectCustomFieldRef(); this.salesOrder.customFieldList[4] = tempCustFieldRef; */ WriteResponse writeResponse = service.add(this.salesOrder); if (writeResponse.status.isSuccess == true) { success = true; Console.WriteLine("Sales Order success"); Console.WriteLine(((RecordRef)writeResponse.baseRef).internalId); return success; } else { success = false; Console.WriteLine(writeResponse.status.statusDetail[0].message); return success; } }
public void editFulfillment(List<ItemFulfillmentLine> fulfillmentLines) { ItemFulfillment updatedFulfillment = new ItemFulfillment(); updatedFulfillment.itemFulfillment = new com.netsuite.webservices.ItemFulfillment(); updatedFulfillment.itemFulfillment.internalId = this.itemFulfillment.internalId; updatedFulfillment.itemFulfillment.itemList = new ItemFulfillmentItemList(); // updatedFulfillment.itemFulfillment.itemList.item = new ItemFulfillmentItem[this.itemFulfillment.itemList.item.Length]; //bool flag = false; //bool contains = false; //bool contains1 = false; foreach (var line in fulfillmentLines) { foreach (var itemObject in this.itemFulfillment.itemList.item) { //if (itemObject.item.name.Contains(line.item.ItemName)) if (itemObject.item.name.Contains(line.item.ItemName) && (line.delete == true)) { this.itemFulfillment.itemList.item = this.itemFulfillment.itemList.item.Where(val => !val.item.name.Contains(line.item.ItemName)).ToArray(); //ItemFulfillmentItem ifi = new ItemFulfillmentItem(); //ifi.orderLine = itemObject.orderLine; } if (itemObject.item.name.Contains(line.item.ItemName) && (line.delete == false)) { itemObject.quantity = line.QuantityRequested; } if (!itemObject.item.name.Contains(line.item.ItemName) && (line.delete == false)) { } if (!itemObject.item.name.Contains(line.item.ItemName) && (line.delete == true)) { } } } updatedFulfillment.itemFulfillment.itemList = this.itemFulfillment.itemList; //updatedFulfillment.itemFulfillment.itemList.item = this.itemFulfillment.itemList.item; NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; WriteResponse writeResponse = service.update(updatedFulfillment.itemFulfillment); if (writeResponse.status.isSuccess == true) { Console.WriteLine("Update Item Fulfillment success"); } if (writeResponse.status.isSuccess == false) { Console.WriteLine(writeResponse.status.statusDetail[0].message); } }
public string approveOrder() { SalesOrder updatedOrder = new SalesOrder(); updatedOrder.salesOrder = new com.netsuite.webservices.SalesOrder(); updatedOrder.salesOrder.internalId = this.salesOrder.internalId; updatedOrder.salesOrder.itemList = new SalesOrderItemList(); updatedOrder.salesOrder.orderStatus = SalesOrderOrderStatus._pendingFulfillment; updatedOrder.salesOrder.orderStatusSpecified = true; List<SalesOrderLine> newItemList = new List<SalesOrderLine>(); newItemList = createNewSalesOrderLines(this.salesOrder.itemList); updatedOrder.addItemList(newItemList); NetSuiteService service = new NetSuiteService(); service.CookieContainer = new CookieContainer(); NetsuiteUser user = new NetsuiteUser("3451682", "*****@*****.**", "1026", "tridenT168"); Passport passport = user.prepare(user); Status status = service.login(passport).status; WriteResponse writeResponse = service.update(updatedOrder.salesOrder); if (writeResponse.status.isSuccess == true) { Console.WriteLine("Approved Sales Order success"); } if (writeResponse.status.isSuccess == false) { Console.WriteLine(writeResponse.status.statusDetail[0].message); } return this.salesOrder.tranId; }