public void CalibrarPotenciaPotencia(ParqueEolico parqueEolico, bool isTempoReal)
        {
            try
            {
                if (isTempoReal)
                {
                    this.criarCaminhoDeDiscoCalibrador(Path.GetFullPath(CALIBRADOR_TR_DIRECTORY_NAME));
                    this.criarPastaDeTrabalhoCalibrador(CALIBRADOR_TR_DIRECTORY_NAME + PASTA_TRABALHO, parqueEolico, "TR");
                    var process = Process.Start(CALIBRADOR_TR_EXE);
                    process.WaitForExit();

                    FactoryController.getInstance().PrevisorController.montarEstruturaParaPrevisao(parqueEolico.SiglaPrevEOL, PrevisorController.PREVISAO_TIPO.TEMPO_REAL);
                    this.copiarPesosOtimos(parqueEolico, PrevisorController.PREVISAO_TIPO.TEMPO_REAL);
                    this.criarAtualizarArquivoParquesCalibrados(parqueEolico, PrevisorController.PREVISAO_TIPO.TEMPO_REAL);
                }
                else
                {
                    this.criarCaminhoDeDiscoCalibrador(Path.GetFullPath(CALIBRADOR_PP_DIRECTORY_NAME));
                    this.criarPastaDeTrabalhoCalibrador(CALIBRADOR_PP_DIRECTORY_NAME + PASTA_TRABALHO, parqueEolico, "PP");
                    var process = Process.Start(CALIBRADOR_PP_EXE);
                    process.WaitForExit();

                    FactoryController.getInstance().PrevisorController.montarEstruturaParaPrevisao(parqueEolico.SiglaPrevEOL, PrevisorController.PREVISAO_TIPO.POTENCIA_POTENCIA);
                    this.copiarPesosOtimos(parqueEolico, PrevisorController.PREVISAO_TIPO.POTENCIA_POTENCIA);
                    this.criarAtualizarArquivoParquesCalibrados(parqueEolico, PrevisorController.PREVISAO_TIPO.POTENCIA_POTENCIA);
                }
                FactoryDAO.getInstance().ParqueEolicoDAO.atualizarParqueFoiCalibrado(parqueEolico);
            }
            catch (Exception e)
            {
                throw new Exception("Ops, ocorreu um erro na calibração dos dados.");
            }
        }
        internal List <EntradaVentoPotencia> GetInputPrevisaoVentoPotencia()
        {
            List <EntradaVentoPotencia> ret = new List <EntradaVentoPotencia>();

            List <ParqueEolico> parquesEolicos = (List <ParqueEolico>)FactoryController.getInstance().ParqueEolicoController.getParquesCalibrados("VP");

            for (int i = 0; i < parquesEolicos.Count; i++)
            {
                EntradaVentoPotencia inVP = FactoryDAO.getInstance().PrevisorDAO.GetDadosPrevisaoPotenciaVentoVisualizar(parquesEolicos[i]);
                if (inVP != null)
                {
                    ret.Add(inVP);
                }
            }

            return(ret);
        }
        public void calibrarVentoPotencia(ParqueEolico parqueEolico)
        {
            try
            {
                this.criarCaminhoDeDiscoCalibrador(Path.GetFullPath(CALIBRADOR_VP_DIRECTORY_NAME));
                this.criarPastaDeTrabalhoCalibrador(CALIBRADOR_VP_DIRECTORY_NAME + PASTA_TRABALHO, parqueEolico, "VP");
                var process = Process.Start(CALIBRADOR_VP_EXE);
                process.WaitForExit();

                FactoryDAO.getInstance().ParqueEolicoDAO.atualizarParqueFoiCalibrado(parqueEolico);
                FactoryController.getInstance().PrevisorController.montarEstruturaParaPrevisao(parqueEolico.SiglaPrevEOL, PrevisorController.PREVISAO_TIPO.VENTO_POTENCIA);
                this.copiarPesosOtimos(parqueEolico, PrevisorController.PREVISAO_TIPO.VENTO_POTENCIA);
            }
            catch (Exception ex)
            {
                throw new Exception("Ops, ocorreu um erro durante a calibração dos dados.");
            }
        }
 private void copiarPesosOtimos(ParqueEolico p, PrevisorController.PREVISAO_TIPO tipo)
 {
     if (tipo == PrevisorController.PREVISAO_TIPO.POTENCIA_POTENCIA)
     {
         DirectoryInfo dir      = new DirectoryInfo(CALIBRADOR_PP_DIRECTORY_NAME + "/" + p.SiglaPrevEOL + "/" + PASTA_PESOS_OTIMOS);
         FileInfo[]    fileInfo = dir.GetFiles();
         if (fileInfo.Length != 0)
         {
             foreach (FileInfo file in fileInfo)
             {
                 FactoryController.getInstance().PrevisorController.importarPesoOtimo(file,
                                                                                      PrevisorController.PREVISAO_TIPO.POTENCIA_POTENCIA, p.SiglaPrevEOL);
             }
         }
     }
     else if (tipo == PrevisorController.PREVISAO_TIPO.TEMPO_REAL)
     {
         DirectoryInfo dir      = new DirectoryInfo(CALIBRADOR_TR_DIRECTORY_NAME + "/" + p.SiglaPrevEOL + "/" + PASTA_PESOS_OTIMOS);
         FileInfo[]    fileInfo = dir.GetFiles();
         if (fileInfo.Length != 0)
         {
             foreach (FileInfo file in fileInfo)
             {
                 FactoryController.getInstance().PrevisorController.importarPesoOtimo(file,
                                                                                      PrevisorController.PREVISAO_TIPO.TEMPO_REAL, p.SiglaPrevEOL);
             }
         }
     }
     else
     {
         DirectoryInfo dir      = new DirectoryInfo(CALIBRADOR_VP_DIRECTORY_NAME + "/" + p.SiglaPrevEOL + "/" + PASTA_PESOS_OTIMOS);
         FileInfo[]    fileInfo = dir.GetFiles();
         if (fileInfo.Length != 0)
         {
             foreach (FileInfo file in fileInfo)
             {
                 FactoryController.getInstance().PrevisorController.importarPesoOtimo(file,
                                                                                      PrevisorController.PREVISAO_TIPO.VENTO_POTENCIA, p.SiglaPrevEOL);
             }
         }
     }
 }