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); } } }
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!"); } }
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!"); } } }
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"); } } }
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); } }
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); }
//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; } }
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); } }
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"); } } }
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); }
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); } } }
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); }