Пример #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);
                }
            }
        }
Пример #2
0
        public static void ExportDashboardList(List <DashboardImage> reports)
        {
            string outReports = Path.Combine(FileManagerIts.DeskTopPath, "Dashboards ITS");

            if (!Directory.Exists(outReports))
            {
                FileManagerIts.CreateDirectory(outReports);
            }

            bool flag = false;

            foreach (var rpt in reports)
            {
                var novo = new DashboardImage();
                //gera um novo
                novo.Update(rpt);


                string file = outReports + "\\" + rpt.ReportName + ".itsdsh";

                //serializa p relatorio
                var bytes = SerializeIts.SerializeObject(novo);
                flag = FileManagerIts.WriteBytesToFile(file, bytes);
            }
            if (flag)
            {
                XMessageIts.Mensagem("Dashboards exportados com sucesso!");
            }
            else
            {
                XMessageIts.Erro("Dashboards exportados com erro!");
            }
        }
Пример #3
0
        public static void ExportReport(ReportImage rpt)
        {
            SaveFileDialog sfd = new SaveFileDialog();

            sfd.Filter   = ReportFilter;
            sfd.FileName = "Export_" + rpt.ReportName;
            var op = sfd.ShowDialog();

            //novo
            var novo = new ReportImage();

            //gera um novo
            novo.Update(rpt);

            //serializa p relatorio
            var bytes = SerializeIts.SerializeObject(novo);

            if (op == DialogResult.OK)
            {
                if (FileManagerIts.WriteBytesToFile(sfd.FileName, bytes))
                {
                    XMessageIts.Mensagem("Arquivo salvo com sucesso!");
                }
                else
                {
                    XMessageIts.Erro("Erro na exportação do relatório!");
                }
            }
        }
Пример #4
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");
                }
            }
        }
Пример #5
0
        public bool PublicarPacote(Package pacote)
        {
            try
            {
                using (var ctx = new AdminContext())
                {
                    var pkgCurrent = ctx.PackageDao.Find(pacote.IdPacote);
                    var pkgNew     = new Package();

                    //passa tudo do pacote atual pro novo
                    pkgNew.Update(pkgCurrent);

                    //novo status
                    pkgNew.Status = Enumeradores.TypeStatusPackage.Publicado;

                    foreach (var anx in pacote.Anexos)
                    {
                        var anxSalvar = new AnexoPackage(anx.DataFile, anx.FileName, anx.PathFile);
                        pkgNew.Anexos.Add(anxSalvar);
                    }

                    var            bytes = SerializeIts.SerializeObject(pkgNew);
                    SaveFileDialog sfd   = new SaveFileDialog();
                    sfd.Filter = "IT Solution package| *.itspkg";
                    //sfd.FilterIndex = 0;
                    //sfd.DefaultExt = ".itsPkg";
                    sfd.FileName = "ITS_Package_" + pkgNew.NumeroPacote;
                    var op = sfd.ShowDialog();

                    if (op == DialogResult.OK)
                    {
                        if (FileManagerIts.WriteBytesToFile(sfd.FileName, bytes))
                        {
                            //publicar o pacote
                            pkgCurrent.Publish(DateTime.Now, bytes);

                            var transation = ctx.PackageDao.Update(pkgCurrent);
                            if (transation)
                            {
                                XMessageIts.Mensagem("Pacote publicado com sucesso!");

                                pacote.Update(pkgCurrent);
                                return(transation);
                            }
                        }
                    }
                    return(false);
                }
            }
            catch (Exception ex)
            {
                XMessageIts.ExceptionMessage(ex, "Falha ao publicar pacote", "Publicação de Pacote");

                return(false);
            }
        }
