/// <summary> /// Загружает список друзей из вконтакте, либо из базы если были ошибки /// </summary> public void LoadFromVkOrDB() { var getAllFriends = new GetAllFriends(_apiSettings); var friends = getAllFriends.Get(_sessionInfoRepo.UserId, _sessionInfoRepo.AccessToken); if (getAllFriends.Exception != null) { LoadFromDB(); } else { var setFriends = new SetFriends(_sessionInfoRepo.UserId); setFriends.Set(friends); _friendsRepo.Set(friends, DataSourceType.VK); } }
public void SetOnlineTest() { NhibernateService.Instance.DeleteAll<Friend>(); var setFriends = new SetFriends(UserId1); var list = new List<IFriend> { new Friend { FirstName = FirstName1, ParentVkId = UserId1, VkId = 1}, new Friend { FirstName = FirstName2, ParentVkId = UserId1, VkId = 2}, }; setFriends.Set(list); var allFriends = NhibernateService.Instance.GetAll<Friend>(); Assert.IsTrue(allFriends.All(x => !x.Online)); var onlineList = new List<int> {1}; setFriends.SetOnline(onlineList); allFriends = NhibernateService.Instance.GetAll<Friend>(); var friend1 = allFriends.First(x => x.VkId == list[0].VkId); var friend2 = allFriends.First(x => x.VkId == list[1].VkId); Assert.AreEqual(friend1.Online, true); Assert.AreEqual(friend2.Online, false); onlineList = new List<int> { 2 }; setFriends.SetOnline(onlineList); allFriends = NhibernateService.Instance.GetAll<Friend>(); friend1 = allFriends.First(x => x.VkId == list[0].VkId); friend2 = allFriends.First(x => x.VkId == list[1].VkId); Assert.AreEqual(friend1.Online, false); Assert.AreEqual(friend2.Online, true); NhibernateService.Instance.DeleteAll<Friend>(); }
public void SetTest() { NhibernateService.Instance.DeleteAll<Friend>(); var count = NhibernateService.Instance.Count<Friend>(); Assert.AreEqual(0, count); var list1 = new List<IFriend> { new Friend { FirstName = FirstName1, ParentVkId = UserId1, VkId = 1}, new Friend { FirstName = FirstName2, ParentVkId = UserId1, VkId = 2}, }; var setFriends1 = new SetFriends(UserId1); setFriends1.Set(list1); var allFriends = NhibernateService.Instance.GetAll<Friend>(); Assert.AreEqual(list1.Count, allFriends.Count()); Assert.IsTrue(allFriends.Any(x => x.FirstName == list1[0].FirstName && x.ParentVkId == list1[0].ParentVkId && x.VkId == list1[0].VkId)); Assert.IsTrue(allFriends.Any(x => x.FirstName == list1[1].FirstName && x.ParentVkId == list1[1].ParentVkId && x.VkId == list1[1].VkId)); list1.Remove(list1[1]); setFriends1.Set(list1); allFriends = NhibernateService.Instance.GetAll<Friend>(); Assert.AreEqual(list1.Count, allFriends.Count()); Assert.IsTrue(allFriends.Any(x => x.FirstName == list1[0].FirstName && x.ParentVkId == list1[0].ParentVkId && x.VkId == list1[0].VkId)); list1.Add(new Friend { FirstName = FirstName3, ParentVkId = UserId1, VkId = 3}); list1[0].FirstName = FirstName4; setFriends1.Set(list1); allFriends = NhibernateService.Instance.GetAll<Friend>(); Assert.AreEqual(list1.Count, allFriends.Count()); Assert.IsTrue(allFriends.Any(x => x.FirstName == list1[0].FirstName && x.ParentVkId == list1[0].ParentVkId && x.VkId == list1[0].VkId)); Assert.IsTrue(allFriends.Any(x => x.FirstName == list1[1].FirstName && x.ParentVkId == list1[1].ParentVkId && x.VkId == list1[1].VkId)); var list2 = new List<IFriend> { new Friend { FirstName = FirstName1, ParentVkId = UserId2, VkId = 1}, new Friend { FirstName = FirstName2, ParentVkId = UserId2, VkId = 2}, }; var setFriends2 = new SetFriends(UserId2); setFriends2.Set(list2); allFriends = NhibernateService.Instance.GetAll<Friend>(); Assert.AreEqual(list1.Count + list2.Count, allFriends.Count()); Assert.IsTrue(allFriends.Any(x => x.FirstName == list1[0].FirstName && x.ParentVkId == list1[0].ParentVkId && x.VkId == list1[0].VkId)); Assert.IsTrue(allFriends.Any(x => x.FirstName == list1[1].FirstName && x.ParentVkId == list1[1].ParentVkId && x.VkId == list1[1].VkId)); Assert.IsTrue(allFriends.Any(x => x.FirstName == list2[0].FirstName && x.ParentVkId == list2[0].ParentVkId && x.VkId == list2[0].VkId)); Assert.IsTrue(allFriends.Any(x => x.FirstName == list2[1].FirstName && x.ParentVkId == list2[1].ParentVkId && x.VkId == list2[1].VkId)); list2.Remove(list2[1]); setFriends2.Set(list2); allFriends = NhibernateService.Instance.GetAll<Friend>(); Assert.AreEqual(list1.Count + list2.Count, allFriends.Count()); Assert.IsTrue(allFriends.Any(x => x.FirstName == list1[0].FirstName && x.ParentVkId == list1[0].ParentVkId && x.VkId == list1[0].VkId)); Assert.IsTrue(allFriends.Any(x => x.FirstName == list1[1].FirstName && x.ParentVkId == list1[1].ParentVkId && x.VkId == list1[1].VkId)); Assert.IsTrue(allFriends.Any(x => x.FirstName == list2[0].FirstName && x.ParentVkId == list2[0].ParentVkId && x.VkId == list2[0].VkId)); NhibernateService.Instance.DeleteAll<Friend>(); }