コード例 #1
0
 public PersonCreationView()
 {
     InitializeComponent();
     DataContext = new PersonCreationViewModel();
 }
コード例 #2
0
        //     var result = await UserHelper.AddFullUserAsync(vm, "824455", owner, "images", "Employees", userConected);

        public async Task <PersonCreationViewModel> AddFullUserAsync(UsersViewModel vm, string password, Owner owner,
                                                                     string rootFolder, string folder, ApplicationUser userConected)
        {
            var newUser = ApplicationUser.Create(owner, vm.Name,
                                                 vm.Address, vm.PhoneNumber,
                                                 vm.Email, vm.Nickname, vm.IsAdmin, vm.IsSupervisor,
                                                 true, vm.IsSeller);

            try
            {
                var result = await AddUserAsync(newUser, password);

                if (result != IdentityResult.Success)
                {
                    return(new PersonCreationViewModel {
                        Success = false
                    });
                }

                await AddClaim(newUser, new Claim("OwnerId", owner.Id.ToString()));

                // await UserHelper.AddClaim(user, new Claim("ShopId", shop.Id.ToString()));
                await AddUserToRoleAsync(newUser, "User");

                //

                var path = string.Empty;

                if (vm.ImageFile != null)
                {
                    path = FileHelper.UploadFile(vm.ImageFile, path, rootFolder, folder, ref owner);
                    _context.Update(owner);
                }

                vm.Imagen = path;

                if (vm.IsAdmin)
                {
                    await CheckRoleAsync("Admin");
                    await AddUserToRoleAsync(newUser, "Admin");
                }

                if (vm.IsSeller)
                {
                    await CheckRoleAsync("Seller");
                    await AddUserToRoleAsync(newUser, "Seller");
                }

                if (vm.IsSupervisor)
                {
                    await CheckRoleAsync("Supervisor");
                    await AddUserToRoleAsync(newUser, "Supervisor");
                }

                await _context.SaveChangesAsync();

                var perView = new PersonCreationViewModel {
                    Success = true
                };

                return(perView);
            }
            catch (Exception)
            {
                return(new PersonCreationViewModel {
                    Success = false
                });
            }
        }