public async Task <EquipmentType> GetByName(string name) { await using HospitalCalendarDbContext context = ContextFactory.CreateDbContext(); return(await context.EquipmentTypes .Where(e => e.Name == name) .Where(e => e.IsActive) .FirstOrDefaultAsync()); }
public async Task <List <EquipmentType> > GetAllByRoom(Room room) { await using HospitalCalendarDbContext context = ContextFactory.CreateDbContext(); return(context.Rooms .Include(r => r.Equipment) .ThenInclude(e => e.EquipmentType) .First(r => r.IsActive && room.ID == r.ID) .Equipment .Select(e => e.EquipmentType) .GroupBy(et => et.Name) .Select(g => g.First()) .ToList()); }
public new async Task <bool> Delete(Guid id) { await using HospitalCalendarDbContext context = ContextFactory.CreateDbContext(); var equipmentType = await Get(id); equipmentType.IsActive = false; await context.EquipmentItems .Include(ei => ei.EquipmentType) .Where(ei => ei.EquipmentType.Name == equipmentType.Name) .ForEachAsync(async ei => { ei.IsActive = false; await _equipmentItemService.Update(ei); }); await Update(equipmentType); return(true); }