public void RemoveResource(SimResource resource, int amount) { SimResourceBin bin = FindBin(resource); if (bin != null) bin.Remove(amount); }
private SimResourceBin FindBin(SimResource resource) { for (int i = 0; i < bins.Count; i++) if (bins[i].resouce == resource) return bins[i]; return null; }
public int GetCapacity(SimResource resource) { SimResourceBin bin = FindBin(resource); if (bin != null) return bin.capacity; return int.MaxValue; }
public int GetAmount(SimResource resource) { SimResourceBin bin = FindBin(resource); if (bin != null) return bin.amount; return 0; }
static void Main(string[] args) { // Find your Account SID and Auth Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var sim = SimResource.Fetch("DEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); Console.WriteLine(sim.Sid); }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var sim = SimResource.Fetch(pathSid: "AliceSmithSmartMeter"); Console.WriteLine(sim.UniqueName); }
private SimResourceBin FindOrAddBin(SimResource resource) { SimResourceBin bin = FindBin(resource); if (bin == null) { bin = new SimResourceBin(); bin.resouce = resource; bins.Add(bin); } return bin; }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console // DANGER! This is insecure. See http://twil.io/secure const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var sim = SimResource.Fetch(pathSid: "DEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); Console.WriteLine(sim.UniqueName); }
static void Main(string[] args) { // Find your Account SID and Auth Token at twilio.com/console // To set up environmental variables, see http://twil.io/secure const string accountSid = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID"); const string authToken = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN"); TwilioClient.Init(accountSid, authToken); var sim = SimResource.Fetch("DEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); Console.WriteLine(sim.Sid); }
public void TestUpdateUniqueNameResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"sid\": \"HSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"unique_name\": \"MySIM\",\"status\": \"new\",\"fleet_sid\": null,\"iccid\": \"iccid\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_updated\": \"2015-07-30T20:00:00Z\",\"url\": \"https://supersim.twilio.com/v1/Sims/HSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"}" )); var response = SimResource.Update("HSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient); Assert.NotNull(response); }
public void TestReadFullResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"sims\": [{\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"unique_name\": \"unique_name\",\"commands_callback_method\": \"http_method\",\"commands_callback_url\": \"http://www.example.com\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_updated\": \"2015-07-30T20:00:00Z\",\"friendly_name\": \"friendly_name\",\"links\": {\"data_sessions\": \"https://wireless.twilio.com/v1/Sims/DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/DataSessions\",\"rate_plan\": \"https://wireless.twilio.com/v1/RatePlans/WPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"usage_records\": \"https://wireless.twilio.com/v1/Sims/DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/UsageRecords\"},\"rate_plan_sid\": \"WPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"sid\": \"DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"iccid\": \"iccid\",\"e_id\": \"e_id\",\"status\": \"new\",\"reset_status\": \"resetting\",\"sms_fallback_method\": \"http_method\",\"sms_fallback_url\": \"http://www.example.com\",\"sms_method\": \"http_method\",\"sms_url\": \"http://www.example.com\",\"voice_fallback_method\": \"http_method\",\"voice_fallback_url\": \"http://www.example.com\",\"voice_method\": \"http_method\",\"voice_url\": \"http://www.example.com\",\"url\": \"https://wireless.twilio.com/v1/Sims/DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"ip_address\": \"192.168.1.30\"}],\"meta\": {\"first_page_url\": \"https://wireless.twilio.com/v1/Sims?Status=new&Iccid=iccid&RatePlan=rate_plan&PageSize=50&Page=0\",\"key\": \"sims\",\"next_page_url\": null,\"page\": 0,\"page_size\": 50,\"previous_page_url\": null,\"url\": \"https://wireless.twilio.com/v1/Sims?Status=new&Iccid=iccid&RatePlan=rate_plan&PageSize=50&Page=0\"}}" )); var response = SimResource.Read(client: twilioRestClient); Assert.NotNull(response); }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var sim = SimResource.Update( uniqueName: "UniqueName", pathSid: "DEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ); Console.WriteLine(sim.UniqueName); }
public void TestReadFullResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"meta\": {\"first_page_url\": \"https://supersim.twilio.com/v1/Sims?Status=new&Fleet=MyFleet&Iccid=11111111111111111111&PageSize=50&Page=0\",\"key\": \"sims\",\"next_page_url\": null,\"page\": 0,\"page_size\": 50,\"previous_page_url\": null,\"url\": \"https://supersim.twilio.com/v1/Sims?Status=new&Fleet=MyFleet&Iccid=11111111111111111111&PageSize=50&Page=0\"},\"sims\": [{\"sid\": \"HSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"unique_name\": \"My SIM\",\"status\": \"new\",\"fleet_sid\": null,\"iccid\": \"iccid\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_updated\": \"2015-07-30T20:00:00Z\",\"url\": \"https://supersim.twilio.com/v1/Sims/HSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"}]}" )); var response = SimResource.Read(client: twilioRestClient); Assert.NotNull(response); }
public void TestDeleteResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.NoContent, "null" )); var response = SimResource.Delete("DEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient); Assert.NotNull(response); }
public void TestReadEmptyResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"sims\": [],\"meta\": {\"first_page_url\": \"https://supersim.twilio.com/v1/Sims?Status=new&Fleet=HFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&Iccid=11111111111111111111&PageSize=50&Page=0\",\"key\": \"sims\",\"next_page_url\": null,\"page\": 0,\"page_size\": 50,\"previous_page_url\": null,\"url\": \"https://supersim.twilio.com/v1/Sims?Status=new&Fleet=HFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&Iccid=11111111111111111111&PageSize=50&Page=0\"}}" )); var response = SimResource.Read(client: twilioRestClient); Assert.NotNull(response); }
public void TestFetchResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.OK, "{\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"unique_name\": \"unique_name\",\"commands_callback_method\": \"http_method\",\"commands_callback_url\": \"http://www.example.com\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_updated\": \"2015-07-30T20:00:00Z\",\"friendly_name\": \"friendly_name\",\"sms_fallback_method\": \"http_method\",\"sms_fallback_url\": \"http://www.example.com\",\"sms_method\": \"http_method\",\"sms_url\": \"http://www.example.com\",\"voice_fallback_method\": \"http_method\",\"voice_fallback_url\": \"http://www.example.com\",\"voice_method\": \"http_method\",\"voice_url\": \"http://www.example.com\",\"links\": {\"data_sessions\": \"https://wireless.twilio.com/v1/Sims/DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/DataSessions\",\"rate_plan\": \"https://wireless.twilio.com/v1/RatePlans/WPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"usage_records\": \"https://wireless.twilio.com/v1/Sims/DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/UsageRecords\"},\"rate_plan_sid\": \"WPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"sid\": \"DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"iccid\": \"iccid\",\"e_id\": \"e_id\",\"status\": \"new\",\"url\": \"https://wireless.twilio.com/v1/Sims/DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"ip_address\": \"192.168.1.1\"}" )); var response = SimResource.Fetch("DEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient); Assert.NotNull(response); }
static void Main(string[] args) { // Find your Account SID and Auth Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var sim = SimResource.Update("DEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", callbackMethod: HttpMethod.Post, commandsCallbackUrl: new Uri("https://sim-manager.mycompany.com/sim-update-callback/AliceSmithSmartMeter"), status: SimResource.StatusEnum.Active); Console.WriteLine(sim.Sid); }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var sims = SimResource.Read(); foreach (var record in sims) { Console.WriteLine(record.Sid); } }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console // DANGER! This is insecure. See http://twil.io/secure const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var sims = SimResource.Read(limit: 20); foreach (var record in sims) { Console.WriteLine(record.Sid); } }
static void Main(string[] args) { // Find your Account SID and Auth Token at twilio.com/console // To set up environmental variables, see http://twil.io/secure const string accountSid = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID"); const string authToken = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN"); TwilioClient.Init(accountSid, authToken); var sim = SimResource.Update("DEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", callbackMethod: HttpMethod.Post, commandsCallbackUrl: new Uri("https://sim-manager.mycompany.com/sim-update-callback/AliceSmithSmartMeter"), status: SimResource.StatusEnum.Active); Console.WriteLine(sim.Sid); }
private void ParseResource() { string line = GetNextLine(); string[] lineSplit = SplitLine(line); if (lineSplit.Length == 1) { ThrowInvalidLine("ParseResource()"); } SimResource resource = new SimResource(); resource.id = lineSplit[1]; definition.resourceTypes.Add(resource.id, resource); }
static void Main(string[] args) { // Find your Account Sid and Token at twilio.com/console // DANGER! This is insecure. See http://twil.io/secure const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; const string authToken = "your_auth_token"; TwilioClient.Init(accountSid, authToken); var sim = SimResource.Update( callbackMethod: Twilio.Http.HttpMethod.Post, callbackUrl: new Uri("https://sim-manager.mycompany.com/sim-update-callback/AliceSmithSmartMeter"), status: SimResource.StatusEnum.Active, pathSid: "DEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ); Console.WriteLine(sim.UniqueName); }
public void TestUpdateRequest() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); var request = new Request( HttpMethod.Post, Twilio.Rest.Domain.Supersim, "/v1/Sims/HSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "" ); twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content")); try { SimResource.Update("HSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient); Assert.Fail("Expected TwilioException to be thrown for 500"); } catch (ApiException) {} twilioRestClient.Received().Request(request); }
public void TestReadRequest() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); var request = new Request( HttpMethod.Get, Twilio.Rest.Domain.Wireless, "/v1/Sims", "" ); twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content")); try { SimResource.Read(client: twilioRestClient); Assert.Fail("Expected TwilioException to be thrown for 500"); } catch (ApiException) {} twilioRestClient.Received().Request(request); }
private SimResourceBinCollection ParseResourcesArray(string[] lineSplit, ref int splitOffset) { string[] strings = ParseStringArray(lineSplit, ref splitOffset); SimResourceBinCollection resources = new SimResourceBinCollection(); for (int i = 0; i < strings.Length; i += 2) { SimResource resource = definition.GetResource(strings[i]); if (resource == null) { ThrowInvalidLine("ParseResourcesArray() - Unknown resource id"); } int amount = ParseInt(strings[i + 1]); resources.AddResource(resource, amount); } return(resources); }
public void SetCapacity(SimResource resource, int capacity) { SimResourceBin bin = FindOrAddBin(resource); bin.SetCapacity(capacity); }
public void AddResource(SimResource resource, int amount) { SimResourceBin bin = FindOrAddBin(resource); bin.Add(amount); }
private SimulationDefinition CreateDefinition() { SimulationDefinition definition = new SimulationDefinition(); SimResource resourceWater = new SimResource(); resourceWater.id = "Water"; SimResource resourceGrass = new SimResource(); resourceGrass.id = "Grass"; definition.resourceTypes.Add(resourceWater.id, resourceWater); definition.resourceTypes.Add(resourceGrass.id, resourceGrass); //Add 2 of water every 10 ticks SimRuleValueMap valueMapWater = new SimRuleValueMap(); valueMapWater.mapId = "Water"; SimRuleCommandAdd commandAddWater = new SimRuleCommandAdd(); commandAddWater.amount = 2; commandAddWater.target = valueMapWater; SimRuleMap ruleMapAddWater = new SimRuleMap(); ruleMapAddWater.id = "AddWater"; ruleMapAddWater.rate = 10; ruleMapAddWater.randomTiles = true; ruleMapAddWater.randomTilesPercent = 25; ruleMapAddWater.commands = new SimRuleCommand[] { commandAddWater }; //Water Map SimMapType mapTypeWater = new SimMapType(); mapTypeWater.id = "Water"; mapTypeWater.color = 0x0000FF; mapTypeWater.capacity = 100; mapTypeWater.rules = new SimRuleMap[] { ruleMapAddWater }; definition.mapTypes.Add(mapTypeWater.id, mapTypeWater); //Add grass every 7 ticks if there is 10 of water available SimRuleValueMap valueMapGrass = new SimRuleValueMap(); valueMapGrass.mapId = "Grass"; SimRuleCommandRemove commandRemoveWater = new SimRuleCommandRemove(); commandRemoveWater.amount = 10; commandRemoveWater.target = valueMapWater; SimRuleCommandAdd commandAddGrass = new SimRuleCommandAdd(); commandAddGrass.amount = 1; commandAddGrass.target = valueMapGrass; SimRuleMap ruleMapCreateGrass = new SimRuleMap(); ruleMapCreateGrass.id = "CreateGrass"; ruleMapCreateGrass.rate = 7; ruleMapCreateGrass.commands = new SimRuleCommand[] { commandRemoveWater, commandAddGrass }; //Grass Map SimMapType mapTypeGrass = new SimMapType(); mapTypeGrass.id = "Grass"; mapTypeGrass.color = 0x00FF00; mapTypeGrass.capacity = 10; mapTypeGrass.rules = new SimRuleMap[] { ruleMapCreateGrass }; definition.mapTypes.Add(mapTypeGrass.id, mapTypeGrass); return(definition); }