예제 #1
0
        public HttpResponse AddToCollection(string cardId)
        {
            if (data.UsersCards.Any(uc => uc.UserId == User.Id && uc.CardId == cardId))
            {
                return(Redirect("/Cards/All "));
            }

            var card = new UserCard()
            {
                UserId = User.Id,
                CardId = cardId
            };

            data.UsersCards.Add(card);

            data.SaveChanges();

            return(Redirect("/Cards/All"));
        }
예제 #2
0
        public HttpResponse Register(UserRegisterModel model)
        {
            if (User.IsAuthenticated)
            {
                return(Redirect("/Cards/All"));
            }
            var modelErrors = this.validator.ValidateUser(model);

            if (this.data.Users.Any(u => u.Username == model.Username))
            {
                modelErrors.Add($"User with '{model.Username}' username already exists.");
            }

            if (this.data.Users.Any(u => u.Email == model.Email))
            {
                modelErrors.Add($"User with '{model.Email}' e-mail already exists.");
            }

            if (modelErrors.Any())
            {
                return(Error(modelErrors));
            }

            var user = new User
            {
                Username = model.Username,
                Password = this.passwordHasher.HashPassword(model.Password),
                Email    = model.Email,
            };

            data.Users.Add(user);

            data.SaveChanges();

            return(Redirect("/Users/Login"));
        }