Added manual sorting for the docker images by id so the index matches always and does not depend on the mood of ef core
I probably will add a global mapping for it in the data context
This commit is contained in:
@@ -11,6 +11,11 @@ public static class ServerExtensions
|
|||||||
{
|
{
|
||||||
public static ServerConfiguration ToServerConfiguration(this Server server)
|
public static ServerConfiguration ToServerConfiguration(this Server server)
|
||||||
{
|
{
|
||||||
|
// Enforce id based docker image index
|
||||||
|
server.Image.DockerImages = server.Image.DockerImages
|
||||||
|
.OrderBy(x => x.Id)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
var serverConfiguration = new ServerConfiguration();
|
var serverConfiguration = new ServerConfiguration();
|
||||||
|
|
||||||
// Set general information
|
// Set general information
|
||||||
@@ -33,9 +38,15 @@ public static class ServerExtensions
|
|||||||
ServerDockerImage dockerImage;
|
ServerDockerImage dockerImage;
|
||||||
|
|
||||||
if (server.DockerImageIndex >= server.Image.DockerImages.Count || server.DockerImageIndex == -1)
|
if (server.DockerImageIndex >= server.Image.DockerImages.Count || server.DockerImageIndex == -1)
|
||||||
dockerImage = server.Image.DockerImages.Last();
|
{
|
||||||
|
dockerImage = server.Image.DockerImages
|
||||||
|
.Last();
|
||||||
|
}
|
||||||
else
|
else
|
||||||
dockerImage = server.Image.DockerImages[server.DockerImageIndex];
|
{
|
||||||
|
dockerImage = server.Image.DockerImages
|
||||||
|
.ElementAt(server.DockerImageIndex);
|
||||||
|
}
|
||||||
|
|
||||||
serverConfiguration.Image.DockerImage = dockerImage.Name;
|
serverConfiguration.Image.DockerImage = dockerImage.Name;
|
||||||
serverConfiguration.Image.PullDockerImage = dockerImage.AutoPull;
|
serverConfiguration.Image.PullDockerImage = dockerImage.AutoPull;
|
||||||
|
|||||||
@@ -85,6 +85,11 @@
|
|||||||
.Include(x => x.Variables)
|
.Include(x => x.Variables)
|
||||||
.Include(x => x.DockerImages)
|
.Include(x => x.DockerImages)
|
||||||
.First(x => x.Id == Server.Image.Id);
|
.First(x => x.Id == Server.Image.Id);
|
||||||
|
|
||||||
|
// Enforce id based docker image index
|
||||||
|
Image.DockerImages = Image.DockerImages
|
||||||
|
.OrderBy(x => x.Id)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
if (Server.DockerImageIndex >= Image.DockerImages.Count || Server.DockerImageIndex == -1)
|
if (Server.DockerImageIndex >= Image.DockerImages.Count || Server.DockerImageIndex == -1)
|
||||||
SelectedDockerImage = Image.DockerImages.Last();
|
SelectedDockerImage = Image.DockerImages.Last();
|
||||||
|
|||||||
@@ -81,6 +81,11 @@
|
|||||||
if (Image == null)
|
if (Image == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Enforce id based docker image index
|
||||||
|
Image.DockerImages = Image.DockerImages
|
||||||
|
.OrderBy(x => x.Id)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
Form = Mapper.Map<UpdateImageDetailedForm>(Image);
|
Form = Mapper.Map<UpdateImageDetailedForm>(Image);
|
||||||
ParseConfigJson = Image.ParseConfiguration;
|
ParseConfigJson = Image.ParseConfiguration;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user