示例#1
0
        private async Task <User> CreateUserAsync(AddUserViewMadel model)
        {
            var user = new User
            {
                Address     = model.Address,
                Document    = model.Document,
                FirstName   = model.FirstName,
                LastName    = model.LastName,
                Email       = model.username,
                UserName    = model.username,
                PhoneNumber = model.PhoneNumer
            };

            var result = await _userHelper.AddUserAsync(user, model.Password);

            if (result.Succeeded)
            {
                user = await _userHelper.GetUserByEmailAsync(model.username);

                await _userHelper.AdduserToRoleAsync(user, "Owner");

                return(user);
            }
            return(null);
        }
示例#2
0
        public async Task <User> AddUser(AddUserViewMadel view, string role)
        {
            var user = new User
            {
                Address     = view.Address,
                Document    = view.Document,
                Email       = view.username,
                FirstName   = view.FirstName,
                LastName    = view.LastName,
                PhoneNumber = view.PhoneNumer,
                UserName    = view.username
            };

            var result = await AddUserAsync(user, view.Password);

            if (result != IdentityResult.Success)
            {
                return(null);
            }
            var newUser = await GetUserByEmailAsync(view.username);

            await AdduserToRoleAsync(newUser, role);

            return(newUser);
        }
示例#3
0
        public IActionResult Create()
        {
            var view = new AddUserViewMadel {
                RoleId = 2
            };

            return(View(view));
        }
示例#4
0
        public IActionResult Register()
        {
            var model = new AddUserViewMadel
            {
                Roles = _combosHelper.GetComboRoles()
            };

            return(View(model));
        }
示例#5
0
        public async Task <IActionResult> Register(AddUserViewMadel model)
        {
            if (ModelState.IsValid)
            {
                var role = "Owner";
                if (model.RoleId == 1)
                {
                    role = "Lessee";
                }

                var user = await _userHelper.AddUser(model, role);

                if (user == null)
                {
                    ModelState.AddModelError(string.Empty, "This email is already used.");
                    return(View(model));
                }

                if (model.RoleId == 1)
                {
                    var lessee = new Lesse
                    {
                        Contracts = new List <Contract>(),
                        User      = user
                    };
                    _dataContext.Lesses.Add(lessee);
                }
                else
                {
                    var owner = new Owner
                    {
                        User       = user,
                        Contracts  = new List <Contract>(),
                        Properties = new List <Property>()
                    };
                    _dataContext.Owners.Add(owner);
                }

                await _dataContext.SaveChangesAsync();

                var loginviewModel = new LoginViewModel
                {
                    Password   = model.Password,
                    RememberMe = false,
                    Username   = model.username
                };
                var result2 = await _userHelper.LoginAsync(loginviewModel);

                if (result2.Succeeded)
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }
            model.Roles = _combosHelper.GetComboRoles();
            return(View(model));
        }
示例#6
0
        public async Task <IActionResult> Create(AddUserViewMadel model)
        {
            if (ModelState.IsValid)
            {
                var user = await CreateUserAsync(model);

                if (user != null)
                {
                    var owner = new Owner
                    {
                        Contracts  = new List <Contract>(),
                        Properties = new List <Property>(),
                        User       = user
                    };
                    _dataContext.Owners.Add(owner);
                    await _dataContext.SaveChangesAsync();

                    return(RedirectToAction("Index"));
                }
                ModelState.AddModelError(string.Empty, "User wiht this email already exists.");
            }
            return(View(model));
        }