private static Responsible SeedResponsible(PreservationContext dbContext, string plant)
        {
            var responsibleRepository = new ResponsibleRepository(dbContext);
            var responsible           = new Responsible(plant, KnownTestData.ResponsibleCode, KnownTestData.ResponsibleDescription);

            responsibleRepository.Add(responsible);
            dbContext.SaveChangesAsync().Wait();
            return(responsible);
        }
示例#2
0
        static void Main(string[] args)
        {
            var responsibleRepository = new ResponsibleRepository();
            var responsibleFounder    = new ResponsibleFounder(responsibleRepository);

            Console.Out.WriteLine("UpdateResponsible daemon started!");
            while (true)
            {
                foreach (var responsible in responsibleFounder.GetAllResponsibles())
                {
                    responsibleRepository.AddResponsible(responsible);
                }

                Thread.Sleep(TimeSpan.FromMinutes(10));
            }
        }
示例#3
0
        public void Setup()
        {
            var responsible = new Responsible(TestPlant, ResponsibleCode, "Desc");

            var responsibles = new List <Responsible> {
                responsible
            };

            var dbSetMock = responsibles.AsQueryable().BuildMockDbSet();

            ContextHelper
            .ContextMock
            .Setup(x => x.Responsibles)
            .Returns(dbSetMock.Object);

            _dut = new ResponsibleRepository(ContextHelper.ContextMock.Object);
        }
        static void Main(string[] args)
        {
            var responsibleRepository = new ResponsibleRepository();
            var bot = GetClient(secretManager.GetSecret("use_proxy") == "true");
            // todo(sivukhin, 19.05.2019): Add dependency injection container
            var cleanCityApi = new CleanCityApi(
                new EmailRepository(),
                new ResponsibleFounder(responsibleRepository),
                new ReportRepository(),
                responsibleRepository,
                new UserRepository(),
                new MessageExtender());
            var client = new CleanCityTelegramBot(bot, cleanCityApi);

            client.Start();
            Thread.CurrentThread.Join();
        }
示例#5
0
        static void Main(string[] args)
        {
            var secretManager         = new SecretManager();
            var emailSenderRequisites = new EmailSenderRequisites
            {
                ServerLogin    = "******",
                ServerEmail    = "*****@*****.**",
                ServerPassword = secretManager.GetSecret("password"),
                SmtpHost       = "smtp.gmail.com",
                SmtpPort       = 587,
            };
            var responsibleRepository = new ResponsibleRepository();
            var emailRepository       = new EmailRepository();
            var emailSender           = new EmailSender(emailSenderRequisites);

            Console.Out.WriteLine("Email sender started!");
            while (true)
            {
                var unsentEmails = emailRepository.ReadUnsentEmails().Shuffle();
                Console.Out.WriteLine($"Found {unsentEmails.Length} unsent emails");
                foreach (var emailId in unsentEmails)
                {
                    try
                    {
                        var email    = emailRepository.ReadEmail(emailId);
                        var doublers = responsibleRepository.GetDoublers(email.ResponsibleId);
                        var myEmail  = "*****@*****.**";
                        // todo(sivukhin, 19.05.2019): Use email.RecipientEmail instead of myEmail
                        foreach (var targetEmail in new[] { myEmail }.Concat(doublers.Select(x => x.Email)))
                        {
                            Console.Out.WriteLine($"Send message to recipient: {targetEmail}");
                            email.RecipientEmail = targetEmail;
                            emailSender.SendEmail(email);
                            emailRepository.SetEmailProcessed(emailId);
                        }
                    }
                    catch (Exception e)
                    {
                        Console.Error.WriteLine(e);
                    }
                }

                Thread.Sleep(TimeSpan.FromSeconds(1));
            }
        }