Beispiel #1
0
        public ActionResult Register(RegisterUser registerUser)
        {
            if (ModelState.IsValid)
            {
                DAL.Models.User user = new DAL.Models.User()
                {
                    Username  = registerUser.Username,
                    FirstName = registerUser.FirstName,
                    LastName  = registerUser.LastName,
                    Email     = registerUser.Email,
                    Password  = registerUser.Password
                };
                switch (registerService.Register(user))
                {
                case RegisterServiceResponse.SuccessRegister:
                    ModelState.Clear();
                    TempData["SuccessRegisterNewUserMessage"] = $"Successfully registered user: {registerUser.Username}.";
                    return(RedirectToAction("Login", "Login"));

                case RegisterServiceResponse.DuplicateUsername:
                    ViewBag.DuplicateUsernameMessage = "Username already in use.";
                    return(View());

                case RegisterServiceResponse.DuplicateEmail:
                    ViewBag.DuplicateEmailMessage = "Email already in use.";
                    return(View());

                default:
                    break;
                }
            }
            return(View(registerUser));
        }
Beispiel #2
0
        public void ExecuteCommand(RegisterNewUser command)
        {
            if (command.Password != command.ConfirmPassword)
            {
                throw new PasswordsDontMatchException();
            }

            var username = command.Username.Trim();
            var user     = db.Users.FirstOrDefault(x => x.Username.ToLower() == username.ToLower());

            if (user != null)
            {
                throw new UsernameTakenException();
            }

            var salt    = Guid.NewGuid().ToString().Replace("-", "");
            var newUser = new DAL.Models.User
            {
                Username = command.Username,
                IsActive = true,
                Password = new PasswordService().HashPassword(command.Password, salt),
                Salt     = salt
            };

            db.Users.Add(newUser);
            db.SaveChanges();

            eventBus.PublishEvent(new UserRegistered(newUser.Username, newUser.Password, newUser.Salt));
        }
        public ActionResult Register(RegisterUser registerUser)
        {
            if (ModelState.IsValid)
            {
                DAL.Models.User user = new DAL.Models.User()
                {
                    Username  = registerUser.Username,
                    FirstName = registerUser.FirstName,
                    LastName  = registerUser.LastName,
                    Email     = registerUser.Email,
                    Password  = registerUser.Password
                };
                switch (registerService.Register(user))
                {
                case RegisterServiceResponse.SuccessRegister:
                    ModelState.Clear();
                    TempData["SuccessRegisterNewUserMessage"] = $"Zapisano z powodzeniem użytkownika: {registerUser.Username}.";
                    return(RedirectToAction("Login", "Login"));

                case RegisterServiceResponse.DuplicateUsername:
                    ViewBag.DuplicateUsernameMessage = "Nazwa użytkownika jest używana.";
                    return(View());

                case RegisterServiceResponse.DuplicateEmail:
                    ViewBag.DuplicateEmailMessage = "Email jest używany.";
                    return(View());

                default:
                    break;
                }
            }
            return(View(registerUser));
        }
Beispiel #4
0
            public async Task <IActionResult> Register([FromBody] RegisterModel model)
            {
                var user = await GetUser(model.Email);

                if (user == null)
                {
                    user = new DAL.Models.User
                    {
                        Address = new DAL.Models.Address()
                    };
                    _context.Users.Add(user);
                    await Authenticate(model.Email);
                }

                user.Role            = DAL.Models.UserRole.Customer;
                user.Email           = model.Email;
                user.Password        = model.Password;
                user.Name            = model.Name;
                user.Surname         = model.Surname;
                user.DisplayAddress  = model.DisplayAddress;
                user.Address.Country = model.Address.Country;
                user.Address.City    = model.Address.City;
                user.Address.Street  = model.Address.Street;
                user.Address.House   = model.Address.House;
                user.Address.ZipCode = model.Address.ZipCode;

                await _context.SaveChangesAsync();

                var result = await GetUserProfile(model.Email);

                return(Ok(result));
            }
 public static JObject Transform(DAL.Models.User item)
 {
     return(new JObject {
         ["id"] = item.id,
         ["login"] = item.login,
         ["email"] = item.email,
         ["registerDate"] = item.register_date
     });
 }
Beispiel #6
0
        public override async Task OnConnectedAsync()
        {
            _manager.User = Context.User;
            DAL.Models.User user = _manager.Connect();

            await Clients.Group(_manager.GetGroupIdentifier).SendAsync("userConnected", user);

            await Groups.AddToGroupAsync(Context.ConnectionId, _manager.GetGroupIdentifier);

            await base.OnConnectedAsync();
        }