Пример #6
0
        public override TaskIts IndexScheduleJob()
        {
            try
            {
                List <TaskParamIts> parameters = new List <TaskParamIts>();

                var dtPeriodo = (cbPeriodo.SelectedItem as CalendarMonth).DateTime;
                dtPeriodo = DataUtil.GetDataFinalDoMes(dtPeriodo);
                var grupoSelect    = cbGrupoEvento.SelectedItem as GrupoEvento;
                var tpFechamento   = IndexTipoFechamento();
                var consGrpEvtFunc = chkConsGrpFunc.Checked;
                var cts            = new CancellationTokenSource();
                var usuario        = new Usuario()
                {
                    IdUsuario      = userLogado.IdUsuario,
                    NomeUsuario    = userLogado.NomeUsuario,
                    NomeUtilizador = userLogado.NomeUtilizador
                };

                var classe          = "ITE.Entidades.DaoManager.RHDaoManager.FolhaDaoManager, ITE.Entidades, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null";
                var descricaoTarefa = "Calculo Folha Pagamento";
                var metodo          = "ExecutaCalculoFolha";
                var idProcess       = "{BA501F85-6216-466F-8534-C650F6E57A94}";


                var p_periodo   = new TaskParamIts(dtPeriodo.GetType(), "periodo", dtPeriodo);
                var p_usuario   = new TaskParamIts(usuario.GetType(), "usuario", usuario);
                var p_tipoFech  = new TaskParamIts(tpFechamento.GetType(), "tipoFechamento", tpFechamento);
                var p_grpEvento = new TaskParamIts(grupoSelect.GetType(), "grupoEvento", grupoSelect);
                var p_cnsGf     = new TaskParamIts(consGrpEvtFunc.GetType(), "considerGrpFunc", consGrpEvtFunc);
                var p_cancel    = new TaskParamIts(typeof(CancellationTokenSource), "cts", cts.ToString());

                parameters.Add(p_periodo);
                parameters.Add(p_usuario);
                parameters.Add(p_tipoFech);
                parameters.Add(p_grpEvento);
                parameters.Add(p_cnsGf);
                parameters.Add(p_cancel);

                var bytes = SerializeIts.SerializeObject(parameters);

                base.SchedulerJob = new TaskIts(Guid.NewGuid().ToString(), 1, 1, userLogado.IdUsuario, classe, metodo,
                                                descricaoTarefa, idProcess, bytes);
            }
            catch (Exception ex)
            {
                XMessageIts.ExceptionMessageDetails(ex, "Por favor preencha todos os parametros");
            }

            return(base.SchedulerJob);
        }
Пример #7
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;
            }
        }
Пример #8
0
        public Package SaveFilePacote(Package pacote)
        {
            try
            {
                var pkgSalvar = new Package();

                pkgSalvar.DataCriacao    = pacote.DataCriacao;
                pkgSalvar.DataPublicacao = pacote.DataPublicacao;
                pkgSalvar.Descricao      = pacote.Descricao;
                pkgSalvar.NumeroPacote   = pacote.NumeroPacote;
                pkgSalvar.Sintoma        = pacote.Sintoma;
                pkgSalvar.Status         = pacote.Status;
                pkgSalvar.Tratamento     = pacote.Tratamento;

                foreach (var anx in pacote.Anexos)
                {
                    var anxSalvar = new AnexoPackage();
                    anxSalvar.DataFile = anx.DataFile;
                    anxSalvar.FileName = anx.FileName;
                    anxSalvar.PathFile = anx.PathFile;
                    pkgSalvar.Anexos.Add(anxSalvar);
                }

                var            bytes = SerializeIts.SerializeObject(pkgSalvar);
                SaveFileDialog sfd   = new SaveFileDialog();
                sfd.Filter   = "IT Solution package| *.itspkg";
                sfd.FileName = "ITS_Package_" + pkgSalvar.NumeroPacote;

                var op = sfd.ShowDialog();

                if (op == DialogResult.OK)
                {
                    if (FileManagerIts.WriteBytesToFile(sfd.FileName, bytes))
                    {
                        XMessageIts.Mensagem("Pacote salvo com sucesso!");
                    }
                }
                return(pkgSalvar);
            }
            catch (Exception ex)
            {
                XMessageIts.ExceptionMessage(ex);
                return(null);
            }
        }
