Ejemplo n.º 1
0
        private void btnSelecionarUpdateFile_Click(object sender, EventArgs e)
        {
            var op = openFilePkg.ShowDialog();

            if (op == DialogResult.OK)
            {
                string pkgFile = openFilePkg.FileName;
                txtUpdateFile.Text = pkgFile;

                try
                {
                    var bytesFile = FileManagerIts.GetBytesFromFile(openFilePkg.FileName);
                    this._pacote = SerializeIts.DeserializeObject <Package>(bytesFile);
                    loadPackage(this._pacote);
                }
                catch (Exception ex)
                {
                    string msg = "O pacote de atualização informado é inválido!"
                                 + "\n\nContate o administrador para aplicar atualização.";

                    XMessageIts.ExceptionMessageDetails(ex, msg, "Atenção");

                    LoggerUtilIts.GenerateLogs(ex, msg);
                }
            }
        }
Ejemplo n.º 2
0
        public static void ImportReportFromFiles(params string[] filesReports)
        {
            using (var ctx = new ReportContext())
            {
                try
                {
                    Dictionary <string, bool> importados = new Dictionary <string, bool>();

                    foreach (var file in filesReports)
                    {
                        var bytesFile        = FileManagerIts.GetBytesFromFile(file);
                        var rptDeserializado = SerializeIts.DeserializeObject <ReportImage>(bytesFile);

                        var rptCreateUpdate = ctx.ReportImageDao.Where(r =>
                                                                       r.ReportName == rptDeserializado.ReportName)
                                              .FirstOrDefault();

                        //relatorio ja existe
                        if (rptCreateUpdate != null)
                        {
                            var msg     = "O relatório selecionado já existe, deseja atualiza-lo?";
                            var confirm = XMessageIts.Confirmacao(msg);
                            if (confirm == DialogResult.Yes)
                            {
                                rptCreateUpdate.Update(rptDeserializado);

                                var traUpd = ctx.ReportImageDao.Update(rptCreateUpdate);
                                if (traUpd)
                                {
                                    XMessageIts.Mensagem("Relatório atualizado com sucesso!");
                                }
                            }
                        }
                        //relatorio nao existe, entao vai criar
                        else
                        {
                            var newReport = new ReportImage();
                            newReport.IdGrpReport       = rptDeserializado.IdGrpReport;
                            newReport.ReportDescription = rptDeserializado.ReportDescription;
                            newReport.ReportImageData   = rptDeserializado.ReportImageData;
                            newReport.ReportName        = rptDeserializado.ReportName;
                            importados.Add(newReport.ReportName, ctx.ReportImageDao.Save(newReport));
                        }
                    }
                    if (importados.Where(i => i.Value == false).Count() == 0)
                    {
                        XMessageIts.Mensagem("Relatórios importado com sucesso!");
                    }
                    else
                    {
                        XMessageIts.Advertencia("Ocorreram erros ao importar o(s) dashboard(s) !");
                    }
                }
                catch (Exception ex)
                {
                    XMessageIts.ExceptionMessageDetails(ex, "Falha ao importar o relatório");
                }
            }
        }
Ejemplo n.º 3
0
        //indexa o form com os dados da licença focused no grid
        private void indexarForm(ItsLicense itsLicense)
        {
            if (itsLicense != null)
            {
                var licData     = SerializeIts.DeserializeObject <ItsLicenseData>(itsLicense.LicenseData);
                var clifor      = licData.Cliente;
                var startDate   = licData.DataInicioLic;
                var endDate     = licData.DataFimLic;
                var activeMenus = licData.ActiveMenus;

                //lookUpCliFor1.FindSetCliFor(clifor.IdCliFor.ToString());
                dtStartDate.DateTime           = startDate;
                dtEndDate.DateTime             = endDate;
                gridControlMenusAct.DataSource = activeMenus;
            }
        }
Ejemplo n.º 4
0
        public async void Execute(string idtask, CancellationTokenSource cts)
        {
            var task = GetTaskById(idtask);

            if (task != null)
            {
                LogIts log;
                try
                {
                    var lst = SerializeIts.DeserializeObject <List <TaskParamIts> >(task.Tarefa);
                    //inicia
                    StartTask(task.IdTask, cts);

                    await InsertLogTask(new LogIts(task.IdTask, "Obtendo o tipo..."));

                    // Execute the task
                    //var cl = Assembly.LoadFile(@"C:\Users\Gercy\Documents\TFS_ITsolution\ITE\ITE.Entidades\bin\Debug\ITE.Entidades.dll");
                    //var qname = typeof(cl.Assembly);
                    var typeName = Type.GetType(task.Classe);

                    object instance = Activator.CreateInstance(typeName, task.IdTask);

                    await InsertLogTask(new LogIts(task.IdTask, "Classe: " + task.Classe));
                    await InsertLogTask(new LogIts(task.IdTask, "Metodo: " + task.Metodo));

                    var methodInfo = typeName.GetMethod(task.Metodo);
                    var param      = methodInfo.GetParameters();
                    int i          = 0;

                    List <TaskParamIts> parametrosTask = SerializeIts.DeserializeObject <List <TaskParamIts> >(task.Tarefa);
                    dynamic[]           parmOrigs22    = new dynamic[parametrosTask.Count];

                    await InsertLogTask(new LogIts(task.IdTask, "Parametros:"));


                    foreach (var item in parametrosTask)
                    {
                        if (item.ParameterValue.ToString() == "System.Threading.CancellationTokenSource")
                        {
                            parmOrigs22[i] = cts;
                        }
                        else
                        {
                            log = new LogIts(task.IdTask, Thread.CurrentThread.ManagedThreadId.ToString(),
                                             item.ParameterName.ToString()
                                             + ": " + item.ParameterValue.ToString(), String.Empty);

                            //insere log
                            await InsertLogTask(log);

                            var stp = item.ParameterType.AssemblyQualifiedName;
                            var tp  = Type.GetType(stp);
                            parmOrigs22[i] = item.ParameterValue;
                            //parmOrigs22[i] = Convert.ChangeType(item.ParameterValue,
                            //     tp);
                        }
                        i++;
                    }
                    //object[] parmOrigs = new object[] { 1000, task.IdTask, cts };
                    try
                    {
                        Task t1 = new Task(() =>
                        {
                            methodInfo.Invoke(instance, parmOrigs22);
                        });

                        await Task.Factory.StartNew(() => t1.Start());

                        Task ok = await Task.WhenAny(t1);

                        if ((ok.IsCompleted && ok.Exception == null) && !cts.IsCancellationRequested)
                        {
                            //Work task
                            await DoWorkTask(task.IdTask);
                        }
                        if (ok.Exception != null)
                        {
                            var msg = ok.Exception.InnerExceptions.First();

                            throw new Exception(msg.InnerException.Message);
                        }

                        if (cts.IsCancellationRequested)
                        {
                            throw new OperationCanceledException("Operação cancelada.");
                        }
                    }
                    catch (OperationCanceledException exCancel)
                    {
                        log = new LogIts(task.IdTask,
                                         Thread.CurrentThread.ManagedThreadId.ToString(),
                                         exCancel.Message
                                         , "Operacao cancelada");
                        await InsertLogTask(log);

                        SuspendTask(task.IdTask);
                    }
                    catch (TargetInvocationException tex)
                    {
                        log = new LogIts(task.IdTask,
                                         Thread.CurrentThread.ManagedThreadId.ToString(),
                                         tex.Message
                                         , tex.Message);
                        await InsertLogTask(log);
                        await StoppedTaskException(task.IdTask);
                    }
                    catch (Exception ex)
                    {
                        log = new LogIts(task.IdTask,
                                         Thread.CurrentThread.ManagedThreadId.ToString(),
                                         ex.Message
                                         , ex.Message);
                        await InsertLogTask(log);
                        await StoppedTaskException(task.IdTask);
                    }
                }//fim try
                catch (Exception ex)
                {
                    log = new LogIts(task.IdTask,
                                     Thread.CurrentThread.ManagedThreadId.ToString(),
                                     ex.Message
                                     , ex.Message);
                    await InsertLogTask(log);
                    await StoppedTaskException(task.IdTask);
                }
            }
        }