コード例 #1
0
        public void Should_map_Visitor()
        {
            new DatabaseTester().Clean();
            var visitor = new Visitor
            {
                Browser = "1",
                IpAddress = "2",
                LoginName = "3",
                PathAndQuerystring = "4",
                VisitDate =
                    new DateTime(2000, 1, 1),
                FirstName = "Jones"
            };

            var repository = new VisitorRepository();
            repository.Save(visitor);

            Visitor loadedVisitor;
            using (ISession session = DataContext.GetSession())
            {
                loadedVisitor = session.Load<Visitor>(visitor.Id);
            }

            loadedVisitor.ShouldNotBeNull();
            loadedVisitor.Browser.ShouldEqual("1");
            loadedVisitor.IpAddress.ShouldEqual("2");
            loadedVisitor.LoginName.ShouldEqual("3");
            loadedVisitor.PathAndQuerystring.ShouldEqual("4");
            loadedVisitor.VisitDate.ShouldEqual(new DateTime(2000, 1, 1));
            loadedVisitor.FirstName.ShouldEqual("Jones");
        }
コード例 #2
0
        public void Should_map_Visitor()
        {
            new DatabaseTester().Clean();
            var visitor = new Visitor
            {
                Browser            = "1",
                IpAddress          = "2",
                LoginName          = "3",
                PathAndQuerystring = "4",
                VisitDate          =
                    new DateTime(2000, 1, 1),
                FirstName = "Jones"
            };

            var repository = new VisitorRepository();

            repository.Save(visitor);

            Visitor loadedVisitor;

            using (ISession session = DataContext.GetSession())
            {
                loadedVisitor = session.Load <Visitor>(visitor.Id);
            }

            loadedVisitor.ShouldNotBeNull();
            loadedVisitor.Browser.ShouldEqual("1");
            loadedVisitor.IpAddress.ShouldEqual("2");
            loadedVisitor.LoginName.ShouldEqual("3");
            loadedVisitor.PathAndQuerystring.ShouldEqual("4");
            loadedVisitor.VisitDate.ShouldEqual(new DateTime(2000, 1, 1));
            loadedVisitor.FirstName.ShouldEqual("Jones");
        }
コード例 #3
0
        // GET: Profile
        public ActionResult Index()
        {
            object profileId     = Request.RequestContext.RouteData.Values["id"];
            string currentUserId = User.Identity.GetUserId();

            if (string.IsNullOrWhiteSpace((string)profileId))
            {
                profileId = currentUserId;
            }

            // Add user to visitor list for the visited profile, but remove them first if they're already in the 5 latest
            if (!string.Equals(currentUserId, (string)profileId))
            {
                List <VisitorModels> allVisitors = visitorRepository.GetAllVisitorsByUserId((string)profileId);                // Everyone who has looked at this profile
                if (allVisitors.Any((v) => v.VisitFromId.Equals(currentUserId)))                                               // If current user has already visited this profile
                {
                    visitorRepository.Remove(visitorRepository.GetVisitIdByVisitFromUserId((string)profileId, currentUserId)); // Remove the visit by the current user
                }
                VisitorModels visitor = new VisitorModels {
                    VisitDateTime = DateTime.Now,
                    VisitFromId   = currentUserId,
                    VisitToId     = (string)profileId
                };
                visitorRepository.Add(visitor);
                visitorRepository.Save();
            }

            ProfileModels            userProfile              = profileRepository.Get((string)profileId);
            List <PostModels>        posts                    = postRepository.GetAllPostsForUserById((string)profileId);
            List <FriendModels>      friends                  = friendRepository.GetAllFriendsByUserId((string)profileId);
            PostViewModelsForUsers   postViewModelForUsers    = ConvertPostToPostViewModelForUsers(posts, (string)profileId);
            FriendViewModelsForUsers friendViewModelsForUsers = ConvertFriendToFriendViewModelsForUsers(friends, (string)profileId);

            ProfileViewModel userProfileViewModel = new ProfileViewModel {
                Id           = userProfile.Id,
                FirstName    = userProfile.FirstName,
                LastName     = userProfile.LastName,
                Gender       = userProfile.Gender,
                Biography    = userProfile.Biography,
                BirthDate    = userProfile.BirthDate.ToShortDateString(),
                IsActive     = userProfile.IsActive,
                Posts        = postViewModelForUsers,
                Friends      = friendViewModelsForUsers,
                ProfileImage = userProfile.ProfileImage
            };

            ViewBag.ProfileRelation = GetProfileRelation((string)profileId);

            return(View(userProfileViewModel));
        }