Beispiel #7
0
        public override async Task OnDisconnectedAsync(Exception exception)
        {
            _manager.User = Context.User;
            DAL.Models.User user = _manager.Disconnect();

            await Clients.Group(_manager.GetGroupIdentifier).SendAsync("userDisconnect", user);

            await Groups.RemoveFromGroupAsync(Context.ConnectionId, _manager.GetGroupIdentifier);

            await base.OnDisconnectedAsync(exception);
        }
Beispiel #8
0
 public static LOCAL.Models.User toLocal(this DAL.Models.User user)
 {
     return(new LOCAL.Models.User
     {
         UserId = user.UserId,
         UserName = user.UserName,
         Email = user.Email,
         PasswordHash = user.PasswordHash,
         Admin = user.Admin,
         DeletedDate = user.DeletedDate,
         //VideoGame = user.VideoGame
     });
 }
Beispiel #9
0
            public async Task <IActionResult> Login([FromBody] LoginModel model)
            {
                DAL.Models.User user = await _context.Users.FirstOrDefaultAsync(u => u.Email == model.Email && u.Password == model.Password);

                if (user != null)
                {
                    await Authenticate(user.Email);

                    var userProfile = await GetUserProfile(user.Email);

                    return(Ok(userProfile));
                }
                return(Unauthorized("Wrong login/password"));
            }
 static void Main(string[] args)
 {
     try
     {
         BL.DataCollector dc = new DataCollector();
         //dc.ProcessFile();
         DAL.Models.User user = new DAL.Models.User()
         {
             UserName = "******"
         };
         dc.AddUser(user);
     }
     catch (ArgumentException e)
     {
     }
 }
Beispiel #11
0
        public ActionResult UserSave(UserViewModel user)
        {
            DAL.Models.User dUser = new DAL.Models.User(); //We can use AutoMapper here but manually assigning because it is demo project
            dUser.Name         = user.Name;
            dUser.City         = user.City;
            dUser.Email        = user.Email;
            dUser.Address      = user.Address;
            dUser.PhoneNumber  = user.PhoneNumber;
            dUser.DateCreated  = System.DateTime.Now;
            dUser.DateModified = System.DateTime.Now;

            _userRepository.Users.Add(dUser);
            _userRepository.SaveChanges();

            return(View("Home/User"));
        }
Beispiel #12
0
        public ActionResult UserUpdate(UserViewModel user)
        {
            DAL.Models.User dUser = new DAL.Models.User();
            dUser.Name         = user.Name;
            dUser.City         = user.City;
            dUser.Email        = user.Email;
            dUser.Address      = user.Address;
            dUser.PhoneNumber  = user.PhoneNumber;
            dUser.DateCreated  = System.DateTime.Now;
            dUser.DateModified = System.DateTime.Now;

            _userRepository.Users.Add(dUser);
            _userRepository.SaveChanges();

            return(View("Home/User"));
        }
Beispiel #13
0
        private ValidationResult ValidateUser(DAL.Models.User user)
        {
            var userByUsername = userDao.GetByUsername(user.Username);
            var userByEmail    = userDao.GetByEmail(user.Email);

            if (userByUsername?.Username == user.Username && userByUsername?.Id != user.Id)
            {
                return(new ValidationResult("O Nome de Usuário informado já está em uso."));
            }

            if (userByEmail?.Email == user.Email && userByEmail?.Id != user.Id)
            {
                return(new ValidationResult("O E-mail informado já está em uso."));
            }

            return(ValidationResult.Success);
        }
        // GET: User/Edit/5
        public ActionResult Edit(int id)
        {
            DAL.Models.User userToUpdate = userService.GetById(id);
            User            user         = new User
            {
                UserId          = userToUpdate.UserId,
                FirstName       = userToUpdate.FirstName,
                LastName        = userToUpdate.LastName,
                PhoneNumber     = userToUpdate.PhoneNumber,
                Street          = userToUpdate.Street,
                HouseNumber     = userToUpdate.HouseNumber,
                ApartmentNumber = userToUpdate.ApartmentNumber,
                PostalCode      = userToUpdate.PostalCode,
                City            = userToUpdate.City
            };

            return(View(user));
        }
