Exemplo n.º 1
0
        public IActionResult Edit()
        {
            string id = _userManager.GetUserId(User);

            if (id == null)
            {
                return(NotFound());
            }

            var admin = _context.Admins.Include(a => a.User).Single(a => a.Id == id);

            if (admin == null)
            {
                return(NotFound());
            }
            EditAdmin model = new EditAdmin
            {
                Id         = admin.Id,
                FirstName  = admin.FirstName,
                MiddleName = admin.MiddleName,
                LastName   = admin.LastName,
                Mobile     = admin.Mobile,
                Username   = admin.User.UserName,
                Email      = admin.User.Email,
                Phone      = admin.User.PhoneNumber
            };

            return(View(model));
        }
Exemplo n.º 2
0
        private void button2_Click(object sender, EventArgs e)
        {
            int             selectedrowindex = dataGridAdmins.SelectedCells[0].RowIndex;
            DataGridViewRow selectedRow      = dataGridAdmins.Rows[selectedrowindex];
            int             selected_id      = Convert.ToInt32(selectedRow.Cells["id"].Value);
            EditAdmin       ea = new EditAdmin(selected_id);

            ea.Show();
        }
Exemplo n.º 3
0
        public async Task <IActionResult> EditAdmin(EditAdmin model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Admins", "Owner"));
            }

            // update user
            ApplicationUser userToUpdate = await _userManager.FindByIdAsync(model.Id);

            userToUpdate.FirstName = model.FirstName;
            userToUpdate.LastName  = model.LastName;
            userToUpdate.Level     = model.Level;
            userToUpdate.Email     = model.Email;
            await _userManager.UpdateAsync(userToUpdate);

            // logs for updating user
            ApplicationUser updator = await _userManager.GetUserAsync(User);

            await _db.Logs.AddAsync(await Log.New("Edit User", $"{userToUpdate.Level.ToUpper()}: {userToUpdate.FirstName} {userToUpdate.LastName}, was EDITED", _id, _db));

            // log for updated user
            await _db.Logs.AddAsync(await Log.New("Edit User", $"User was EDITED by {updator.FirstName} {updator.LastName}", _id, _db));

            // change password if new one is provided
            if (!string.IsNullOrEmpty(model.Password) &&
                model.Password == model.ConfirmPassword)
            {
                await _userManager.RemovePasswordAsync(userToUpdate);

                await _userManager.AddPasswordAsync(userToUpdate, model.Password);

                // log for updating user
                await _db.Logs.AddAsync(await Log.New("Edit User", $"{userToUpdate.Level.ToUpper()}: {userToUpdate.FirstName} {userToUpdate.LastName}, PASSWORD was changed", updator.Id, _db));

                // log for updated user
                await _db.Logs.AddAsync(await Log.New("Edit User", $"Password was changed by {updator.FirstName} {updator.LastName}", userToUpdate.Id, _db));
            }

            return(RedirectToAction("Admins", "Owner"));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> EditAdmin(string ID = null)
        {
            if (ID == null)
            {
                return(RedirectToAction("Admins", "Owner"));
            }

            // get user from db by ID
            ApplicationUser userToEdit = await _userManager.FindByIdAsync(ID);

            ViewBag.Claims = await _userManager.GetClaimsAsync(userToEdit);

            // create model for the view
            EditAdmin model = new EditAdmin();

            model.CopyValues(userToEdit);

            // all user logs
            ViewBag.Logs = await _db.Logs.Where(x => x.AdminID == userToEdit.Id).OrderByDescending(x => x.ID).Take(100).ToListAsync();

            return(View(model));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Edit(string id, EditAdmin model)
        {
            if (id != model.Id)
            {
                return(NotFound());
            }


            Admin admin = _context.Admins.Include(a => a.User).Single(a => a.Id == id);

            if (admin == null)
            {
                return(NotFound());
            }
            if (ModelState.IsValid)
            {
                try
                {
                    IdentityUser user     = admin.User;
                    var          username = await _userManager.GetUserNameAsync(user);

                    if (model.Username != username)
                    {
                        if (_userManager.Users.Any(u => u.UserName == model.Username))
                        {
                            ModelState.AddModelError(String.Empty, "User name already taken");
                            return(View(model));
                        }
                        var setUserNameResult = await _userManager.SetUserNameAsync(user, model.Username);

                        if (!setUserNameResult.Succeeded)
                        {
                            var userId = await _userManager.GetUserIdAsync(user);

                            throw new InvalidOperationException($"Unexpected error occurred setting username for user with ID '{userId}'.");
                        }
                    }

                    admin.FirstName  = model.FirstName;
                    admin.MiddleName = model.MiddleName;
                    admin.LastName   = model.LastName;
                    admin.Mobile     = model.Mobile;


                    var email = await _userManager.GetEmailAsync(user);

                    if (model.Email != email)
                    {
                        var setEmailResult = await _userManager.SetEmailAsync(user, model.Email);

                        if (!setEmailResult.Succeeded)
                        {
                            var userId = await _userManager.GetUserIdAsync(user);

                            throw new InvalidOperationException($"Unexpected error occurred setting email for user with ID '{userId}'.");
                        }
                    }

                    var phoneNumber = await _userManager.GetPhoneNumberAsync(user);

                    if (model.Phone != phoneNumber)
                    {
                        var setPhoneResult = await _userManager.SetPhoneNumberAsync(user, model.Phone);

                        if (!setPhoneResult.Succeeded)
                        {
                            var userId = await _userManager.GetUserIdAsync(user);

                            throw new InvalidOperationException($"Unexpected error occurred setting phone number for user with ID '{userId}'.");
                        }
                    }

                    _context.Update(admin);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AdminExists(admin.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
Exemplo n.º 6
0
        private void BtnEdit_Click(object sender, RoutedEventArgs e)
        {
            EditAdmin editAdminWindow = new EditAdmin(admin);

            editAdminWindow.Show();
        }