示例#1
0
        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();
        }
示例#2
0
        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);
        }
示例#3
0
        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();
        }
示例#4
0
        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();
        }