Beispiel #15
0
 public IActionResult Register(RegisterVM model)
 {
     if (ModelState.IsValid)
     {
         if (model.Password != model.RepeatPassword)
         {
             return(View("Login", new LoginViewVM {
                 RegisterVM = model, Error = "Пароли не совпадают!"
             }));
         }
         else if (UnitOfWork.Users.FirstOrDefault(x => x.Email == model.Username) is DAL.Models.User user)
         {
             return(View("Login", new LoginViewVM {
                 RegisterVM = model, Error = "Такой пользователь уже зарегистрирован в системе!"
             }));
         }
         else
         {
             var newUser = new DAL.Models.User
             {
                 Email     = model.Username,
                 Password  = UnitOfWork.StoredProcedures.MD5HashPassword(model.Password),
                 FirstName = model.FirstName,
                 RoleId    = UnitOfWork.StoredProcedures.GetUserRoleId(UserRole.User.GetDescription())
             };
             UnitOfWork.Users.Insert(newUser);
             SetAuth(AuthKey, newUser.Token.ToString());
             return(RedirectToAction("Index"));
         }
     }
     else
     {
         var htmlError = ModelState.GetHtmlErrors();
         return(View("Login", new LoginViewVM {
             RegisterVM = model, Error = htmlError
         }));
     }
 }
 public IActionResult Register(RegisterVM model)
 {
     if (ModelState.IsValid)
     {
         if (model.Password != model.RepeatPassword)
         {
             return(View("Login", new LoginViewVM {
                 RegisterVM = model, Error = "Password doesn't match!"
             }));
         }
         else if (UnitOfWork.Users.FirstOrDefault(x => x.Email == model.Username) is DAL.Models.User user)
         {
             return(View("Login", new LoginViewVM {
                 RegisterVM = model, Error = "This user is already registered in the system!"
             }));
         }
         else
         {
             var newUser = new DAL.Models.User
             {
                 Email     = model.Username,
                 Password  = UnitOfWork.StoredProcedures.MD5HashPassword(model.Password),
                 FirstName = model.FirstName,
                 RoleId    = UnitOfWork.StoredProcedures.GetUserRoleId(UserRole.User.GetDescription())
             };
             UnitOfWork.Users.Insert(newUser);
             SetAuth(AuthKey, newUser.Token.ToString());
             return(RedirectToAction("Index"));
         }
     }
     else
     {
         var htmlError = ModelState.GetHtmlErrors();
         return(View("Login", new LoginViewVM {
             RegisterVM = model, Error = htmlError
         }));
     }
 }
Beispiel #17
0
        public ValidationResult Edit(UserViewModel model)
        {
            DAL.Models.User user = new DAL.Models.User
            {
                Id       = model.UserId,
                Username = model.Username,
                Email    = model.Email,
                Password = model.Password,
                UserType = (DAL.Enums.UserType)model.UserType
            };

            var validation = ValidateUser(user);

            if (validation == ValidationResult.Success)
            {
                if (!userDao.Update(user))
                {
                    return(new ValidationResult("Não foi possível atualizar o usuário. Contate o administrador."));
                }
            }

            return(validation);
        }
 public ActionResult Edit(User user)
 {
     try
     {
         DAL.Models.User userToUpdate = new DAL.Models.User
         {
             UserId          = user.UserId,
             FirstName       = user.FirstName,
             LastName        = user.LastName,
             PhoneNumber     = user.PhoneNumber,
             Street          = user.Street,
             HouseNumber     = user.HouseNumber,
             ApartmentNumber = user.ApartmentNumber,
             PostalCode      = user.PostalCode,
             City            = user.City
         };
         userService.Update(userToUpdate);
         return(RedirectToAction("Index", "Home"));
     }
     catch
     {
         return(View());
     }
 }
Beispiel #19
0
        public ActionResult Index(DateTime rentalStartDate, DateTime rentalEndDate, int boardGameId, string boardGameName, int count, string discountCode, string rentalCostPerDay, string imagePath)
        {
            decimal totalCost = reservationService.CaculateTotalCostByBoardGameDiscountCode(discountCode, boardGameId, rentalStartDate, rentalEndDate, decimal.Parse(rentalCostPerDay));

            Session["TotalCost"] = totalCost; //brzydka lata

            DAL.Models.User userFromSession = userService.GetById((int)Session["UserId"]);
            Models.User     user            = new Models.User
            {
                UserId          = userFromSession.UserId,
                FirstName       = userFromSession.FirstName,
                LastName        = userFromSession.LastName,
                Email           = userFromSession.Email,
                PhoneNumber     = userFromSession.PhoneNumber,
                Street          = userFromSession.Street,
                HouseNumber     = userFromSession.HouseNumber,
                ApartmentNumber = userFromSession.ApartmentNumber,
                PostalCode      = userFromSession.PostalCode,
                City            = userFromSession.City
            };

            ViewBag.ImagePath = imagePath;
            Models.Reservation reservation = new Models.Reservation
            {
                RentalStartDate      = rentalStartDate,
                RentalEndDate        = rentalEndDate,
                BoardGameId          = boardGameId,
                Count                = count,
                User                 = user,
                TotalCost            = totalCost,
                BoardGameName        = boardGameName,
                BoardGameIsAvailable = boardGamesService.IsAvailable(boardGameId),
                ImagePath            = imagePath
            };
            return(View(reservation));
        }
Beispiel #20
0
        public IHttpActionResult Index()
        {
            User user = new DAL.Models.User();

            return(Ok());
        }
Beispiel #21
0
 public void AddUser(DAL.Models.User user)
 {
     userRepository.Add(user);
     userRepository.SaveChanges();
 }