public DiskDto CreateDisk(UserDto userDto, DiskOptionsDto optionsDto)
        {
            if (userDto == null) throw new ArgumentNullException("userDto");
            if (optionsDto == null) throw new ArgumentNullException("optionsDto");

            var disk = new DiskDto { UserId = userDto.Id };
            _db.Insert(disk);

            optionsDto.DiskId = disk.Id;
            _db.Insert(optionsDto);

            return disk;
        }
        public DiskDto CreateDisk(UserDto userDto, DiskOptionsDto optionsDto)
        {
            Authenticate(userDto);

            return Persistence.CreateDisk(userDto, optionsDto);
        }
        public void SetDiskOptions(UserDto userDto, DiskDto diskDto, DiskOptionsDto optionsDto)
        {
            Authenticate(userDto);
            Authenticate(userDto, diskDto);

            Persistence.SaveDiskOptions(diskDto.Id, optionsDto);
        }
        public void SaveDiskOptions(int diskId, DiskOptionsDto optionsDto)
        {
            if (optionsDto == null) throw new ArgumentNullException("optionsDto");

            _db.Delete<DiskOptionsDto>(LoadDiskOptions(diskId).Id);
            optionsDto.DiskId = diskId;
            _db.Insert(optionsDto);
        }