public static Rack ToDomain(this RackDto dto) { var rack = new Rack { Id = dto.Id, Shelves = new List <Shelf>() }; if (dto.ShelfDtos == null) { return(rack); } foreach (var shelfDto in dto.ShelfDtos) { rack.Shelves.Add(shelfDto.ToDomain()); } return(rack); }
private static AssetDto AssetDto() { var datacenter = new DatacenterDto() { Id = Guid.NewGuid(), Name = "RTP1", Description = "Research Triangle Park lab 1", HasNetworkManagedPower = true }; var rack = new RackDto() { Id = Guid.NewGuid(), RowLetter = "A", RackNumber = 1, Datacenter = datacenter, DatacenterId = datacenter.Id }; rack.Pdus = new List <PduDto> { new PduDto() { Id = Guid.NewGuid(), Location = PduLocation.L, Rack = rack, RackId = rack.Id }, new PduDto() { Id = Guid.NewGuid(), Location = PduLocation.R, Rack = rack, RackId = rack.Id } }; var pduPortL24 = new PduPortDto() { Id = Guid.NewGuid(), Number = 24, Pdu = rack.Pdus.First() }; var pduPortR24 = new PduPortDto() { Id = Guid.NewGuid(), Number = 24, Pdu = rack.Pdus.Last() }; var model = new ModelDto() { Id = Guid.NewGuid(), Vendor = "foo vendor", ModelNumber = "foo number", Height = 4, DisplayColor = "#0f0f0f" }; var owner = new UserDto() { Id = Guid.NewGuid(), Username = "******" }; var modelNetworkPort1 = new ModelNetworkPortDto() { Id = Guid.NewGuid(), Name = "e1", Model = model, ModelId = model.Id }; var modelNetworkPort2 = new ModelNetworkPortDto() { Id = Guid.NewGuid(), Name = "e2", Model = model, ModelId = model.Id }; var assetNetworkPort1 = new AssetNetworkPortDto() { Id = Guid.NewGuid(), MacAddress = "00:11:22:33:44:55", ModelNetworkPort = modelNetworkPort1, ModelNetworkPortId = modelNetworkPort1.Id }; var assetNetworkPort2 = new AssetNetworkPortDto() { Id = Guid.NewGuid(), MacAddress = "aa:bb:cc:dd:ee:ff", ModelNetworkPort = modelNetworkPort2, ModelNetworkPortId = modelNetworkPort2.Id }; assetNetworkPort1.ConnectedPort = assetNetworkPort2; assetNetworkPort2.ConnectedPort = assetNetworkPort1; assetNetworkPort1.ConnectedPortId = assetNetworkPort2.Id; assetNetworkPort2.ConnectedPortId = assetNetworkPort1.Id; var networkPorts = new List <AssetNetworkPortDto>() { assetNetworkPort1, assetNetworkPort2 }; var powerPorts = new List <AssetPowerPortDto>() { new AssetPowerPortDto() { Id = Guid.NewGuid(), Number = 1, PduPort = pduPortL24, PduPortId = pduPortL24.Id }, new AssetPowerPortDto() { Id = Guid.NewGuid(), Number = 2, PduPort = pduPortR24, PduPortId = pduPortR24.Id } }; var asset = new AssetDto() { Id = Guid.NewGuid(), Hostname = "server1", RackPosition = 39, Comment = "important commentary", RackId = rack.Id, Rack = rack, ModelId = model.Id, Model = model, OwnerId = owner.Id, Owner = owner, NetworkPorts = networkPorts, PowerPorts = powerPorts, AssetNumber = 100000 }; asset.NetworkPorts.ForEach(o => { o.Asset = asset; o.AssetId = asset.Id; }); return(asset); }