public async Task <IActionResult> Index() { var response = await _graphClient.GetAllUsersAsync(); var accounts = GraphAccounts.Parse(response); return(View(accounts.value.Select(x => new UserViewModel(x)))); }
public async Task<ActionResult> FindPost() { string emailAddress = Request.Form["emailAddress"]; B2CGraphClient b2CGraphClient = new B2CGraphClient(_tenant, _clientId, _clientSecret); string json = await b2CGraphClient.SearcUserBySignInNames(emailAddress); GraphAccounts graphAccounts = GraphAccounts.Parse(json); if (graphAccounts != null && graphAccounts.value != null) { return RedirectToAction("Edit", new { emailAddress = emailAddress }); } else { ViewBag.Message = "User not found!"; } return View(); }
static void Main(string[] args) { if (args.Length <= 0) { Console.WriteLine("Please enter a command as the first argument."); Console.WriteLine("\t1 : Migrate social and local accounts with password"); Console.WriteLine("\t2 : Migrate social and local accounts with random password"); Console.WriteLine("\t3 Email-address : Get user by email address"); Console.WriteLine("\t4 Display-name : Get user by display name"); Console.WriteLine("\t5 : User migration cleanup"); return; } try { switch (args[0]) { case "1": MigrateUsersWithPasswordAsync().Wait(); break; case "2": MigrateUsersWithRandomPasswordAsync().Wait(); break; case "3": if (args.Length == 2) { B2CGraphClient b2CGraphClient = new B2CGraphClient(Program.Tenant, Program.ClientId, Program.ClientSecret); string JSON = b2CGraphClient.SearcUserBySignInNames(args[1]).Result; Console.WriteLine(JSON); GraphAccounts users = GraphAccounts.Parse(JSON); } else { Console.WriteLine("Email address parameter is missing"); } break; case "4": if (args.Length == 2) { B2CGraphClient b2CGraphClient = new B2CGraphClient(Program.Tenant, Program.ClientId, Program.ClientSecret); string JSON = b2CGraphClient.SearchUserByDisplayName(args[1]).Result; Console.WriteLine(JSON); GraphAccounts users = GraphAccounts.Parse(JSON); } else { Console.WriteLine("Display name parameter is missing"); } break; case "5": UserMigrationCleanupAsync().Wait(); break; } } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.Red; if (ex.InnerException != null) { Console.WriteLine(ex.InnerException.Message); } else { Console.WriteLine(ex.Message); } } finally { Console.ResetColor(); } Console.ReadLine(); }
static async Task Main(string[] args) { var tenantName = ""; var applicationId = ""; var clientSecret = ""; var storageName = ""; var storagekey = ""; var b2cGraphClient = new B2CGraphClient(tenantName, applicationId, clientSecret); var response = await b2cGraphClient.GetAllUsersAsync(); var accounts = GraphAccounts.Parse(response); CloudStorageAccount storageAccount = new CloudStorageAccount(new StorageCredentials(storageName, storagekey), true); //Client CloudTableClient tableClient = storageAccount.CreateCloudTableClient(); //Table CloudTable table = tableClient.GetTableReference("Ticket"); TableQuery <TicketTableEntity> query = new TableQuery <TicketTableEntity>(); List <TicketTableEntity> results = new List <TicketTableEntity>(); TableContinuationToken continuationToken = null; do { TableQuerySegment <TicketTableEntity> queryResults = await table.ExecuteQuerySegmentedAsync(query, continuationToken); continuationToken = queryResults.ContinuationToken; results.AddRange(queryResults.Results); } while (continuationToken != null); using (var textWriter = new StreamWriter("accounts.csv")) { var csv = new CsvWriter(textWriter); csv.WriteHeader <CsvItem>(); csv.NextRecord(); foreach (var account in accounts.value) { var tickets = results.Where(x => x.AttendeeId == account.Id); if (tickets.Count() == 0) { var item = new CsvItem { Id = account.Id, Email = account.OtherMails.FirstOrDefault(), FirstName = account.GivenName, LastName = account.Surname, }; csv.WriteRecord(item); csv.NextRecord(); } foreach (var ticket in tickets) { var item = new CsvItem { Id = account.Id, Email = account.OtherMails.FirstOrDefault(), FirstName = account.GivenName, LastName = account.Surname, TicketType = ticket.TicketType, CouponCode = ticket.CouponCode, IsPayed = ticket.IsPayed, PaymentType = ticket.PaymentType, Price = ticket.Price, WorkshopId = ticket.WorkshopId, City = account.city, Company = account.extension_d6245cc8578e4908b91662ccd12132e2_Company, JobTitle = account.jobTitle }; csv.WriteRecord(item); csv.NextRecord(); } } csv.Flush(); csv.Dispose(); } }