コード例 #1
0
        public SimpleIntegrationTest()
        {
            _databaseName = Guid.NewGuid().ToString();

            var serviceProvider = new ServiceCollection()
                                  .AddEntityFrameworkSqlServer()
                                  .BuildServiceProvider();

            var builder = new DbContextOptionsBuilder <InterestsDbContext>();

            builder.UseSqlServer($"Server=127.0.0.1,1433;Database=SeekQ.Interests.{_databaseName};User Id=sa;Password=Password123")
            .UseInternalServiceProvider(serviceProvider);

            _interestsDbContext = new InterestsDbContext(builder.Options);
            _interestsDbContext.Database.Migrate();

            // _repository = new DemoRepository(_dbContext);
        }
 public Handler(InterestsDbContext interestsDbContext)
 {
     _interestsDbContext = interestsDbContext;
 }
コード例 #3
0
        // GET: Profile
        public ActionResult Index(ProfileViewModel model, string profileId)
        {
            var userId = User.Identity.GetUserId();

            if (userId != null)
            {
                var userContext     = new UserDbContext();
                var friendContext   = new FriendsDbContext();
                var postContext     = new PostDbContext();
                var interestContext = new InterestsDbContext();

                //Checks if the current user is the owner of the profile
                if (userId != profileId && profileId != null)
                {
                    userId = profileId;
                }
                ;
                var user = userContext.Users.FirstOrDefault(u => u.UserId == userId);
                List <InterestsModel> interestsList = interestContext.Friends.Where(u => u.UserId == userId).ToList();
                List <FriendsModel>   friendList    = friendContext.Friends.Where
                                                          (u => u.UserId == userId).ToList();
                List <PostModel> PostList = postContext.Friends.Where(u => u.RecipientId == userId).ToList();

                var UserPostList = new List <UserPostViewModel>();
                //Puts all posts to the user in a viewmodel with post- and user info
                foreach (var item in PostList)
                {
                    UserModel userInfo  = userContext.Users.FirstOrDefault(u => u.UserId == item.PosterId);
                    var       modelView = new UserPostViewModel
                    {
                        PostId        = item.PostId,
                        PosterId      = item.PosterId,
                        RecipientId   = item.RecipientId,
                        Content       = item.Content,
                        Date          = item.Date,
                        ProfilePicUrl = userInfo.ProfilePicUrl,
                        FirstName     = userInfo.FirstName,
                        LastName      = userInfo.LastName,
                    };
                    UserPostList.Add(modelView);
                }

                var UserDict = new Dictionary <UserModel, string>();
                //Puts all friends in a dictionary and pairs them with their appointed category
                foreach (var item in friendList)
                {
                    UserDict.Add(userContext.Users.FirstOrDefault(u => u.UserId == item.FriendId), item.Category);
                }
                model.UserId            = user.UserId;
                model.FirstName         = user.FirstName;
                model.LastName          = user.LastName;
                model.Gender            = user.Gender;
                model.SexualOrientation = user.SexualOrientation;
                model.ZodiacSign        = user.ZodiacSign;
                model.ProfilePicUrl     = user.ProfilePicUrl;
                model.BirthDate         = user.BirthDate;
                model.Country           = user.Country;
                model.Friends           = UserDict;
                model.Compatibility     = CheckCompatibility(user.UserId);
                model.Posts             = UserPostList;
                model.Interests         = interestsList;

                return(View(model));
            }

            return(View("~/Views/Home/index.cshtml"));
        }