public UserViewModel CreateUser(UserViewModel user)
        {
            var hasher = new PasswordHasher();
            var newUser = new User
            {
                UserName = user.UserName,
                PasswordHash = hasher.HashPassword(user.PasswordHash),
                Email = user.Email,
                FirstName = user.FirstName,
                SecondName = user.SecondName,
                LastName = user.LastName,
                Gender = user.Gender,
                Age = user.Age,
                Town = user.Town,
                Country = user.Country,
                CreatedOn = DateTime.Now,
                EmailConfirmed = false,
                SecurityStamp = Guid.NewGuid().ToString(),
                LockoutEnabled = true,
                PhoneNumber = user.PhoneNumber,
                Website = user.Website
            };

            ChangeRoleToUser(newUser, user.EnterprisePosition);

            this.Data.Users.Add(newUser);
            this.Data.SaveChanges();

            user.Id = newUser.Id;
            user.CreatedOn = newUser.CreatedOn;

            return user;
        }
        private void ChangeRoleToUser(User user, EnterprisePosition position)
        {
            var roleName = "";
            switch (position)
            {
                case EnterprisePosition.Financial:
                    user.EnterprisePosition = EnterprisePosition.Financial;
                    roleName = "Financial";
                    break;
                case EnterprisePosition.Dealer:
                    user.EnterprisePosition = EnterprisePosition.Dealer;
                    roleName = "Dealer";
                    break;
                default:
                    user.EnterprisePosition = EnterprisePosition.Admin;
                    roleName = "Admin";
                    break;
            }

            // TODO: Remove db context and find way for manipulating data in other way
            var db = new CRMDbContext();
            var role = db.Roles.FirstOrDefault(r => r.Name == roleName);

            user.Roles.Add(new IdentityUserRole()
            {
                RoleId = role.Id,
                UserId = user.Id
            });
        }