예제 #1
0
        public void Execute(UserDto request)
        {
            validator.ValidateAndThrow(request);
            var user = mapper.Map <User>(request);

            user.Password = EasyEncryption.SHA.ComputeSHA256Hash(request.Password);
            context.Add(user);

            context.SaveChanges();

            int id = user.Id;

            foreach (var uc in useCasesForUser)
            {
                context.UserUseCases.Add(new UserUseCases
                {
                    UserId    = id,
                    UseCaseId = uc
                });
            }

            context.SaveChanges();

            email.Send(new SendEmailDto
            {
                Content = "<h2> Successful registration to Blog </h2>",
                SendTo  = request.Email,
                Subject = "Successful registration"
            });
        }
예제 #2
0
        public void Execute(UserDto request)
        {
            validator.ValidateAndThrow(request);
            var user = mapper.Map <User>(request);

            context.Users.Add(user);
            context.SaveChanges();
            sender.Send(new SendEmailDto
            {
                Content = "<h1>You are successfully registrated to online courses!</h1>",
                SendTo  = request.Email,
                Subject = "Registration"
            });

            var userId = user.Id;
            var allow  = new List <int> {
                3, 4, 26, 27
            };

            foreach (var a in allow)
            {
                context.UserUserCase.Add(new UserUserCase {
                    UserId    = userId,
                    UseCaseId = a
                });
            }

            context.SaveChanges();
        }
예제 #3
0
        public void Execute(UserDto request)
        {
            _validator.ValidateAndThrow(request);
            var user = _mapper.Map <User>(request);

            _context.Users.Add(user);

            _context.SaveChanges();
        }
예제 #4
0
        public void Execute(UserDto request)
        {
            _validator.ValidateAndThrow(request);
            var user = new User
            {
                FirstName = request.FirstName,
                LastName  = request.LastName,
                Email     = request.Email,
                Password  = request.Password,
                Username  = request.Username,
            };

            _context.Users.Add(user);
            _context.SaveChanges();
        }
예제 #5
0
        public void Execute(UserDto request)
        {
            _validator.ValidateAndThrow(request);

            var user = _mapper.Map <User>(request);

            _context.Users.Add(user);
            _context.SaveChanges();


            //need credentials for SmtpEmailSender class
            //_sender.Send(new SendEmailDto
            //{
            //    Content = "<h1>Welcome to ProjectForum<h1>",
            //    SendTo = request.Email,
            //    Subject = "Registration"
            //});
        }
예제 #6
0
        public void Execute(UserDto request)
        {
            _validator.ValidateAndThrow(request);

            var user = new User
            {
                FirstName = request.FirstName,
                LastName  = request.LastName,
                Username  = request.Username,
                Password  = request.Password,
                Email     = request.Email
            };



            _context.Users.Add(user);
            _context.SaveChanges();

            var a = _context.Users.Where(x => x.Username == request.Username).FirstOrDefault();

            var permits = new List <int> {
                4, 10, 16, 18, 8, 1, 17, 14, 15, 19, 21
            };

            foreach (var permit in permits)
            {
                _context.UserUseCases.Add(new UserUseCase
                {
                    UserId    = a.Id,
                    UseCaseId = permit
                });
            }

            _context.SaveChanges();

            _sender.Send(new SendEmailDto
            {
                Content = "<h1>Successful registration!</h1>",
                SendTo  = request.Email,
                Subject = "Registration"
            });
        }
예제 #7
0
        public void Execute(CreateUserDto request)
        {
            _validator.ValidateAndThrow(request);

            var user = new Users
            {
                FirstName = request.FirstName,
                LastName  = request.LastName,
                Password  = request.Password,
                Email     = request.Email
            };

            _context.Users.Add(user);

            var useCases    = new List <UserUseCases>();
            var newUseCases = new List <int> {
                4, 13, 20, 15, 18, 14, 4, 9, 8, 30, 31
            };                                                                    //ono sta sme ulogovani

            //hard kod kreiranje admina var adminUseCases = Enumerable.Range(1, 50);

            foreach (var useCase in newUseCases)
            {
                var userUseCases = new UserUseCases
                {
                    UserId    = user.Id,
                    UseCaseId = useCase
                };
                useCases.Add(userUseCases);
            }

            user.UserUseCases = useCases;

            _context.SaveChanges();

            _sender.Send(new SendEmailDto
            {
                Subject = "Registration",
                Content = "<h1>Successfull registration, you can use your email and password to log in</h1>",
                SendTo  = request.Email
            });
        }
