77 lines
2.2 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|