public override async Task <ApiResult <PrintingHouseSelectDto> > Create(PrintingHouseDto dto, CancellationToken cancellationToken) { dto.UserDto.PhoneNumber = dto.UserDto.UserName; var user = dto.UserDto.ToEntity(Mapper); var addUser = await _userManager.CreateAsync(user, dto.UserDto.Password); user = await _userManager.FindByNameAsync(user.UserName); var addToRole = await _userManager.AddToRoleAsync(user, PredefinedRoles.PrintingHouse.ToString()); //var userSelectDto = await _userRepository.TableNoTracking.ProjectTo<UserSelectDto>(Mapper.ConfigurationProvider) // .SingleOrDefaultAsync(p => p.Id.Equals(user.Id), cancellationToken); var printingHouseWallet = new PrintingHouseWallet { Iban = dto.Iban, Cash = 0 }; await _phWalletRepository.AddAsync(printingHouseWallet, cancellationToken); var printingHouse = dto.ToEntity(Mapper); printingHouse.PrintingHouseWalletId = printingHouseWallet.Id; printingHouse.User = user; printingHouse.Wallet = printingHouseWallet; await Repository.AddAsync(printingHouse, cancellationToken); var resultDto = await Repository.TableNoTracking .Include(ph => ph.User) .Include(ph => ph.Wallet) .ProjectTo <PrintingHouseSelectDto>(Mapper.ConfigurationProvider) .SingleOrDefaultAsync(p => p.Id.Equals(printingHouse.Id), cancellationToken); //resultDto.UserSelectDto = userSelectDto; //return resultDto; var jwt = await _jwtService.GenerateAsync(user); var token = new TokenSelectRequest { access_token = jwt.access_token, expires_in = jwt.expires_in }; resultDto.TokenSelectRequest = token; return(resultDto); }
public async Task InitializeUsers() { if (!_userManager.Users.AsNoTracking().Any(p => p.UserName == "admin")) { var user = new User { UserName = "******", Email = "*****@*****.**", IsActive = true }; var addUser = _userManager.CreateAsync(user, "123123").GetAwaiter().GetResult(); if (addUser.Succeeded) { User admin = _userManager.FindByNameAsync(user.UserName).GetAwaiter().GetResult(); var addToRole = _userManager.AddToRoleAsync(admin, PredefinedRoles.Admin.ToString()).GetAwaiter().GetResult(); } } if (!_userManager.Users.AsNoTracking().Any(p => p.UserName == "1111")) { var user = new User { UserName = "******", Email = "*****@*****.**", IsActive = true }; var addUser = _userManager.CreateAsync(user, "123123").GetAwaiter().GetResult(); if (addUser.Succeeded) { User admin = _userManager.FindByNameAsync(user.UserName).GetAwaiter().GetResult(); var addToRole = _userManager.AddToRoleAsync(admin, PredefinedRoles.PrintingHouse.ToString()).GetAwaiter().GetResult(); } var printingHouseWallet = new PrintingHouseWallet { Iban = "111111111111", Cash = 0 }; _phWalletRepository.Add(printingHouseWallet); var printingHouse = new PrintingHouse { User = user, Name = "کارخانه نقش الماس", UserId = user.Id, Wallet = printingHouseWallet, PrintingHouseWalletId = printingHouseWallet.Id, Star = 4.3 }; _printingHouseRepository.Add(printingHouse); var serviceMappings = new List <ServiceMapping> { new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 1 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 2 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 3 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 5 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 6 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 7 }, }; _smRepository.AddRange(serviceMappings); } if (!_userManager.Users.AsNoTracking().Any(p => p.UserName == "2222")) { var user = new User { UserName = "******", Email = "*****@*****.**", IsActive = true }; var addUser = _userManager.CreateAsync(user, "123123").GetAwaiter().GetResult(); if (addUser.Succeeded) { User admin = _userManager.FindByNameAsync(user.UserName).GetAwaiter().GetResult(); var addToRole = _userManager.AddToRoleAsync(admin, PredefinedRoles.PrintingHouse.ToString()).GetAwaiter().GetResult(); } var printingHouseWallet = new PrintingHouseWallet { Iban = "222222222222", Cash = 0 }; _phWalletRepository.Add(printingHouseWallet); var printingHouse = new PrintingHouse { User = user, Name = "کارخانه ابلک و پسران", UserId = user.Id, Wallet = printingHouseWallet, PrintingHouseWalletId = printingHouseWallet.Id, Star = 4.5 }; _printingHouseRepository.Add(printingHouse); var serviceMappings = new List <ServiceMapping> { new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 2 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 3 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 4 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 5 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 6 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 8 }, }; _smRepository.AddRange(serviceMappings); } if (!_userManager.Users.AsNoTracking().Any(p => p.UserName == "3333")) { var user = new User { UserName = "******", Email = "*****@*****.**", IsActive = true }; var addUser = _userManager.CreateAsync(user, "123123").GetAwaiter().GetResult(); if (addUser.Succeeded) { User admin = _userManager.FindByNameAsync(user.UserName).GetAwaiter().GetResult(); var addToRole = _userManager.AddToRoleAsync(admin, PredefinedRoles.PrintingHouse.ToString()).GetAwaiter().GetResult(); } var printingHouseWallet = new PrintingHouseWallet { Iban = "333333333333", Cash = 0 }; _phWalletRepository.Add(printingHouseWallet); var printingHouse = new PrintingHouse { User = user, Name = "کارخانه سید هاشم", UserId = user.Id, Wallet = printingHouseWallet, PrintingHouseWalletId = printingHouseWallet.Id, Star = 4.7 }; _printingHouseRepository.Add(printingHouse); var serviceMappings = new List <ServiceMapping> { new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 1 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 2 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 3 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 4 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 5 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 7 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 8 }, }; _smRepository.AddRange(serviceMappings); } if (!_userManager.Users.AsNoTracking().Any(p => p.UserName == "4444")) { var user = new User { UserName = "******", Email = "*****@*****.**", IsActive = true }; var addUser = _userManager.CreateAsync(user, "123123").GetAwaiter().GetResult(); if (addUser.Succeeded) { User admin = _userManager.FindByNameAsync(user.UserName).GetAwaiter().GetResult(); var addToRole = _userManager.AddToRoleAsync(admin, PredefinedRoles.PrintingHouse.ToString()).GetAwaiter().GetResult(); } var printingHouseWallet = new PrintingHouseWallet { Iban = "444444444444", Cash = 0 }; _phWalletRepository.Add(printingHouseWallet); var printingHouse = new PrintingHouse { User = user, Name = "کارخانه حاج عبدالله", UserId = user.Id, Wallet = printingHouseWallet, PrintingHouseWalletId = printingHouseWallet.Id, Star = 4.2 }; _printingHouseRepository.Add(printingHouse); var serviceMappings = new List <ServiceMapping> { new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 1 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 3 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 4 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 5 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 6 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 7 }, new ServiceMapping { PrintingHouseId = printingHouse.Id, CategoryId = 8 }, }; _smRepository.AddRange(serviceMappings); } }