Files
Microsoft.SelfService.Porta…/Repository/VirtualMachineRepository.cs

77 lines
2.2 KiB
C#

using Microsoft.EntityFrameworkCore;
using Microsoft.SelfService.Portal.Core.API.Context;
using Microsoft.SelfService.Portal.Core.API.Interfaces;
using Microsoft.SelfService.Portal.Core.API.Models;
namespace Microsoft.SelfService.Portal.Core.API.Repository
{
public class VirtualMachineRepository : IVirtualMachineInterface
{
private readonly DataContext _context;
public VirtualMachineRepository(DataContext context)
{
_context = context;
}
public ICollection<VirtualMachineModel> GetVirtualMachines()
{
return _context.VirtualMachines
.Include(virtualMachine => virtualMachine.Domain)
.ToList();
}
public VirtualMachineModel GetVirtualMachineById(Guid Id)
{
return _context.VirtualMachines
.Where(v => v.Id == Id)
.Include(d => d.Domain)
.ThenInclude(e => e.EnvironmentDomains)
.FirstOrDefault();
}
public bool AddVirtualMachineById(VirtualMachineModel virtualMachine)
{
_context.Add(virtualMachine);
return SaveChanges();
}
public bool EditVirtualMachineById(VirtualMachineModel virtualMachine)
{
_context.Update(virtualMachine);
return SaveChanges();
}
public bool DeleteVirtualMachineById(VirtualMachineModel virtualMachine)
{
_context.Remove(virtualMachine);
return SaveChanges();
}
public VirtualMachineModel GetVirtualMachineByName(string Name)
{
return _context.VirtualMachines
.Where(v => v.Name == Name)
.FirstOrDefault();
}
public bool CheckVirtualMachineById(Guid Id)
{
return _context.VirtualMachines
.Any(v => v.Id == Id);
}
public bool CheckVirtualMachineByName(string Name)
{
return _context.VirtualMachines
.Any(v => v.Name == Name);
}
public bool SaveChanges()
{
var saved = _context.SaveChanges();
return saved > 0 ? true : false;
}
}
}