Exemplo n.º 1
0
        private static void Main()
        {
            var db = new EmployeeDB();

            // Add some employees
            db.AddEmployee(new Employee("Anne", 3000));
            db.AddEmployee(new Employee("Berit", 2000));
            db.AddEmployee(new Employee("Christel", 1000));

            var reportGenerator = new ReportGenerator(db, new ReportFormatSalaryFirst(), new ReportGetEmployees(db));

            reportGenerator.CompileReport();
        }
Exemplo n.º 2
0
        private static void Main()
        {
            var db = new EmployeeDB();

            // Add some employees
            db.AddEmployee(new Employee("Anne", 3000, 18));
            db.AddEmployee(new Employee("Berit", 2000, 20));
            db.AddEmployee(new Employee("Christel", 1000, 45));

            Console.WriteLine("");
            Console.WriteLine("");
            ReportGenerator.CompileReport(new EmployeeHandler(db), new ConsoleOutputter(), new AgeFirstFormatter());
        }
Exemplo n.º 3
0
        private static void Main()
        {
            var db = new EmployeeDB();

            // Add some employees
            db.AddEmployee(new Employee("Anne", 3000));
            db.AddEmployee(new Employee("Berit", 2000));
            db.AddEmployee(new Employee("Christel", 1000));

            var reportGenerator = new ReportGenerator(db, new ReportFormatSalaryFirst(), new ReportGetEmployees(db));

            reportGenerator.CompileReport();
        }
Exemplo n.º 4
0
 private static void TryMakeSavedSO()
 {
     try
     {
         var info = Newtonsoft.Json.JsonConvert.DeserializeObject <CompanyInfo>(System.IO.File.ReadAllText("savedSO.txt"));
         ReportGenerator.Generate(info, new Order()
         {
             CompanyINNOGRN = "test", CustomerEmail = "test", TimeStamp = DateTime.Now
         });
     }
     catch
     {
     }
 }
Exemplo n.º 5
0
        private static void Main()
        {
            var db = new EmployeeDB();

            // Add some employees
            db.AddEmployee(new Employee("Anne", 3000));
            db.AddEmployee(new Employee("Berit", 2000));
            db.AddEmployee(new Employee("Christel", 1000));

            var reportGenerator = new ReportGenerator(db);

            // Create a default (name-first) report
            reportGenerator.CompileReport();

            Console.WriteLine("");
            Console.WriteLine("");

            // Create a salary-first report
            reportGenerator.SetOutputFormat(ReportOutputFormatType.SalaryFirst);
            reportGenerator.CompileReport();
        }
Exemplo n.º 6
0
        private static void Main()
        {
            var db = new EmployeeDB();

            // Add some employees
            db.AddEmployee(new Employee("Anne", 3000));
            db.AddEmployee(new Employee("Berit", 2000));
            db.AddEmployee(new Employee("Christel", 1000));

            var reportGenerator = new ReportGenerator(db);

            // Create a default (name-first) report
            reportGenerator.GenerateReport();

            Console.WriteLine("");
            Console.WriteLine("");

            // Create a salary-first report
            reportGenerator.SetOutputFormat(ReportOutputFormatType.SalaryFirst);
            reportGenerator.GenerateReport();
        }
Exemplo n.º 7
0
        private void ProcessOrder(KonturWorker konturW, Order order)
        {
            try
            {
                Message("Обработка " + order.CompanyINNOGRN + " " + order.CustomerEmail);

                var info = konturW.Process(order);

                var file = ReportGenerator.Generate(info, order);

                SaveProcessedOrder(order);
                Message("Успешно обработан " + order.CompanyINNOGRN + " " + order.CustomerEmail);
#if DEBUG
                SaveSO(info);
#endif
            }
            catch (Exception ex)
            {
                ErrorLog(ex);
                Message("Ошибка при обработке заказа " + order.CompanyINNOGRN + " " + order.CustomerEmail + " " + ex.Message);
            }
        }
