public async Task <UserDto> InsertUserAsync(UserDto userDto) { var newPassword = CreatePassword.CreateNewPassword(); await _context.AddAsync(new User() { FirstName = userDto.FirstName, LastName = userDto.LastName, Email = userDto.Email, RightId = userDto.RightId, PictureUrl = userDto.PictureUrl, Active = userDto.Active, CreatedAt = DateTime.Now, Password = CreatePassword.CreateHash(newPassword), Address = userDto.Address, UserFlag = 1 }); var checkInsert = await Complete(); if (!checkInsert) { return(null); } _logger.InsertDatabaseLog(new DataBaseLog() { Type = "Neuer User", Message = $"Neuer User {userDto.FirstName} {userDto.LastName} wurde hinzugefügt", CreatedAt = DateTime.Now }); await _serviceRepository.SendNewUserMailAsync(userDto, newPassword); return(userDto); }
public async Task <StatisticDto> InsertStatisticAsync(StatisticDto statisticDto) { var user = await _context.Users .Select(u => new { u.FirstName, u.LastName, UserId = u.Id }) .AsNoTracking() .FirstOrDefaultAsync(u => u.UserId == statisticDto.UserId); if (user == null) { return(null); } var xml = new XmlDocument(); xml.Load(@"Helper\Statistic.xml"); var nodeFirstName = xml.SelectSingleNode("Statistik/Vorname"); var nodeLastName = xml.SelectSingleNode("Statistik/Nachname"); var nodeYear = xml.SelectSingleNode("Statistik/Jahr"); if (nodeFirstName == null || nodeLastName == null || nodeYear == null) { _logger.InsertDatabaseLog(new DataBaseLog { Type = "XML Error StatisticRepository", Message = "Fehler beim Zugriff auf XML Node" }); return(null); } nodeFirstName.InnerText = user.FirstName; nodeLastName.InnerText = user.LastName; nodeYear.InnerText = DateTime.Now.Year.ToString(); await _context.Statistics.AddAsync(new Statistic { LicenceId = statisticDto.LicenceId, UserId = statisticDto.UserId, Year = DateTime.Now.Year, StatisticXml = xml.OuterXml }); var checkInsert = await Complete(); return(checkInsert ? statisticDto : null); }
private async Task <bool> SendAsync(MimeMessage mailMessage) { using var client = new SmtpClient(); try { await client.ConnectAsync(_emailConfiguration.SmtpServer, _emailConfiguration.Port, true); client.AuthenticationMechanisms.Remove("XOAUTH2"); await client.AuthenticateAsync(_emailConfiguration.UserName, _emailConfiguration.Password); await client.SendAsync(mailMessage); return(true); } catch (Exception ex) { _logger.InsertDatabaseLog(new DataBaseLog() { Type = "Email Send Fehler", Message = ex.Message, CreatedAt = DateTime.Now }); return(false); } finally { await client.DisconnectAsync(true); client.Dispose(); } }
public async Task <bool> Complete() { try { await _context.SaveChangesAsync(); return(true); } catch (Exception e) { _logger.InsertDatabaseLog(new DataBaseLog() { Type = "Error FishingClubRepository", Message = e.InnerException?.Message, CreatedAt = DateTime.Now }); return(false); } }
public async Task <LicenceDto> InsertLicenceAsync(LicenceDto licenceDto) { var newLicence = new Licence() { UserId = licenceDto.UserId, CreatorId = licenceDto.CreatorId, LicenseName = licenceDto.LicenceName, StartDate = new DateTime(licenceDto.StartDate.Year, licenceDto.StartDate.Month, licenceDto.StartDate.Day, 0, 0, 0), EndDate = new DateTime(licenceDto.EndDate.Year, licenceDto.EndDate.Month, licenceDto.EndDate.Day, 23, 59, 59), Paid = licenceDto.Paid, Year = licenceDto.Year }; var user = await _context.Users .Select(u => new { u.FirstName, u.LastName, UserId = u.Id }) .AsNoTracking() .FirstOrDefaultAsync(u => u.UserId == licenceDto.UserId); var xml = new XmlDocument(); xml.LoadXml(@"<Statistik> <Fischerverein>Fischerverein Muster</Fischerverein> <Vorname /> <Nachname /> <Jahr /> <Monate/> </Statistik>"); var nodeFirstName = xml.SelectSingleNode("Statistik/Vorname"); var nodeLastName = xml.SelectSingleNode("Statistik/Nachname"); var nodeYear = xml.SelectSingleNode("Statistik/Jahr"); if (nodeFirstName == null || nodeLastName == null || nodeYear == null) { _logger.InsertDatabaseLog(new DataBaseLog { Type = "XML Error StatisticRepository", Message = "Fehler beim Zugriff auf XML Node" }); return(null); } nodeFirstName.InnerText = user.FirstName; nodeLastName.InnerText = user.LastName; nodeYear.InnerText = licenceDto.Year.ToString(); var newStatistic = new Statistic() { Licence = newLicence, UserId = licenceDto.UserId, Year = licenceDto.StartDate.Year, StatisticXml = xml.OuterXml }; await _context.Statistics.AddAsync(newStatistic); var checkInsert = await Complete(); if (!checkInsert) { return(null); } _logger.InsertDatabaseLog(new DataBaseLog() { Type = "Neue Lizenz", Message = $"Neue Lizenz {licenceDto.LicenceName} wurde hinzugefügt durch {licenceDto.CreatorId}", CreatedAt = DateTime.Now }); return(licenceDto); }