public static string GetComputerProxyPath(Models.Computer computer, bool isActiveOrCustom, string proxyType)
{
var pxeComputerMac = Utility.MacToPxeMac(computer.Mac);
string path = null;
var biosFile = Settings.ProxyBiosFile;
var efi32File = Settings.ProxyEfi32File;
var efi64File = Settings.ProxyEfi64File;
var fileName = isActiveOrCustom ? pxeComputerMac : "default";
switch (proxyType)
{
case "bios":
if (biosFile.Contains("ipxe"))
{
path = Settings.TftpPath + "proxy" + Path.DirectorySeparatorChar +
proxyType + Path.DirectorySeparatorChar + "pxelinux.cfg" +
Path.DirectorySeparatorChar + fileName + ".ipxe";
}
else
path = Settings.TftpPath + "proxy" + Path.DirectorySeparatorChar +
proxyType + Path.DirectorySeparatorChar + "pxelinux.cfg" +
Path.DirectorySeparatorChar + fileName;
break;
case "efi32":
if (efi32File.Contains("ipxe"))
path = Settings.TftpPath + "proxy" + Path.DirectorySeparatorChar +
proxyType + Path.DirectorySeparatorChar + "pxelinux.cfg" +
Path.DirectorySeparatorChar + fileName + ".ipxe";
else
path = Settings.TftpPath + "proxy" + Path.DirectorySeparatorChar +
proxyType + Path.DirectorySeparatorChar + "pxelinux.cfg" +
Path.DirectorySeparatorChar + fileName;
break;
case "efi64":
if (efi64File.Contains("ipxe"))
path = Settings.TftpPath + "proxy" + Path.DirectorySeparatorChar +
proxyType + Path.DirectorySeparatorChar + "pxelinux.cfg" +
Path.DirectorySeparatorChar + fileName + ".ipxe";
else if (efi64File.Contains("grub"))
{
if (isActiveOrCustom)
{
path = Settings.TftpPath + "proxy" + Path.DirectorySeparatorChar +
proxyType + Path.DirectorySeparatorChar + "pxelinux.cfg" +
Path.DirectorySeparatorChar + pxeComputerMac + ".cfg";
}
else
{
path = Settings.TftpPath + "grub" +
Path.DirectorySeparatorChar + "grub.cfg";
}
}
else
path = Settings.TftpPath + "proxy" + Path.DirectorySeparatorChar +
proxyType + Path.DirectorySeparatorChar + "pxelinux.cfg" +
Path.DirectorySeparatorChar + fileName;
break;
}
return path;
}