Exemplo n.º 8
0
        private static void Main()
        {
            var db = new EmployeeDB();

            // Add some employees
            db.AddEmployee(new Employee("Anne", 3000));
            db.AddEmployee(new Employee("Berit", 2000));
            db.AddEmployee(new Employee("Christel", 1000));

            var reportGenerator = new ReportGenerator(db);

            // Create a default (name-first) report
            IPrinter nameprinter = new NameFirst();

            reportGenerator.CompileReport(nameprinter);

            Console.WriteLine("");
            Console.WriteLine("");

            // Create a salary-first report
            IPrinter salprinter = new SalaryFirst();

            reportGenerator.CompileReport(salprinter);
        }
Exemplo n.º 9
0
        private void StartStopButton_Click(object sender, EventArgs e)
        {
            if (!IsWorking)
            {
                StartStopButton.Text = "Stop";
                SettingsBox.Enabled  = false;

                SaveConfig();
                KonturWorker konturW = new KonturWorker();
                konturW.Cookie = CookieTextBox.Text;

                Message(string.Format("Доступно {0} прокси", Settings.ProxyList.Count));

                timer = new System.Threading.Timer(new TimerCallback((obj) =>
                {
                    if (IsWorking)
                    {
                        return;
                    }

                    IsWorking = true;
                    try
                    {
                        Message("Начало проверки заказов");
                        var orders          = OrdersProvider.GetOrders();
                        var processedOrders = GetProcessedOrders();
                        if (processedOrders.Count > 0)
                        {
                            orders = orders.Except(processedOrders).ToList();
                        }
                        if (orders.Count == 0)
                        {
                            Message("Новых заказов не получено");
                            IsWorking = false;
                            return;
                        }


                        Message("Получено заказов " + orders.Count);

                        foreach (var order in orders)
                        {
                            try
                            {
                                Message("Обработка " + order.CompanyINNOGRN + " " + order.CustomerEmail);

                                if (!System.Text.RegularExpressions.Regex.IsMatch(order.CustomerEmail, @"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"))
                                {
                                    throw new Exception("Неправильный формат email");
                                }

                                var info = konturW.Process(order);

                                var file = ReportGenerator.Generate(info, order);
#if DEBUG
                                string realEmail    = order.CustomerEmail;
                                order.CustomerEmail = "*****@*****.**";
#endif
                                string body = string.Format(
                                    "Добрый день!\nБлагодарим Вас за использование ресурса bezrisk.ru \nВ прикрепленном ниже файле содержится отчет о проверяемой Вами компании. \nЕсли для просмотра, Вы используете Microsoft Word, рекомендуем убедится, что документ отображается в режиме 'разметка страницы'(настройку режима можно осуществить в правом нижнем углу страницы). \nПо возникшим вопросам, жалобам и предложениям обращайтесь ответным письмом.\nТак же у Вас теперь есть возможность экономить при работе с нами.Обратите внимание на наше специальное предложение: При единовременном заказе 10 отчетов и более, действует скидка - 50 %.Что бы воспользоваться данным предложением и получить скидку, пишите ответным письмом\n\n___________________\nС уважением,\nАдминистрация ресурса bezrisk.ru");
                                EmailSender.SendEmail(order.CustomerEmail, "Отчет по компании ИНН " + info.INN, body, file);
#if DEBUG
                                order.CustomerEmail = realEmail;
#endif
                                SaveProcessedOrder(order);
                                Message("Успешно обработан " + order.CompanyINNOGRN + " " + order.CustomerEmail);
                                Sucess.Add(order);
                            }
                            catch (Exception ex)
                            {
                                ErrorLog(ex);
                                Message("Ошибка при обработке заказа " + order.CompanyINNOGRN + " " + order.CustomerEmail + " " + ex.Message);
                                Fail.Add(order);
                            }
                            finally
                            {
                                RefreshStat();
                            }
                        }
                        IsWorking = false;
                    }
                    catch (Exception ex)
                    {
                        IsWorking = false;
                        Message(ex.Message);
                    }
                }), null, 500, (int)IntervalNumericUpDown.Value * 60000);
            }
            else
            {
                timer.Dispose();
                StartStopButton.Text = "Start";
                IsWorking            = false;
                SettingsBox.Enabled  = true;
            }
        }