public void AssignRoom(Department department, Room room) { if (department == null) throw new ArgumentNullException("department"); if (room == null) throw new ArgumentNullException("room"); var existingDepartment = Context.Departments.FirstOrDefault(x => x.Id == department.Id); if (existingDepartment == null) { throw new InvalidOperationException(string.Format("Department with id {0} does not exist", department.Id)); } if (room.Id == Guid.Empty) { room.Id = Guid.NewGuid(); } if (existingDepartment.Rooms.Any(x => x.Name == room.Name)) { throw new InvalidOperationException(string.Format("Room {0} is already assigned to department {1}", room.Name, existingDepartment.Name)); } room.Locations = Context.Locations.ToList(); existingDepartment.Rooms.Add(room); Context.SaveChanges(); }
public void AssignRoomToDepartment(Department department, Room room) { if (department == null) throw new ArgumentNullException("department"); if (room == null) throw new ArgumentNullException("room"); var departmentService = new DepartmentService(Context); departmentService.AssignRoom(department, room); }
public void Delete(Department department) { if (department == null) throw new ArgumentNullException("department"); if (Context.Entry(department).State == EntityState.Detached) { department = Context.Departments.FirstOrDefault(x => x.Id == department.Id); } Context.Departments.Remove(department); Context.SaveChanges(); }
public void Create(string name) { if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException("name"); } var department = new Department { Id = Guid.NewGuid(), Name = name }; Context.Departments.Add(department); Context.SaveChanges(); }