Пример #9
0
        public static void ExportDashaboard(DashboardImage dash)
        {
            var            bytes = SerializeIts.SerializeObject(dash);
            SaveFileDialog sfd   = new SaveFileDialog();

            sfd.Filter   = DashboardFilter;
            sfd.FileName = "Export_" + dash.ReportDescription;
            var op = sfd.ShowDialog();

            if (op == DialogResult.OK)
            {
                //sfd.FileName = Path.ChangeExtension(sfd.FileName, "iteReport");

                if (FileManagerIts.WriteBytesToFile(sfd.FileName, bytes))
                {
                    XMessageIts.Mensagem("Arquivo salvo com sucesso!");
                }
                else
                {
                    XMessageIts.Erro("Erro");
                }
            }
        }
Пример #10
0
        private ItsLicense indexarLicenca()
        {
            var lic = new ItsLicense();

            var cliFor = new ITE.Entidades.POCO.CliFor()
            {
                //IdCliFor = lookUpCliFor1.CliFor.IdCliFor,
                //RazaoSocial = lookUpCliFor1.CliFor.RazaoSocial,
                //CpfCnpj = lookUpCliFor1.CliFor.CpfCnpj,
                //NomeEndereco = lookUpCliFor1.CliFor.NomeEndereco,
                //NumeroEndereco = lookUpCliFor1.CliFor.NumeroEndereco,
                //TipoEndereco = lookUpCliFor1.CliFor.TipoEndereco,
                //Complemento = lookUpCliFor1.CliFor.Complemento,
                //Bairro = lookUpCliFor1.CliFor.Bairro,
                //Cep = lookUpCliFor1.CliFor.Cep,
                //Cidade = lookUpCliFor1.CliFor.Cidade,
                //Classificacao = lookUpCliFor1.CliFor.Classificacao,
                //Email = lookUpCliFor1.CliFor.Email,
                //InscricaoEstadual = lookUpCliFor1.CliFor.InscricaoEstadual,
                //InscricaoMunicipal = lookUpCliFor1.CliFor.InscricaoMunicipal,
                //Uf = lookUpCliFor1.CliFor.Uf,
                //Celular = lookUpCliFor1.CliFor.Celular,
                //NomeFantasia = lookUpCliFor1.CliFor.NomeFantasia,
                //NaturezaJuridica = lookUpCliFor1.CliFor.NaturezaJuridica,
                //RG = lookUpCliFor1.CliFor.RG,
                //Pais = lookUpCliFor1.CliFor.Pais
            };

            var startDate = dtStartDate.DateTime;
            var endDate   = dtEndDate.DateTime;

            this.menuSelected = new List <ItsMenu>();

            foreach (var menu in (List <ItsMenu>)gridViewMenusAct.DataSource)
            {
                var newMenu = new ItsMenu()
                {
                    IdMenu   = menu.IdMenu,
                    MenuPai  = menu.MenuPai,
                    MenuText = menu.MenuText,
                    MenuType = menu.MenuType,
                    NomeMenu = menu.NomeMenu,
                    Status   = menu.Status
                };

                this.menuSelected.Add(newMenu);
            }

            lic.CustomerName = cliFor.RazaoSocial;
            lic.StartDate    = startDate;
            lic.EndDate      = endDate;

            //se selecionou nenhuma licenca e o id ja existir no banco
            if (this._selectedLicense != null && this._selectedLicense.IdLicense != 0)
            {
                lic.IdLicense = this._selectedLicense.IdLicense;
            }

            var licData = new ItsLicenseData()
            {
                Cliente       = cliFor,
                DataInicioLic = startDate,
                DataFimLic    = endDate,
                ActiveMenus   = this.menuSelected
            };

            lic.LicenseData = SerializeIts.SerializeObject(licData);

            return(lic);
        }
Пример #11
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);
                }
            }
        }
