public HttpResponseMessage Remove(RemoveParameters parameters) { try { var settings = new AzureConfig(AzureConfig.ServiceName, PortalSettings.PortalId); var graphClient = new GraphClient(settings.AADApplicationId, settings.AADApplicationKey, settings.TenantId); graphClient.DeleteUser(parameters.objectId); // Delete user if exist locally var usernamePrefix = settings.UsernamePrefixEnabled ? "AzureB2C-" : ""; var userInfo = UserController.GetUserByName(PortalSettings.PortalId, $"{usernamePrefix}{parameters.objectId}"); if (userInfo != null) { UserController.DeleteUser(ref userInfo, false, true); UserController.RemoveDeletedUsers(PortalSettings.PortalId); } return(Request.CreateResponse(HttpStatusCode.OK)); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
public async Task OnExecute(IConsole console) { var config = Config.GetConfig(); var client = new GraphClient(config, console); console.WriteLine($"deleting user {userId}..."); var ret = await client.DeleteUser(userId); console.WriteLine(ret); }
public async Task <IActionResult> DeleteConfirmed(int id) { var user = await _dbReadService.GetSingleRecordAsync <User>(u => u.Id.Equals(id)); var graphClient = new GraphClient(Configuration, true); var graphResult = graphClient.DeleteUser(user.AuthId); if (graphResult) { _dbWriteService.Delete(user); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Create([Bind("Id,SupplierId,FirstName,LastName,EmailAddress,AuthId,CreatedOn,CreatedBy,UpdatedOn,UpdatedBy")] User user) { var userFullName = User.Claims.FirstOrDefault(x => x.Type == $"name").Value; if (ModelState.IsValid) { if (User != null) { user.CreatedBy = userFullName; } user.CreatedOn = DateTime.Now; var graphClient = new GraphClient(Configuration, true); var password = string.Empty; var graphResult = graphClient.CreateUser(user, out password); if (graphResult) { _dbWriteService.Add(user); var saveResult = await _dbWriteService.SaveChangesAsync(); if (saveResult) { var userEmail = new PM.Business.Email.User(Configuration); userEmail.SendWelcomeEmail(user, password); return(RedirectToAction(nameof(Index))); } // Failed to save to the database, delete the user from the directory. graphClient.DeleteUser(user.AuthId); } } ViewData["SupplierId"] = new SelectList(_context.Supplier, "Id", "SupplierName", user.SupplierId); return(View(user)); }