Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }