Exemplo n.º 1
0
        public User Update(User UserToUpdate)
        {
            var userFollower = new List <Follower>(UserToUpdate.Following ?? new List <Follower>());

            if (UserToUpdate != null)
            {
                _context.Attach(UserToUpdate).State = EntityState.Modified;
            }
            var userMatch = new List <UserMatch>(UserToUpdate.Tips ?? new List <UserMatch>());

            foreach (var um in userMatch)
            {
                _context.Entry(um).State = EntityState.Added;
            }

            var followers = _context.Following.Where(f => f.AuthorizedUser.Id == UserToUpdate.Id);

            foreach (var item in followers)
            {
                _context.Remove(item);
            }
            //Der er to kald til databasen, fordi det første kald fixer en entity framework bug med unique constraint.
            _context.SaveChanges();

            foreach (var uf in userFollower)
            {
                _context.Entry(uf).State = EntityState.Added;
            }
            _context.SaveChanges();
            UserToUpdate.PasswordHash = UserToUpdate.PasswordSalt = null;
            return(UserToUpdate);
        }
        public Tournament UpdateTour(Tournament Tour)
        {
            _context.Attach(Tour).State = EntityState.Modified;

            var userTours = new List <UserTour>(Tour.Participants ?? new List <UserTour>());

            _context.Participants.RemoveRange(
                _context.Participants.Where(p => p.TournamentId == Tour.Id)
                );
            foreach (var ut in userTours)
            {
                _context.Entry(ut).State = EntityState.Added;
            }

            foreach (Round round in Tour.Rounds)
            {
                _context.RoundPoints.RemoveRange(
                    _context.RoundPoints.Where(rp => rp.RoundId == round.Id));
                foreach (UserTour participant in userTours)
                {
                    UserRound ur = new UserRound
                    {
                        UserId     = participant.UserId,
                        RoundId    = round.Id,
                        UserPoints = 0
                    };
                    _context.Entry(ur).State = EntityState.Added;
                }
            }

            _context.SaveChanges();
            return(Tour);
        }
Exemplo n.º 3
0
        public Round Create(Round round)
        {
            round = _ctx.Rounds.Add(round).Entity;
            var listOfParticipants = _ctx.Participants.Where(ut => ut.TournamentId == round.TournamentId)
                                     .ToList();

            foreach (UserTour participant in listOfParticipants)
            {
                UserRound ur = new UserRound
                {
                    UserId     = participant.UserId,
                    RoundId    = round.Id,
                    UserPoints = 0
                };
                _ctx.Entry(ur).State = EntityState.Added;
            }
            _ctx.SaveChanges();
            return(round);
        }