Пример #12
0
        private TaskIts indexarTarefa()
        {
            var proccessSelected = cbProcesso.SelectedItem as ProcessIts;

            if (proccessSelected != null)
            {
                memDescProcess.Text = proccessSelected.DescricaoProcesso;

                if (proccessSelected.CodigoProcesso == "INS_TSTE")
                {
                    //List<TaskParamIts> parameters = new List<TaskParamIts>();
                    //var vezes = ParseUtil.ToInt(txtNumVezes.Text);
                    //var schedulerControl = new Scheduler.Manager.SchedulerControl();
                    //var id = Guid.NewGuid().ToString();
                    ////o que será gravado no banco
                    //var className = Type.GetType(proccessSelected.ClassName).FullName;

                    //var methodName = proccessSelected.Metodo;

                    //var arguments = String.Format("{0}, {1}, {2}", vezes, cts, id);

                    //var p = new TaskParamIts(vezes.GetType(), "nVezes", vezes);
                    //var p2 = new TaskParamIts(typeof(String), "taskId", id);
                    //var p1 = new TaskParamIts(typeof(CancellationTokenSource), "cts", cts.ToString());
                    //parameters.Add(p);
                    //parameters.Add(p2);
                    //parameters.Add(p1);

                    //var bytes = SerializeIts.SerializeObject(parameters);

                    //var task = new TaskIts(id, 1, 1, 1, className, methodName,
                    //    proccessSelected.NomeProcesso, proccessSelected.IdProcess, bytes);

                    //schedulerControl.CreateTask(task, cts);
                    //return task;
                }
                else if (proccessSelected.CodigoProcesso == "FEC_FOLHA")
                {
                    try
                    {
                        List <TaskParamIts> parameters = new List <TaskParamIts>();
                        //FillCbGrupoEventos();

                        var periodo   = dtPeriodo.DateTime;
                        var usuario   = UnitWork.Usuario;
                        var n_usuario = new ITE.Entidades.POCO.Usuario();
                        n_usuario.Update(usuario);
                        n_usuario.IdUsuario = usuario.IdUsuario;
                        var tipoFechamento = IndexTipoFechamentoFolha();
                        var grupoEvento    = cbGrupoEvento.SelectedItem as GrupoEvento;
                        var consGrpEvtFunc = chkConsdGrpFunc.Checked;


                        var schedulerControl = new Scheduler.Manager.SchedulerControl();
                        var id = Guid.NewGuid().ToString();
                        //o que será gravado no banco
                        var className = proccessSelected.ClassName;

                        var methodName = proccessSelected.Metodo;

                        var p_periodo   = new TaskParamIts(periodo.GetType(), "periodo", periodo);
                        var p_usuario   = new TaskParamIts(usuario.GetType().BaseType, "usuario", n_usuario);
                        var p_tipoFech  = new TaskParamIts(tipoFechamento.GetType(), "tipoFechamento", tipoFechamento);
                        var p_grpEvento = new TaskParamIts(grupoEvento.GetType(), "grupoEvento", grupoEvento);
                        var p_cnsGf     = new TaskParamIts(consGrpEvtFunc.GetType(), "considerGrpFunc", consGrpEvtFunc);
                        var p_cancel    = new TaskParamIts(typeof(CancellationTokenSource), "cts", cts.ToString());

                        parameters.Add(p_periodo);
                        parameters.Add(p_usuario);
                        parameters.Add(p_tipoFech);
                        parameters.Add(p_grpEvento);
                        parameters.Add(p_cnsGf);
                        parameters.Add(p_cancel);

                        var bytes = SerializeIts.SerializeObject(parameters);

                        var task = new TaskIts(id, 1, 1, 1, className, methodName,
                                               proccessSelected.NomeProcesso, proccessSelected.IdProcess, bytes);

                        schedulerControl.CreateTask(task, cts);
                        return(task);
                    }
                    catch (Exception ex)
                    {
                        XMessageIts.ExceptionMessage(ex);
                    }
                }
                return(null);
            }
            return(null);
        }