private async Task CreateOnlyOnceAnonBuyerConfig(EnvironmentSeed seed, string token) { // validate AnonymousShoppingBuyerID or provide fallback if none is defined var allBuyers = await _oc.Buyers.ListAllAsync(accessToken : token); if (seed.AnonymousShoppingBuyerID != null) { if (!allBuyers.Select(b => b.ID).Contains(seed.AnonymousShoppingBuyerID)) { throw new Exception("The buyer defined by AnonymousShoppingBuyerID does not exist"); } } else { seed.AnonymousShoppingBuyerID = SeedConstants.DefaultBuyerID; } //create and assign initial buyer location await _buyerLocationCommand.Save(seed.AnonymousShoppingBuyerID, $"{seed.AnonymousShoppingBuyerID}-{SeedConstants.DefaultLocationID}", SeedConstants.DefaultBuyerLocation(), token, _oc); // create user var anonBuyerUser = await _oc.Users.SaveAsync(seed.AnonymousShoppingBuyerID, SeedConstants.AnonymousBuyerUser().ID, SeedConstants.AnonymousBuyerUser(), token); // save assignment between user and buyergroup (location) var assignment = new UserGroupAssignment() { UserGroupID = $"{seed.AnonymousShoppingBuyerID}-{SeedConstants.DefaultLocationID}", UserID = anonBuyerUser.ID }; await _oc.UserGroups.SaveUserAssignmentAsync(seed.AnonymousShoppingBuyerID, assignment, accessToken : token); }
private async Task CreateConfigureAnonBuyer(EnvironmentSeed seed, string token) { var anonBuyer = SeedConstants.AnonymousBuyerUser(); var defaultBuyer = SeedConstants.DefaultBuyer(); //create anonymous buyer user var createUser = _oc.Users.SaveAsync(seed.AnonymousShoppingBuyerID, anonBuyer.ID, anonBuyer, token); //create and assign initial buyer location var createBuyerLocation = _buyerLocationCommand.Save(seed.AnonymousShoppingBuyerID, $"{seed.AnonymousShoppingBuyerID}-{SeedConstants.DefaultLocationID}", SeedConstants.DefaultBuyerLocation(), token, true); var assignment = new UserGroupAssignment() { UserGroupID = $"{seed.AnonymousShoppingBuyerID}-{SeedConstants.DefaultLocationID}", UserID = anonBuyer.ID }; var saveAssignment = _oc.UserGroups.SaveUserAssignmentAsync(seed.AnonymousShoppingBuyerID, assignment, token); await Task.WhenAll(createUser, createBuyerLocation, saveAssignment); }
public async Task <HSBuyerLocation> Save(string buyerID, string buyerLocationID, [FromBody] HSBuyerLocation buyerLocation) { return(await _buyerLocationCommand.Save(buyerID, buyerLocationID, buyerLocation, UserContext.AccessToken)); }
public async Task <HSBuyerLocation> Save(string buyerID, string buyerLocationID, [FromBody] HSBuyerLocation buyerLocation) { return(await _buyerLocationCommand.Save(buyerID, buyerLocationID, buyerLocation)); }