예제 #1
0
        public void AtualizaBancoFotos(string ibgemun, string ibgefotos, int?id_command)
        {
            try
            {
                int ultimoComando = 0;
                if (id_command != null)
                {
                    ultimoComando = (int)id_command - 1; //usa o numero da versão passada via parametro
                }
                else
                {
                    ultimoComando = Helpers.HelperConnection.ExecuteCommand(ibgemun, conn =>
                                                                            conn.QueryFirstOrDefault <int>(_command.GetUltimoCodigoScript)); //recupera ultimo comando
                }
                var proximos = ScriptRepository.GetScriptBancoFotos(ultimoComando);
                foreach (var item in proximos)
                {
                    try
                    {
                        Helpers.HelperConnection.ExecuteCommand(ibgefotos, conn =>
                                                                conn.Execute(item.script));
                    }
                    catch (Exception ex)
                    {
                        throw new Exception($"Erro ao Executar script de nº {item.codigo}. {ex.Message}");
                    }

                    ultimoComando = (int)item.codigo;
                    string scriptAtualizaVersao = _command.UpdateCodigoScript.Replace("@versao", ultimoComando.ToString());
                    Helpers.HelperConnection.ExecuteCommandBloco(ibgemun, scriptAtualizaVersao);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }