Пример #1
0
        /// <summary>
        /// Автоматическая задача сбора оборудования из PrintServer
        ///  Задача поиска оборудования из PrintServer и добавление их в БД
        /// </summary>
        public async void FindAllPrintServer(object sender, EventArgs e)
        {
            await Task.Factory.StartNew(() =>
            {
                try
                {
                    var selectEvent     = new Select();
                    var eventParameters = selectEvent.SelectEvent(5);
                    DateTime date       = DateTime.Now;
                    if (date.Hour == eventParameters.HoursX && date.Minute == eventParameters.MinutesX)
                    {
                        try
                        {
                            var parameter = eventParameters.ParametersEvent.Split(';');
                            var processFindPrintServer = new ProcessSynchronizationPrintServer(parameter[0].Trim(), parameter[1].Trim());
                            var result = processFindPrintServer.SynchronizationPrintServerStart();
                            if (result != null)
                            {
                                var resultFilter = result.Where(r => r.StatusFindPrintServerAndSynchronization == 1).ToList();
                                var selectModel  = new Select();
                                var addObjectDb  = new EfDatabase.Inventory.BaseLogic.AddObjectDb.AddObjectDb();
                                var idUser       = selectModel.SelectIdUser(parameter[2].Trim());
                                Inventarka.Inventarka inventory = new Inventarka.Inventarka();
                                foreach (var synchronizationPrintServer in resultFilter)
                                {
                                    var allSerialNumberModel = selectModel.TypeModelAndIdSelect(synchronizationPrintServer.SerNumberPrintServer);
                                    if ((synchronizationPrintServer.IsTonerLow &&
                                         synchronizationPrintServer.HasToner &&
                                         !synchronizationPrintServer.IsSupportApplication && allSerialNumberModel != null)
                                        ^
                                        (!synchronizationPrintServer.IsTonerLow &&
                                         !synchronizationPrintServer.HasToner &&
                                         !synchronizationPrintServer.IsSupportApplication && allSerialNumberModel != null))
                                    {
                                        try
                                        {
                                            //Создать заявку
                                            var modelSto = new ModelParametrSupport()
                                            {
                                                Discription = $"Добрый день! Требуется замена {allSerialNumberModel.TypeToner} на {allSerialNumberModel.Item} {allSerialNumberModel.NameModel} в каб. {allSerialNumberModel.NumberKabinet} сер.№ {allSerialNumberModel.SerNum}, сервис.№ {allSerialNumberModel.ServiceNum}, инв.№ {allSerialNumberModel.InventarNum} . Примечание c PrintServer к описанию : {synchronizationPrintServer.DescriptionPrinter}",
                                                IdUser      = idUser,
                                                Login       = parameter[2].Trim(),
                                                Password    = parameter[3].Trim(),
                                                IdTemplate  = (allSerialNumberModel.Item == "МФУ") ? 6 : 5
                                            };
                                            switch (allSerialNumberModel.Item)
                                            {
                                            case "МФУ":
                                                modelSto.IdMfu = allSerialNumberModel.Id;
                                                break;

                                            case "Принтер":
                                                modelSto.IdPrinter = allSerialNumberModel.Id;
                                                break;
                                            }
                                            var resultStep3 = inventory.ServiceSupport(modelSupport: modelSto);
                                            synchronizationPrintServer.IsSupportApplication         = true;
                                            synchronizationPrintServer.DateCreateSupportApplication = DateTime.Now;
                                            if (resultStep3.Result.Step3ResponseSupport != null)
                                            {
                                                Loggers.Log4NetLogger.Info(new Exception($"Создали автоматически заявку на СТП! Для оборудования {allSerialNumberModel.NameModel} сер.№ {allSerialNumberModel.SerNum}"));
                                            }
                                        }
                                        catch (Exception exception)
                                        {
                                            Loggers.Log4NetLogger.Error(exception);
                                        }
                                    }
                                    if (!synchronizationPrintServer.IsTonerLow && synchronizationPrintServer.HasToner)
                                    {
                                        //Обнулить результат
                                        synchronizationPrintServer.IsSupportApplication         = false;
                                        synchronizationPrintServer.DateCreateSupportApplication = null;
                                    }
                                    addObjectDb.UpdateSynchronizationPrintServer(synchronizationPrintServer);
                                }
                                selectModel.Dispose();
                                addObjectDb.Dispose();
                            }
                        }
                        catch (Exception exception)
                        {
                            Loggers.Log4NetLogger.Error(exception);
                        }
                    }
                    selectEvent.Dispose();
                }
                catch (Exception ex)
                {
                    Loggers.Log4NetLogger.Error(ex);
                }
            });
        }
Пример #2
0
 public void TestBool()
 {
     try
     {
         // var selectEvent = new Select();
         var eventParameters = "	\\\\i7751-sys030; 10.177.172.; 7751-00-099; Qwerty12345!";
         //DateTime date = DateTime.Now;
         //if (date.Hour == eventParameters.HoursX && date.Minute == eventParameters.MinutesX)
         //{
         try
         {
             Inventarka inventory = new Inventarka();
             var        parameter = eventParameters.Split(';');
             var        processFindPrintServer = new ProcessSynchronizationPrintServer(parameter[0].Trim(), parameter[1].Trim());
             var        result = processFindPrintServer.SynchronizationPrintServerStart();
             if (result != null)
             {
                 var resultFilter = result.Where(r => r.StatusFindPrintServerAndSynchronization == 1).ToList();
                 var selectModel  = new Select();
                 var addObjectDb  = new EfDatabase.Inventory.BaseLogic.AddObjectDb.AddObjectDb();
                 var idUser       = selectModel.SelectIdUser(parameter[2].Trim());
                 var typeModel    = new[] { 2, 5, 7, 8, 27 };      //Типы моделей больших аппаратов
                 foreach (var synchronizationPrintServer in resultFilter)
                 {
                     try
                     {
                         var allSerialNumberModel = selectModel.TypeModelAndIdSelect(synchronizationPrintServer.SerNumberPrintServer);
                         if ((synchronizationPrintServer.IsTonerLow &&
                              synchronizationPrintServer.HasToner &&
                              !synchronizationPrintServer.IsSupportApplication && allSerialNumberModel != null)
                             ^
                             (!synchronizationPrintServer.IsTonerLow &&
                              !synchronizationPrintServer.HasToner &&
                              !synchronizationPrintServer.IsSupportApplication && allSerialNumberModel != null))
                         {
                             //Создать заявку
                             var modelSto = new ModelParametrSupport()
                             {
                                 Discription = $"Добрый день! Требуется замена ТОНЕРА на {allSerialNumberModel.Item} {allSerialNumberModel.NameModel} в каб. {allSerialNumberModel.NumberKabinet} сер.№ {allSerialNumberModel.SerNum} , сервисный.№ {allSerialNumberModel.ServiceNum} ,инв.№ {allSerialNumberModel.InventarNum}",
                                 IdMfu       = allSerialNumberModel.Id,
                                 IdUser      = idUser,
                                 Login       = parameter[2].Trim(),
                                 Password    = parameter[3].Trim(),
                                 IdTemplate  = (allSerialNumberModel.Item == "МФУ") ? 6 : 5
                             };
                             var resultStep3 = inventory.ServiceSupport(modelSto);
                             synchronizationPrintServer.IsSupportApplication         = true;
                             synchronizationPrintServer.DateCreateSupportApplication = DateTime.Now;
                             if (resultStep3.Result.Step3ResponseSupport != null)
                             {
                                 //  Loggers.Log4NetLogger.Info(new Exception($"Создали автоматически заявку на СТП! Для оборудования {allSerialNumberModel.NameModel} сер.№ {allSerialNumberModel.SerNum}"));
                             }
                         }
                         if (!synchronizationPrintServer.IsTonerLow && synchronizationPrintServer.HasToner)
                         {
                             //Обнулить результат
                             synchronizationPrintServer.IsSupportApplication         = false;
                             synchronizationPrintServer.DateCreateSupportApplication = null;
                         }
                         addObjectDb.UpdateSynchronizationPrintServer(synchronizationPrintServer);
                     }
                     catch (Exception exception)
                     {
                         //  Loggers.Log4NetLogger.Error(exception);
                     }
                 }
                 selectModel.Dispose();
                 addObjectDb.Dispose();
             }
         }
         catch (Exception exception)
         {
             // Loggers.Log4NetLogger.Error(exception);
         }
         // }
         //  selectEvent.Dispose();
     }
     catch (Exception ex)
     {
         // Loggers.Log4NetLogger.Error(ex);
     }
 }