public async Task <IActionResult> ProviderUpdate(TravelProviderUpdateProfileViewModel vm)
        {
            if (ModelState.IsValid)
            {
                //get the user who already logged in
                IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name);

                //get the profile for this user
                TravelProvider provider = _providerDataService.GetSingle(p => p.UserId == user.Id);
                //map the vm
                //  provider.UserId = user.Id;
                provider.CompanyName = vm.CompanyName;
                provider.Phone       = vm.Phone;
                provider.Address     = vm.Address;
                provider.WebSite     = vm.WebSite;
                user.Email           = vm.Email;
                user.UserName        = vm.UserName;

                //save changes
                _providerDataService.Update(provider);
                await _userManagerService.UpdateAsync(user);

                //go home
                return(RedirectToAction("Index", "Home"));
            }
            return(View(vm));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Create(TravelProvider travelProvider)
        {
            if (ModelState.IsValid)
            {
                await _tpr.Add(travelProvider);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(travelProvider));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Update(TravelProvider travelProvider, int id)
        {
            if (id != travelProvider.Id)
            {
                return(NotFound());
            }

            if (id == travelProvider.Id)
            {
                await _tpr.Update(travelProvider);
            }
            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> ProviderRegister(TravelProviderRegisterViewModel vm)
        {
            if (ModelState.IsValid)
            {
                //user
                IdentityUser user = new IdentityUser(vm.UserName);
                //add to database
                IdentityResult result = await _userManagerService.CreateAsync(user, vm.Password);

                if (vm.Password != null)
                {
                    vm.Password = vm.ConfirmPassword;
                }

                if (result.Succeeded)
                {
                    //add a default role
                    if (await _roleManagerService.FindByNameAsync("TravelProvider") != null)
                    {
                        await _userManagerService.AddToRoleAsync(user, "TravelProvider");
                    }

                    //add default profile
                    //get the user back to find the id
                    user = await _userManagerService.FindByNameAsync(vm.UserName);

                    TravelProvider provider = new TravelProvider
                    {
                        UserId      = user.Id,
                        CompanyName = vm.CompanyName,
                        WebSite     = vm.WebSite,
                        Address     = vm.Address,
                        Email       = vm.Email,
                        Phone       = vm.Phone
                    };
                    _providerDataService.Create(provider);

                    //go to home page
                    return(RedirectToAction("Login", "Account"));
                }
                else
                {
                    foreach (var item in result.Errors)
                    {
                        //show
                        ModelState.AddModelError("", item.Description);
                    }
                }
            }
            return(View(vm));
        }
        public async Task <IActionResult> ProviderUpdate()
        {
            //get the user who already logged in
            IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name);

            //get the profile for this user
            TravelProvider provider = _providerDataService.GetSingle(p => p.UserId == user.Id);
            //create vm
            TravelProviderUpdateProfileViewModel vm = new TravelProviderUpdateProfileViewModel
            {
                CompanyName = provider.CompanyName,
                Phone       = provider.Phone,
                Address     = provider.Address,
                WebSite     = provider.WebSite,
                Email       = user.Email,
                UserName    = user.UserName
            };

            return(View(vm));
        }
        public async Task <IActionResult> PasswordUpdate(TravelProviderPasswordUpdateViewModel vm)
        {
            if (ModelState.IsValid)
            {
                IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name);

                TravelProvider profile = _providerDataService.GetSingle(p => p.UserId == user.Id);
                var            result  = await _userManagerService.ChangePasswordAsync(user, vm.OldPassword, vm.NewPassword);

                if (vm.OldPassword != vm.NewPassword)
                {
                    vm.NewPassword = vm.ConfirmPassword;
                }
                if (!result.Succeeded)
                {
                    ViewBag.notification = "Sorry! Please try again";
                }
                await _signInManagerService.SignInAsync(user, false);

                return(RedirectToAction("Login", "Account"));
            }
            return(View(vm));
        }