/// <summary> /// Put a new door into the database /// </summary> /// <param name="doorItem"></param> /// <returns></returns> public async Task CreateNewDoor(DoorItemDto doorItem) { var dbDoor = await _doorRepository.CreateNewDoor(new Repositories.Dto.Door.DoorDto { DoorImage = doorItem.DoorImage, DoorName = doorItem.DoorName }); await _doorRepository.CreateDoorOptions(dbDoor.Id, doorItem.DoorSizes.Select(doorSize => new DoorOptionDto { Height = doorSize.Height, Price = doorSize.Price, Width = doorSize.Width }).ToList()); var colors = doorItem.ColorsHEX.Select((hex, index) => new ColorDto { ColorHEX = hex, ColorRAL = doorItem.ColorsRAL[index], DoorId = dbDoor.Id }).ToList(); await _colorRepository.AddColorsAsync(colors); }