예제 #8
0
        public void Execute(UserPostDto request)
        {
            _validator.ValidateAndThrow(request);
            using (var dbContextTransaction = _context.Database.BeginTransaction())
            {
                var user = new User
                {
                    FirstName = request.FirstName,
                    LastName  = request.LastName,
                    Email     = request.Email,
                    Pass      = request.Pass,
                    PID       = request.PID,
                    RoleId    = 2
                };

                _context.Users.Add(user);
                _context.SaveChanges();

                var authUseCases = new List <int> {
                    13, 17, 23, 7, 6, 18
                };
                foreach (var useCase in authUseCases)
                {
                    var useCaseRow = new UserUseCase
                    {
                        UserId    = user.Id,
                        UseCaseId = useCase
                    };
                    _context.UserUseCases.Add(useCaseRow);
                }
                _context.SaveChanges();
                dbContextTransaction.Commit();
            }
            _sender.Send(new SendEmailDto
            {
                Content = "<h1>You are successfully registrated now!</h1>",
                SendTo  = request.Email,
                Subject = "E-store registration"
            });
        }
예제 #9
0
        public void Execute(UserDto request)
        {
            validator.ValidateAndThrow(request);
            var user = mapper.Map <User>(request);

            user.Password = EasyEncryption.SHA.ComputeSHA256Hash(request.Password);
            context.Add(user);

            context.SaveChanges();

            int id = user.Id;

            foreach (var uc in useCasesForUser)
            {
                context.UserUseCases.Add(new UserUseCases
                {
                    UserId    = id,
                    UseCaseId = uc
                });
            }

            context.SaveChanges();
        }
        public void Execute(UserDto request)
        {
            _validator.ValidateAndThrow(request);

            _context.Users.Add(new User
            {
                FirstName = request.FirstName,
                LastName  = request.LastName,
                Email     = request.Email,
                Phone     = request.Phone,
                Password  = request.Password,
                RoleId    = 13
            });

            _sender.Send(new SendEmailDto
            {
                Content = "<h1>Successfull registration1</h1>",
                SendTo  = request.Email,
                Subject = "Registration"
            });

            _context.SaveChanges();
        }
예제 #11
0
        public void Execute(UserDto request)
        {
            _validator.ValidateAndThrow(request);
            byte[] salt = Convert.FromBase64String("olK4MOHPZ8IgkmfD17+oyg==");

            // derive a 256-bit subkey (use HMACSHA1 with 10,000 iterations)
            string hashed = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                       password: request.Password,
                                                       salt: salt,
                                                       prf: KeyDerivationPrf.HMACSHA1,
                                                       iterationCount: 10000,
                                                       numBytesRequested: 256 / 8));


            var user = new User
            {
                FirstName = request.FirstName,
                LastName  = request.LastName,
                Email     = request.Email,
                Password  = hashed
            };

            _context.Users.Add(user);
            _context.SaveChanges();

            var userusecase = new List <Domain.UserUseCase>
            {
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 1
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 2
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 3
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 7
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 8
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 9
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 10
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 11
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 12
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 13
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 14
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 16
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 17
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 18
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 19
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 20
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 21
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 22
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 23
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 24
                },
                new Domain.UserUseCase {
                    UserId = user.Id, UseCaseId = 25
                }
            };

            _context.UserUseCases.AddRange(userusecase);
            _context.SaveChanges();


            _sender.Send(new SendEmailDto
            {
                Content = "You have been registered!",
                SendTo  = request.Email,
                Subject = "Registration Confirmation"
            });
        }