diff --git a/server/AyaNova/Controllers/UserController.cs b/server/AyaNova/Controllers/UserController.cs index 6b975219..f2d3f9e6 100644 --- a/server/AyaNova/Controllers/UserController.cs +++ b/server/AyaNova/Controllers/UserController.cs @@ -307,7 +307,7 @@ namespace AyaNova.Api.Controllers if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.Customer)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var ret = await ct.User.Include(o => o.UserOptions).Where(z => z.UserType == UserType.Customer || z.UserType == UserType.HeadOffice).Select(z => new + var ret = await ct.User.Include(c => c.Customer).Include(h => h.HeadOffice).Include(o => o.UserOptions).Where(z => z.UserType == UserType.Customer || z.UserType == UserType.HeadOffice).Select(z => new { Id = z.Id, Active = z.Active, @@ -317,7 +317,8 @@ namespace AyaNova.Api.Controllers EmailAddress = z.UserOptions.EmailAddress, Phone1 = z.UserOptions.Phone1, Phone2 = z.UserOptions.Phone2, - Phone3 = z.UserOptions.Phone3 + Phone3 = z.UserOptions.Phone3, + Organization = z.HeadOffice.Name ?? z.Customer.Name }).ToListAsync(); return Ok(ApiOkResponse.Response(ret)); diff --git a/server/AyaNova/util/Seeder.cs b/server/AyaNova/util/Seeder.cs index 45ca823c..19f92827 100644 --- a/server/AyaNova/util/Seeder.cs +++ b/server/AyaNova/util/Seeder.cs @@ -273,11 +273,6 @@ namespace AyaNova.Util //1 accountant / bookkeeper await GenSeedUserAsync(log, 1, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NotService); - //10 full on customer users - await GenSeedUserAsync(log, 10, AuthorizationRoles.CustomerLimited, UserType.Customer); - - //10 limited customer users - await GenSeedUserAsync(log, 10, AuthorizationRoles.CustomerLimited, UserType.Customer); //WIDGETS await GenSeedWidgetAsync(log, 500); @@ -347,11 +342,7 @@ namespace AyaNova.Util //5 accountant / bookkeeper await GenSeedUserAsync(log, 5, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NotService); - //100 full on customer users - await GenSeedUserAsync(log, 20, AuthorizationRoles.CustomerFull, UserType.Customer); - //100 limited customer users - await GenSeedUserAsync(log, 20, AuthorizationRoles.CustomerLimited, UserType.Customer); //WIDGETS @@ -422,11 +413,7 @@ namespace AyaNova.Util //accountant / bookkeeper await GenSeedUserAsync(log, 20, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NotService); - //full on customer users - await GenSeedUserAsync(log, 200, AuthorizationRoles.CustomerFull, UserType.Customer); - //limited customer users - await GenSeedUserAsync(log, 50, AuthorizationRoles.CustomerLimited, UserType.Customer); //WIDGETS @@ -541,9 +528,7 @@ namespace AyaNova.Util await GenSeedUserAsync(log, 1, AuthorizationRoles.SubContractorLimited, UserType.ServiceContractor, "SubContractorLimited", "SubContractorLimited", KnownUserTags); await GenSeedUserAsync(log, 1, AuthorizationRoles.SubContractorFull, UserType.ServiceContractor, "SubContractorFull", "SubContractorFull", KnownUserTags); - await GenSeedUserAsync(log, 1, AuthorizationRoles.CustomerLimited, UserType.Customer, "CustomerLimited", "CustomerLimited", KnownUserTags); - await GenSeedUserAsync(log, 1, AuthorizationRoles.CustomerFull, UserType.Customer, "CustomerFull", "CustomerFull", KnownUserTags); - await GenSeedUserAsync(log, 1, AuthorizationRoles.CustomerFull, UserType.HeadOffice, "HeadOffice", "HeadOffice", KnownUserTags); + await GenSeedUserAsync(log, 1, AuthorizationRoles.OpsAdminLimited, UserType.NotService, "OpsAdminLimited", "OpsAdminLimited", KnownUserTags); await GenSeedUserAsync(log, 1, AuthorizationRoles.OpsAdminFull, UserType.NotService, "OpsAdminFull", "OpsAdminFull", KnownUserTags); @@ -588,7 +573,7 @@ namespace AyaNova.Util public async Task GenSeedUserAsync(ILogger log, int count, AuthorizationRoles roles, UserType userType, - bool active = true, string login = null, string password = null, long translationId = 0, List tags = null) + bool active = true, string login = null, string password = null, long translationId = 0, List tags = null, long? vendorId = null, long? customerId = null, long? headofficeId = null) { if (translationId == 0) translationId = ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID; @@ -615,7 +600,6 @@ namespace AyaNova.Util else u.Password = u.Login; u.Roles = roles; - u.UserType = userType; u.EmployeeNumber = "A-" + (454 + SeededUserCount + x).ToString() + "-Y"; u.Notes = Fake.Lorem.Sentence(null, 5);//Fake.Lorem.Paragraph(2); @@ -625,6 +609,14 @@ namespace AyaNova.Util u.Tags = RandomTags(); else u.Tags = tags; + + //relations + u.VendorId = vendorId; + u.CustomerId = customerId; + u.HeadOfficeId = headofficeId; + + + //Children and relations u.UserOptions = new UserOptions(); u.UserOptions.TranslationId = translationId; @@ -746,12 +738,17 @@ namespace AyaNova.Util { CustomerBiz biz = CustomerBiz.GetBiz(ct); var NewObject = await biz.CreateAsync(o); + if (NewObject == null) { var err = $"Seeder::GenSeedCustomer error creating customer {o.Name}\r\n{biz.GetErrorsAsString()}"; log.LogError(err); throw new System.Exception(err); } + //Customer contacts + await GenSeedUserAsync(log, 2, AuthorizationRoles.CustomerFull, UserType.Customer, true, null, null, 0, null, null, NewObject.Id, null); + + } } }