コード例 #4
0
        public void When_saving_should_write_to_database()
        {
            new DatabaseTester().Clean();
            Visitor visitor = CreateVisitor(Convert.ToDateTime("1/2/2345"));

            var repository = new VisitorRepository();
            repository.Save(visitor);

            Visitor loadedVisitor;
            using (ISession session = DataContext.GetSession())
            {
                loadedVisitor = session.Load<Visitor>(
                    visitor.Id);
            }

            loadedVisitor.ShouldNotBeNull();
            loadedVisitor.VisitDate.ToShortDateString().ShouldEqual("1/2/2345");
        }
コード例 #5
0
        public void When_saving_should_write_to_database()
        {
            new DatabaseTester().Clean();
            Visitor visitor = CreateVisitor(Convert.ToDateTime("1/2/2345"));

            var repository = new VisitorRepository();

            repository.Save(visitor);

            Visitor loadedVisitor;

            using (ISession session = DataContext.GetSession())
            {
                loadedVisitor = session.Load <Visitor>(
                    visitor.Id);
            }

            loadedVisitor.ShouldNotBeNull();
            loadedVisitor.VisitDate.ToShortDateString().ShouldEqual("1/2/2345");
        }
コード例 #6
0
        public void When_saving_should_write_to_database()
        {
            var visitor = new Visitor
            {
                Browser            = "1",
                IpAddress          = "2",
                LoginName          = "3",
                PathAndQuerystring = "4",
                VisitDate          =
                    new DateTime(2000, 1, 1)
            };

            var repository = new VisitorRepository();

            repository.Save(visitor);

            Visitor loadedVisitor;

            using (ISession session = DataConfig.GetSession())
            {
                loadedVisitor = session.Load <Visitor>(
                    visitor.Id);
            }

            Assert.That(loadedVisitor, Is.Not.Null);
            Assert.That(loadedVisitor.Browser,
                        Is.EqualTo("1"));
            Assert.That(loadedVisitor.IpAddress,
                        Is.EqualTo("2"));
            Assert.That(loadedVisitor.LoginName,
                        Is.EqualTo("3"));
            Assert.That(loadedVisitor.PathAndQuerystring,
                        Is.EqualTo("4"));
            Assert.That(loadedVisitor.VisitDate,
                        Is.EqualTo(new DateTime(2000, 1, 1)));
        }
コード例 #7
0
        //Other profiles
        public ActionResult UserProfile(string id)
        {
            if (id == User.Identity.GetUserId())
            {
                return(RedirectToAction("Index"));
            }

            var user     = userRepository.Get(id);
            var posts    = postRepository.GetAllPostForUserIncludeSenderOrderByDateDesc(id);
            var identity = userRepository.Get(User.Identity.GetUserId());

            var model = new UserProfileViewModel
            {
                UserId             = user.Id,
                Firstname          = user.Firstname,
                Lastname           = user.Lastname,
                Description        = user.Description,
                Image              = user.ProfileImage,
                IsAlreadyFriend    = friendRepository.IsAlreadyFriend(id, User.Identity.GetUserId()),
                MatchingPercentage = Math.Round(MatchAlgorithm.MatchAlgorithm.GetMatchPercentage(identity, user), 1)
            };

            if (model.IsAlreadyFriend)
            {
                var friend = friendRepository.GetAll().First(x => x.TheFriendId == user.Id && x.TheUserId == User.Identity.GetUserId());
                model.RelationStatusId         = friend.Id;
                model.RelationStatusToIdentity = RelationStatusToIdentity.IsFriend;
            }
            else
            {
                model.HasSendRequest = requestRepository.HasAlreadySentRequest(id, User.Identity.GetUserId());
                if (model.HasSendRequest)
                {
                    var request = requestRepository.GetAll().First(x => x.RequestedBy_Id == User.Identity.GetUserId() && x.RequestedTo_Id == model.UserId);
                    model.RelationStatusId         = request.Id;
                    model.RelationStatusToIdentity = RelationStatusToIdentity.HasSendRequest;
                }
                else
                {
                    model.HasRecievedRequest = requestRepository.HasRecievedRequest(id, User.Identity.GetUserId());
                    if (model.HasRecievedRequest)
                    {
                        var request = requestRepository.GetAll().First(x => x.RequestedTo_Id == User.Identity.GetUserId() && x.RequestedBy_Id == model.UserId);
                        model.RelationStatusId         = request.Id;
                        model.RelationStatusToIdentity = RelationStatusToIdentity.HasRecievedRequest;
                    }
                    else
                    {
                        model.RelationStatusToIdentity = RelationStatusToIdentity.IsNotFriend;
                    }
                }
            }

            model.Posts = ConvertPostToPostViewModelIdentity(posts, id);
            model.Posts.IsFriendOrNot = model.IsAlreadyFriend;

            var visitor = new Visitor()
            {
                VisitBy   = userRepository.Get(User.Identity.GetUserId()),
                VisitTo   = user,
                VisitDate = DateTime.Now
            };

            visitorRepository.Add(visitor);
            visitorRepository.Save();

            return(View(model));
        }