public async Task Initial_Data_Should_Contain_Admin_User() { var result = await _userAppService.GetListAsync(new GetIdentityUsersInput()); result.TotalCount.ShouldBeGreaterThan(0); result.Items.ShouldContain(u => u.UserName == "admin"); }
public async Task <IUserData> FindByUserNameAsync(string userName, CancellationToken cancellationToken = default) { //TODO: Should return null if not found! //TODO: Search by UserName, not by a general filter! return((await _userAppService.GetListAsync(new GetIdentityUsersInput { Filter = userName })).Items.FirstOrDefault()?.ToUserInfo()); }
public async Task InitialDataShouldContainAdminUser() { //Act var result = await _userAppService.GetListAsync(new GetIdentityUsersInput()).ConfigureAwait(false); //Assert result.TotalCount.ShouldBeGreaterThan(0); result.Items.ShouldContain(u => u.UserName == "admin"); }
public async Task <PagedResultDto <IdentityUserDto> > ListAsync(GetUserListInput input) { var request = new GetIdentityUsersInput(); request.Filter = input.filter?.Trim(); request.MaxResultCount = input.PageSize; request.SkipCount = (input.pageIndex - 1) * input.PageSize; request.Sorting = " LastModificationTime desc"; return(await _identityUserAppService.GetListAsync(request)); }
public async Task GetListAsync() { //Act var result = await _userAppService.GetListAsync(new GetIdentityUsersInput()); //Assert result.TotalCount.ShouldBeGreaterThan(0); result.Items.Count.ShouldBeGreaterThan(0); }
private async Task TestIdentityService() { var output = await _userAppService.GetListAsync(new GetIdentityUsersInput()); Console.WriteLine("*** IdentityService ***"); Console.WriteLine("Total user count: " + output.TotalCount); foreach (var user in output.Items) { Console.WriteLine($"- UserName={user.UserName}, Email={user.Email}, Name={user.Name}, Surname={user.Surname}"); } }
public async Task <IActionResult> OnPostExportAsync() { var users = await _identityUserAppService.GetListAsync(new GetIdentityUsersInput() { MaxResultCount = 100 }); var memoryStream = new MemoryStream(); using (var workbook = new XLWorkbook()) { var worksheet = workbook.Worksheets.Add("Users Sheet"); worksheet.Column(1).Width = 30; worksheet.Column(2).Width = 30; worksheet.Column(3).Width = 30; var username = worksheet.Cell(1, 1); var email = worksheet.Cell(1, 2); var time = worksheet.Cell(1, 3); username.Value = "User name"; username.Style.Font.Bold = true; email.Value = "Email address"; email.Style.Font.Bold = true; time.Value = "Last Modification Time"; time.Style.Font.Bold = true; for (var i = 0; i < users.Items.Count; i++) { var user = users.Items[i]; worksheet.Cell(i + 2, 1).Value = user.UserName; worksheet.Cell(i + 2, 2).Value = user.Email; worksheet.Cell(i + 2, 3).Value = user.LastModificationTime; worksheet.Cell(i + 2, 3).DataType = XLDataType.DateTime; worksheet.Cell(i + 2, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; } workbook.SaveAs(memoryStream); } memoryStream.Position = 0; return(File(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")); }
public async Task RunAsync() { var profileDto = await _profileAppService.GetAsync(); Console.WriteLine($"UserName : {profileDto.UserName}"); Console.WriteLine($"Email : {profileDto.Email}"); Console.WriteLine($"Name : {profileDto.Name}"); Console.WriteLine($"Surname : {profileDto.Surname}"); Console.WriteLine(); var resultDto = await _identityUserAppService.GetListAsync(new GetIdentityUsersInput()); Console.WriteLine($"Total users: {resultDto.TotalCount}"); foreach (var identityUserDto in resultDto.Items) { Console.WriteLine($"- [{identityUserDto.Id}] {identityUserDto.Name}"); } }
public virtual Task <PagedResultDto <IdentityUserDto> > GetListAsync(GetIdentityUsersInput input) { return(_userAppService.GetListAsync(input)); }
public async Task <int> SendMailReleaseDocumentAsync(DocumentDto document) { string mailTemplate = GetMailTemplate("ReleaseDocument.html"); List <MailboxAddress> groupEmails = new List <MailboxAddress>() { new MailboxAddress("Nguyễn Công Hoàng", "*****@*****.**") }; string[] issusedToEntires = document.IssuedToEntire.Split(";"); List <string> issusedToEntireLst = new List <string>(); var departments = (await _departmentAppService.GetListAsync(new GetDepartmentsInput { MaxResultCount = 100, SkipCount = 0 })).Items; if (issusedToEntires != null && issusedToEntires.Any()) { foreach (string entire in issusedToEntires) { var departmentExist = departments.FirstOrDefault(g => g.Code == entire); if (departmentExist != null) { issusedToEntireLst.Add(departmentExist.Name); string email = departmentExist.EmailAddress; groupEmails.Add(new MailboxAddress(departmentExist.Name, email.Replace(";", ","))); } } } var users = (await _identityUserAppService.GetListAsync(new GetIdentityUsersInput { MaxResultCount = 1000, SkipCount = 0 })).Items; string drafterFullName = DefaultFullName; string auditorFullName = DefaultFullName; string approverFullName = DefaultFullName; if (users.Any()) { if (!document.Drafter.IsNullOrEmpty()) { drafterFullName = GetUserFullName(document.Drafter, users); } if (!document.Auditor.IsNullOrEmpty()) { auditorFullName = GetUserFullName(document.Auditor, users); } if (!document.Auditor.IsNullOrEmpty()) { approverFullName = GetUserFullName(document.Approver, users); } } if (!_currentUser.Email.IsNullOrEmpty() && _currentUser.UserName != "admin") { var createdEmail = new MailboxAddress(GetUserFullName(_currentUser.UserName, users), _currentUser.Email); groupEmails.Add(createdEmail); } var department = departments.FirstOrDefault(d => d.Code == document.DepartmentCode); if (!mailTemplate.IsNullOrEmpty()) { string effectiveDateString = string.Empty; if (document.EffectiveDate.HasValue) { effectiveDateString = $"{document.EffectiveDate.Value.ToString("dd/MM/yyyy", CultureInfo.CurrentCulture)}"; } string reviewDateString = string.Empty; if (document.ReviewDate.HasValue) { reviewDateString = $"{document.ReviewDate.Value.ToString("dd/MM/yyyy", CultureInfo.CurrentCulture)}"; } string linkFile = $"<a href=\"{_configuration["App:SelfUrl"]}/api/document-management/filemanager/viewfile?sourceDoc={document.FolderName}/{document.FileName}\">{document.FileName}</a>"; string host = await _smtpEmailSenderConfiguration.GetHostAsync(); using (SmtpClient smtpClient = new SmtpClient()) { smtpClient.CheckCertificateRevocation = false; smtpClient.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true; await smtpClient.ConnectAsync("gmail.com", 587, SecureSocketOptions.StartTls); await smtpClient.AuthenticateAsync("anonymous", "123456"); MimeMessage message = new MimeMessage(); message.From.Add(new MailboxAddress("Nguyễn Công Hoàng", "*****@*****.**")); message.To.AddRange(groupEmails); message.Subject = "P.ISO - Ban hành tài liệu mới"; string selfUrl = _configuration["App:SelfUrl"]; string template = string.Format(mailTemplate, $"P.ISO - Ban hành tài liệu mới;#{department?.Name} : {document.FileName}", "Ban hành tài liệu mới", document.Name, document.AppliedToEntire.Replace("\n", "<br>"), effectiveDateString, document.Description.Replace("\n", "<br>"), string.Join("; ", issusedToEntireLst), document.DocumentNumber, document.ReviewNumber, reviewDateString, drafterFullName, auditorFullName, approverFullName, linkFile, $"<a href=\"{selfUrl}/documentmanagement/documents/detail?code={document.Code}\">{selfUrl}/documentmanagement/documents/detail?code={document.Code}</a>", $"<a href=\"{selfUrl}/documentmanagement/documents/operationdata?code={document.DocumentType}\">{selfUrl}/documentmanagement/operationdata/list?code={document.DocumentType}</a>" ); message.Body = new TextPart("html") { Text = template }; await smtpClient.SendAsync(message); } } return(1); }
public virtual async Task <PagedResult <IdentityUserDto> > GetListAsync(GetIdentityUsersInput input) { var result = await _userAppService.GetListAsync(input); return(new PagedResult <IdentityUserDto>(result.TotalCount, result.Items)); }