public async Task <IActionResult> StoreUsers(StoreUsersViewModel vm) { await FillUsers(vm); if (!ModelState.IsValid) { return(View(vm)); } var user = await _UserManager.FindByEmailAsync(vm.Email); if (user == null) { ModelState.AddModelError(nameof(vm.Email), "Usuario no encontrado"); return(View(vm)); } if (!StoreRoles.AllRoles.Contains(vm.Role)) { ModelState.AddModelError(nameof(vm.Role), "Rol inválido"); return(View(vm)); } if (!await _Repo.AddStoreUser(StoreData.Id, user.Id, vm.Role)) { ModelState.AddModelError(nameof(vm.Email), "El usuario ya tiene acceso a esta tienda."); return(View(vm)); } StatusMessage = "Usuario agregado exitosamente"; return(RedirectToAction(nameof(StoreUsers))); }
public async Task <IActionResult> StoreUsers(StoreUsersViewModel vm) { await FillUsers(vm); if (!ModelState.IsValid) { return(View(vm)); } var user = await _UserManager.FindByEmailAsync(vm.Email); if (user == null) { ModelState.AddModelError(nameof(vm.Email), "User not found"); return(View(vm)); } if (!StoreRoles.AllRoles.Contains(vm.Role)) { ModelState.AddModelError(nameof(vm.Role), "Invalid role"); return(View(vm)); } if (!await _Repo.AddStoreUser(StoreData.Id, user.Id, vm.Role)) { ModelState.AddModelError(nameof(vm.Email), "The user already has access to this store"); return(View(vm)); } StatusMessage = "User added successfully"; return(RedirectToAction(nameof(StoreUsers))); }
public async Task <IActionResult> StoreUsers() { StoreUsersViewModel vm = new StoreUsersViewModel(); await FillUsers(vm); return(View(vm)); }
private async Task FillUsers(StoreUsersViewModel vm) { var users = await _Repo.GetStoreUsers(StoreData.Id); vm.StoreId = StoreData.Id; vm.Users = users.Select(u => new StoreUsersViewModel.StoreUserViewModel() { Email = u.Email, Id = u.Id, Role = u.Role }).ToList(); }
public async Task<IActionResult> DeleteStoreUser(string userId) { StoreUsersViewModel vm = new StoreUsersViewModel(); var user = await _UserManager.FindByIdAsync(userId); if (user == null) return NotFound(); return View("Confirm", new ConfirmModel() { Title = $"Remove store user", Description = $"Are you sure to remove access to remove access to {user.Email}?", Action = "Delete" }); }
public async Task <IActionResult> DeleteStoreUser(string userId) { StoreUsersViewModel vm = new StoreUsersViewModel(); var user = await _UserManager.FindByIdAsync(userId); if (user == null) { return(NotFound()); } return(View("Confirm", new ConfirmModel() { Title = $"Eliminar usuario de la tienda", Description = $"¿Está seguro de que desea eliminar el acceso a la tienda para {user.Email}?", Action = "Delete" })); }
public async Task <IActionResult> DeleteStoreUser(string storeId, string userId) { StoreUsersViewModel vm = new StoreUsersViewModel(); var store = await _Repo.FindStore(storeId, userId); if (store == null) { return(NotFound()); } var user = await _UserManager.FindByIdAsync(userId); if (user == null) { return(NotFound()); } return(View("Confirm", new ConfirmModel() { Title = $"Remove store user", Description = $"Are you sure to remove access to remove {store.Role} access to {user.Email}?", Action = "Delete" })); }