public void Update(Network network) { var networkKey = PartionKeyRowKeyPair.CreateFromIdentity(network.Id); var networkRepository = new NetworkRepository(_tableEntityOperation); var networkTableEntity = networkRepository.Get(networkKey); if (networkTableEntity == null) { throw new NotFoundException(); } networkTableEntity.Name = network.Name; networkTableEntity.TelemetryDataSinkSettings = network.TelemetryDataSinkSettings; networkRepository.Update(networkTableEntity); if (networkTableEntity.ParentNetworkId == null) { var serviceKey = PartionKeyRowKeyPair.CreateFromIdentity(networkTableEntity.ServiceId); TransientErrorHandling.Run(() => { var serviceRepository = new ServiceRepository(_tableEntityOperation); var service = serviceRepository.Get(serviceKey); for (var idx = 0; idx < service.Networks.Count; idx++) { if (service.Networks[idx].Id == network.Id) { service.Networks[idx].Name = network.Name; break; } } serviceRepository.Update(service); }); } else { var parentNetworkKey = PartionKeyRowKeyPair.CreateFromIdentity(networkTableEntity.ParentNetworkId); TransientErrorHandling.Run(() => { var parentNetwork = networkRepository.Get(parentNetworkKey); for (var idx = 0; idx < parentNetwork.Networks.Count; idx++) { if (parentNetwork.Networks[idx].Id == network.Id) { parentNetwork.Networks[idx].Name = network.Name; break; } } networkRepository.Update(parentNetwork); }); } }
public void Delete(string id) { var networkKey = PartionKeyRowKeyPair.CreateFromIdentity(id); var networkRepository = new NetworkRepository(_tableEntityOperation); var networkTableEntity = networkRepository.Get(networkKey); if (networkTableEntity == null) { throw new NotFoundException(); } var serviceKey = PartionKeyRowKeyPair.CreateFromIdentity(networkTableEntity.ServiceId); var parentNetworkKey = networkTableEntity.ParentNetworkId != null ? PartionKeyRowKeyPair.CreateFromIdentity(networkTableEntity.ParentNetworkId) : null; networkRepository.Delete(networkTableEntity); if (parentNetworkKey == null) { TransientErrorHandling.Run(() => { var serviceRepository = new ServiceRepository(_tableEntityOperation); var service = serviceRepository.Get(serviceKey); for (var idx = 0; idx < service.Networks.Count; idx++) { if (service.Networks[idx].Id == id) { service.Networks.RemoveAt(idx); break; } } serviceRepository.Update(service); }); } else { TransientErrorHandling.Run(() => { var parentNetwork = networkRepository.Get(parentNetworkKey); for (var idx = 0; idx < parentNetwork.Networks.Count; idx++) { if (parentNetwork.Networks[idx].Id == id) { parentNetwork.Networks.RemoveAt(idx); break; } } networkRepository.Update(parentNetwork); }); } }
public string Create(Device device) { var deviceIdentity = Identity.Next(); var deviceKey = PartionKeyRowKeyPair.CreateFromIdentity(deviceIdentity); var deviceRepository = new DeviceRepository(_tableEntityOperation); var networkRepository = new NetworkRepository(_tableEntityOperation); var deviceTableEntity = new DeviceTableEntity(deviceKey, device.Name, device.Network.Id, device.Service.Id, device.Company.Id, device.DeviceKey, device.NumericId); deviceRepository.Create(deviceTableEntity); TransientErrorHandling.Run(() => { var parentNetworkKey = PartionKeyRowKeyPair.CreateFromIdentity(device.Network.Id); var parentNetwork = networkRepository.Get(parentNetworkKey); parentNetwork.Devices.Add(new Small() { Id = deviceIdentity, Name = device.Name }); networkRepository.Update(parentNetwork); }); return(deviceIdentity); }
public void Delete(string id) { var deviceKey = PartionKeyRowKeyPair.CreateFromIdentity(id); var deviceRepository = new DeviceRepository(_tableEntityOperation); var networkRepository = new NetworkRepository(_tableEntityOperation); var deviceTableEntity = deviceRepository.Get(deviceKey); if (deviceTableEntity == null) { throw new NotFoundException(); } var parentNetworkKey = PartionKeyRowKeyPair.CreateFromIdentity(deviceTableEntity.NetworkId); deviceRepository.Delete(deviceTableEntity); TransientErrorHandling.Run(() => { var parentNetwork = networkRepository.Get(parentNetworkKey); for (var idx = 0; idx < parentNetwork.Devices.Count; idx++) { if (parentNetwork.Devices[idx].Id == id) { parentNetwork.Devices.RemoveAt(idx); break; } } networkRepository.Update(parentNetwork); }); }
public string Create(Network network) { var networkIdentity = Identity.Next(); var networkKey = PartionKeyRowKeyPair.CreateFromIdentity(networkIdentity); var networkRepository = new NetworkRepository(_tableEntityOperation); var networkTableEntity = new NetworkTableEntity( networkKey, network.Name, network.ParentNetwork != null ? network.ParentNetwork.Id : null, network.Service.Id, network.Company.Id, network.NetworkKey); networkRepository.Create(networkTableEntity); if (network.ParentNetwork == null) { var serviceKey = PartionKeyRowKeyPair.CreateFromIdentity(network.Service.Id); TransientErrorHandling.Run(() => { var serviceRepository = new ServiceRepository(_tableEntityOperation); var service = serviceRepository.Get(serviceKey); service.Networks.Add(new Small() { Id = networkIdentity, Name = network.Name }); serviceRepository.Update(service); }); } else { TransientErrorHandling.Run(() => { var parentNetworkKey = PartionKeyRowKeyPair.CreateFromIdentity(network.ParentNetwork.Id); var parentNetwork = networkRepository.Get(parentNetworkKey); parentNetwork.Networks.Add(new Small() { Id = networkIdentity, Name = network.Name }); networkRepository.Update(parentNetwork); }); } return(networkIdentity); }
public IList <Small> ListDevices(string networkId) { var networkKey = PartionKeyRowKeyPair.CreateFromIdentity(networkId); var networkRepository = new NetworkRepository(_tableEntityOperation); var network = networkRepository.Get(networkKey); if (network == null) { throw new NotFoundException(); } return(network.Devices); }
public void NetworkTest() { var network = new Network("Test") { Key = "Key" }; NetworkRepository.Save(network); // test GetAll var networks = NetworkRepository.GetAll(); Assert.Greater(networks.Count, 0); // test Get(id) var network1 = NetworkRepository.Get(network.ID); Assert.IsNotNull(network1); Assert.AreEqual("Test", network1.Name); // test Get(name) var network2 = NetworkRepository.Get("Test"); Assert.IsNotNull(network2); // test Save network.Name = "Test2"; network.Description = "Desc"; NetworkRepository.Save(network); var network4 = NetworkRepository.Get(network.ID); Assert.AreEqual("Test2", network4.Name); Assert.AreEqual("Desc", network4.Description); // test Delete NetworkRepository.Delete(network.ID); var network5 = NetworkRepository.Get(network.ID); Assert.IsNull(network5); }
public Network Get(string id) { var networkKey = PartionKeyRowKeyPair.CreateFromIdentity(id); var networkRepository = new NetworkRepository(_tableEntityOperation); var networkTableEntity = networkRepository.Get(networkKey); if (networkTableEntity == null) { throw new NotFoundException(); } return(new Network { Id = id, Name = networkTableEntity.Name, ParentNetwork = networkTableEntity.ParentNetworkId != null ? new Network() { Id = networkTableEntity.ParentNetworkId } : null, ParentNetworkId = networkTableEntity.ParentNetworkId, Service = new Service() { Id = networkTableEntity.ServiceId }, ServiceId = networkTableEntity.ServiceId, Company = new Company() { Id = networkTableEntity.CompanyId }, TelemetryDataSinkSettings = networkTableEntity.TelemetryDataSinkSettings, NetworkKey = networkTableEntity.NetworkKey }); }
public void Update(Device device) { var deviceKey = PartionKeyRowKeyPair.CreateFromIdentity(device.Id); var deviceRepository = new DeviceRepository(_tableEntityOperation); var networkRepository = new NetworkRepository(_tableEntityOperation); var deviceTableEntity = deviceRepository.Get(deviceKey); if (deviceTableEntity == null) { throw new NotFoundException(); } deviceTableEntity.Name = device.Name; deviceTableEntity.DeviceKey = device.DeviceKey; deviceTableEntity.NumericId = device.NumericId; deviceRepository.Update(deviceTableEntity); TransientErrorHandling.Run(() => { var parentNetworkKey = PartionKeyRowKeyPair.CreateFromIdentity(deviceTableEntity.NetworkId); var parentNetwork = networkRepository.Get(parentNetworkKey); for (var idx = 0; idx < parentNetwork.Devices.Count; idx++) { if (parentNetwork.Devices[idx].Id == device.Id) { parentNetwork.Devices[idx].Name = device.Name; break; } } networkRepository.Update(parentNetwork); }); }
private void Seed() { Networks.Create(new Network() { Tag = "3G", ISO_Code = "ISO-1234" }); Networks.Create(new Network() { Tag = "4G", ISO_Code = "ISO-2345" }); Networks.Create(new Network() { Tag = "5G", ISO_Code = "ISO-3456" }); Telefontarife.Create(new Telefontarif() { Name = "Phone_Basic", AllowedNetworks = new List <Network>() { Networks.Get("3G"), Networks.Get("4G") } }); Telefontarife.Create(new Telefontarif() { Name = "Phone_Deluxe", AllowedNetworks = new List <Network>() { Networks.Get("3G"), Networks.Get("4G"), Networks.Get("5G") } }); Datentarife.Create(new Datentarif() { Name = "Data_Basic", MaxAllowedBandwith = 512000, AllowedNetworks = new List <Network>() { Networks.Get("3G"), Networks.Get("4G"), } }); Datentarife.Create(new Datentarif() { Name = "Data_Deluxe", MaxAllowedBandwith = 1024000, AllowedNetworks = new List <Network>() { Networks.Get("3G"), Networks.Get("4G"), Networks.Get("5G") } }); var kunde = new Kunde() { Vorname = "Hans", Name = "Hermann" }; kunde.Rechnungsadresse = new Rechnungsadresse(kunde) { Straße = "Hanshermannstraße", Hausnummer = "22", ZipCode = 12345 }; kunde.Mobilfunkvertraege = new List <Mobilfunkvertrag>(); kunde.Mobilfunkvertraege.Add(new Mobilfunkvertrag(kunde) { MonatlicherPreis = 25d, Rufnummer = "12345678", Telefontarif = Telefontarife.Get("Phone_Basic"), Datentarif = Datentarife.Get("Data_Basic"), }); kunde.Mobilfunkvertraege.Add(new Mobilfunkvertrag(kunde) { MonatlicherPreis = 45d, Rufnummer = "12345679", Telefontarif = Telefontarife.Get("Phone_Basic"), Datentarif = Datentarife.Get("Data_Deluxe"), }); Kunden.Create(kunde); kunde = new Kunde() { Vorname = "Manuela", Name = "Mustermann", }; kunde.Rechnungsadresse = new Rechnungsadresse(kunde) { Straße = "Musterstraße", Hausnummer = "25", ZipCode = 34567 }; kunde.Lieferadresse = new Lieferadresse(kunde) { Straße = "Lieferstraße", Hausnummer = "33", ZipCode = 12999 }; kunde.Mobilfunkvertraege = new List <Mobilfunkvertrag>(); kunde.Mobilfunkvertraege.Add(new Mobilfunkvertrag(kunde) { MonatlicherPreis = 25d, Rufnummer = "5554443", Telefontarif = Telefontarife.Get("Phone_Deluxe"), Datentarif = Datentarife.Get("Data_Deluxe"), }); Kunden.Create(kunde); }