Beispiel #1
0
        public async Task <IActionResult> Edit(long id, [Bind("Id,BaseAlvo,BaseFonte")] ComparacaoBases comparacaoBases)
        {
            if (id != comparacaoBases.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(comparacaoBases);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ComparacaoBasesExists(comparacaoBases.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["BaseAlvo"]  = new SelectList(_context.BaseLegada, "Id", "Nome", comparacaoBases.BaseAlvo);
            ViewData["BaseFonte"] = new SelectList(_context.BaseLegada, "Id", "Nome", comparacaoBases.BaseFonte);

            return(View(comparacaoBases));
        }
Beispiel #2
0
        public async Task <IActionResult> Edit(long id, [Bind("Id,Nome,StatusMigracao,LinkRespostorio,Tamanho,DataUltimaEstatistica")] BaseLegada baseLegadaView)
        {
            if (id != baseLegadaView.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    BaseLegada baseLegada = _context.BaseLegada.Find(id);
                    baseLegada.StatusMigracao  = baseLegadaView.StatusMigracao;
                    baseLegada.LinkRespostorio = baseLegadaView.LinkRespostorio;
                    _context.Update(baseLegada);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!BaseLegadaExists(baseLegadaView.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(baseLegadaView));
        }
        public async Task <IActionResult> Create([Bind("NomeGrupo,ConnectionStringLegadas,PrefixoNomeBaseLegadas,RegexNomeTabelasDescartar")] BaseLegadaGrupo baseLegadaGrupo)
        {
            if (ModelState.IsValid)
            {
                _context.Add(baseLegadaGrupo);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(baseLegadaGrupo));
        }
Beispiel #4
0
        public async Task <IActionResult> Create([Bind("Id,TipoElemento,TipoOcorrencia,ElementoPai,ComparacaoBases")] ComparacaoBasesElemento comparacaoBasesElemento)
        {
            if (ModelState.IsValid)
            {
                _context.Add(comparacaoBasesElemento);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ComparacaoBases"] = new SelectList(_context.ComparacaoBases, "Id", "Id", comparacaoBasesElemento.ComparacaoBases);
            ViewData["ElementoPai"]     = new SelectList(_context.ComparacaoBasesElementos, "Id", "TipoElemento", comparacaoBasesElemento.ElementoPai);
            return(View(comparacaoBasesElemento));
        }
Beispiel #5
0
        private void CompararECriarComparacoes(ComparacaoBases comparacaoBases)
        {
            var        contexto      = new DBMigrationCompareSimilarDBsContext();
            DateTime   dataInicio    = DateTime.Now;
            BaseLegada baseAlvo      = contexto.BaseLegada.Include(bl => bl.BaseLegadaGrupoNavigation).FirstOrDefault(bl => bl.Id == comparacaoBases.BaseAlvo);
            BaseLegada baseFonte     = contexto.BaseLegada.Find(comparacaoBases.BaseFonte);
            string     tempPath      = Path.GetTempPath();
            string     prefixo       = $"{tempPath}Compare_{baseFonte.Nome}_{baseAlvo.Nome}";
            string     xmlOutPutFile = $"{prefixo}_out.xml";

            try
            {
                contexto.ComparacaoBasesElementos.RemoveRange(contexto.ComparacaoBasesElementos.Where(cbe => cbe.ComparacaoBases == comparacaoBases.Id));
                GerarArquivoComparacaoSQL(baseFonte.Nome, baseAlvo.Nome, xmlOutPutFile, baseAlvo.BaseLegadaGrupoNavigation.ConnectionStringLegadas);
                comparacaoBases = ExtrairInformacoesComparacaoDeXML(xmlOutPutFile, comparacaoBases);
                // Exclui os elementos da comparação, se existir, para refazer a comparação existente.
                comparacaoBases.StatusComparacao = StatusComparacao.Concluida;
                comparacaoBases.DataComparacao   = DateTime.Now;
            }
            catch (Exception ex)
            {
                comparacaoBases.StatusComparacao = StatusComparacao.Falha;
                comparacaoBases.MensagemFalha    = ex.Message;
            }
            comparacaoBases.TempoComparacaoEmMinutos = (DateTime.Now - dataInicio).TotalMinutes;
            lock (lockObject)
            {
                contexto.ComparacaoBases.Update(comparacaoBases);
                _ = contexto.SaveChangesAsync();
            }
        }