public bool DeleteDisk(UserDto userDto, DiskDto diskDto) { Authenticate(userDto); Authenticate(userDto, diskDto); var disks = Persistence.Disks(userDto); if (disks == null) return false; return Persistence.RemoveDisk(diskDto); }
public SynchronizationState FetchSynchronizationState(UserDto userDto, DiskDto diskDto) { Authenticate(userDto); Authenticate(userDto, diskDto); var serverDisk = Persistence.FindDisk(diskDto); var localChanges = diskDto.LastServerVersion < diskDto.LocalVersion; var serverChanges = diskDto.LastServerVersion < serverDisk.LocalVersion; if (localChanges) return serverChanges ? SynchronizationState.Conflicted : SynchronizationState.LocalChanges; return serverChanges ? SynchronizationState.RemoteChanges : SynchronizationState.UpToDate; }
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; }
private PersistenceImpl GetPersistenceWithData() { var p = _testHelper.GetPersistence(); var user = p.CreateUser(_userDto.Login, _userDto.HashedPassword); _userDto.Id = user.Id; _disk = p.CreateDisk(_userDto, _diskOptions); return p; }
public DiskOptionsDto GetDiskOptions(UserDto userDto, DiskDto diskDto) { Authenticate(userDto); Authenticate(userDto, diskDto); return Persistence.LoadDiskOptions(diskDto.Id); }
private void Authenticate(UserDto userDto, DiskDto diskDto) { var disk = Persistence.Disk(diskDto); diskDto.UserId = disk.UserId; if (diskDto.UserId != userDto.Id) ErrorOccured(string.Format("You don't have access to the disk {0}", diskDto.Id)); }
public void UpdateDisk(UserDto userDto, DiskDto diskDto) { Authenticate(userDto); Authenticate(userDto, diskDto); Persistence.UpdateDisk(diskDto); }
public void SetDiskOptions(UserDto userDto, DiskDto diskDto, DiskOptionsDto optionsDto) { Authenticate(userDto); Authenticate(userDto, diskDto); Persistence.SaveDiskOptions(diskDto.Id, optionsDto); }
public DiskDto Disk(DiskDto diskDto) { if (diskDto == null) throw new ArgumentNullException("diskDto"); return _db.Find<DiskDto>(diskDto.Id); }
public void UpdateDisk(DiskDto diskDto) { if (diskDto == null) throw new ArgumentNullException("diskDto"); _db.Update(diskDto); }
public bool RemoveDisk(DiskDto diskDto) { if (diskDto == null) throw new ArgumentNullException("diskDto"); if (FindDisk(diskDto) == null) return false; _db.Delete<DiskDto>(diskDto.Id); return true; }
public DiskDto FindDisk(DiskDto remoteDiskDto) { if (remoteDiskDto == null) throw new ArgumentNullException("remoteDiskDto"); return _db.Find<DiskDto>(remoteDiskDto.Id); }
public void TestSynchronizationStateRemoteChanges() { using (var persistence = GetPersistence()) { var user = persistence.CreateUser(_userDto.Login, _userDto.HashedPassword); var disk = persistence.CreateDisk(user, new DiskOptionsDto()); disk.LocalVersion = 10; disk.LastServerVersion = 10; persistence.UpdateDisk(disk); var s = new DiskServiceImpl(persistence); var clonedDisk = new DiskDto { LastServerVersion = 9, LocalVersion = 9, UserId = user.Id, Id = disk.Id }; Assert.AreEqual(SynchronizationState.RemoteChanges, s.FetchSynchronizationState(user, clonedDisk)); } }
public void TestDisks() { using (var persistence = GetPersistenceWithUser()) { var disk = new DiskDto { UserId = _userDto.Id, Id = 1 }; persistence.CreateDisk(_userDto, new DiskOptionsDto()); var s = new DiskServiceImpl(persistence); Assert.AreEqual(1, s.Disks(_userDto).Count); Assert.AreEqual(disk.Id, s.Disks(_userDto).First().Id); } }