public ActionResult Visualizar(int id)
        {
            SilviculturaPPFF   caracterizacao = _bus.ObterPorEmpreendimento(id);
            SilviculturaPPFFVM vm             = new SilviculturaPPFFVM(caracterizacao, _listaBus.AtividadesSolicitada, _listaBus.Municipios(8), true);

            return(View(vm));
        }
Example #2
0
        public bool Salvar(SilviculturaPPFF caracterizacao)
        {
            try
            {
                if (_validar.Salvar(caracterizacao))
                {
                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                    {
                        bancoDeDados.IniciarTransacao();

                        _da.Salvar(caracterizacao, bancoDeDados);

                        Validacao.Add(Mensagem.SilviculturaPPFF.Salvar);

                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception e)
            {
                Validacao.AddErro(e);
            }

            return(Validacao.EhValido);
        }
        internal int?Criar(SilviculturaPPFF caracterizacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Silvicultura

                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@" insert into {0}crt_silvicultura_ppff c(id, empreendimento, atividade, fomento_tipo, area_total, tid) values(seq_crt_sil_ppf_municipio.nextval, 
                    :empreendimento, :atividade, :fomento_tipo, :area_total, :tid ) returning c.id into :id ", EsquemaBanco);

                comando.AdicionarParametroEntrada("empreendimento", caracterizacao.EmpreendimentoId, DbType.Int32);
                comando.AdicionarParametroEntrada("atividade", caracterizacao.Atividade, DbType.Int32);
                comando.AdicionarParametroEntrada("fomento_tipo", (int)caracterizacao.FomentoTipo, DbType.Int32);
                comando.AdicionarParametroEntrada("area_total", caracterizacao.AreaTotal, DbType.Decimal);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                comando.AdicionarParametroSaida("id", DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                caracterizacao.Id = Convert.ToInt32(comando.ObterValorParametro("id"));

                #endregion

                #region Municipios

                if (caracterizacao.Itens != null && caracterizacao.Itens.Count > 0)
                {
                    foreach (SilviculturaPPFFItem item in caracterizacao.Itens)
                    {
                        comando = bancoDeDados.CriarComando(@" insert into {0}crt_sil_ppf_municipio c(id, caracterizacao, municipio, tid) values(seq_crt_sil_ppf_municipio.nextval, 
                            :caracterizacao, :municipio, :tid) returning c.id into :id ", EsquemaBanco);

                        comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32);
                        comando.AdicionarParametroEntrada("municipio", item.Municipio.Id, DbType.Int32);
                        comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                        comando.AdicionarParametroSaida("id", DbType.Int32);

                        bancoDeDados.ExecutarNonQuery(comando);

                        item.Id = Convert.ToInt32(comando.ObterValorParametro("id"));
                    }
                }

                #endregion

                #region Histórico

                Historico.Gerar(caracterizacao.Id, eHistoricoArtefatoCaracterizacao.silviculturappff, eHistoricoAcao.criar, bancoDeDados, null);

                #endregion

                bancoDeDados.Commit();

                return(caracterizacao.Id);
            }
        }
 public ActionResult Editar(SilviculturaPPFF caracterizacao)
 {
     _bus.Salvar(caracterizacao);
     return(Json(new
     {
         @EhValido = Validacao.EhValido,
         @Msg = Validacao.Erros,
         @UrlRedirecionar = Url.Action("", "Caracterizacao", new { id = caracterizacao.EmpreendimentoId, Msg = Validacao.QueryParam() })
     }, JsonRequestBehavior.AllowGet));
 }
        internal bool Salvar(SilviculturaPPFF caracterizacao)
        {
            if (!_caracterizacaoValidar.Basicas(caracterizacao.EmpreendimentoId))
            {
                return(false);
            }

            if (caracterizacao.Id <= 0 && (_da.ObterPorEmpreendimento(caracterizacao.EmpreendimentoId, true) ?? new SilviculturaPPFF()).Id > 0)
            {
                Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoCaracterizacaoJaCriada);
                return(false);
            }

            if (caracterizacao.Atividade <= 0)
            {
                Validacao.Add(Mensagem.SilviculturaPPFF.AtividadeObrigatoria);
            }

            if (caracterizacao.FomentoTipo == eFomentoTipo.Vazio)
            {
                Validacao.Add(Mensagem.SilviculturaPPFF.FomentoTipoObrigatorio);
            }

            if (!String.IsNullOrWhiteSpace(caracterizacao.AreaTotal))
            {
                decimal aux = 0;

                if (Decimal.TryParse(caracterizacao.AreaTotal, out aux))
                {
                    if (aux <= 0)
                    {
                        Validacao.Add(Mensagem.SilviculturaPPFF.AreaTotalMaiorZero);
                    }
                }
                else
                {
                    Validacao.Add(Mensagem.SilviculturaPPFF.AreaTotalInvalida);
                }
            }
            else
            {
                Validacao.Add(Mensagem.SilviculturaPPFF.AreaTotalObrigatoria);
            }

            #region Municípios

            if (caracterizacao.Itens.Count <= 0)
            {
                Validacao.Add(Mensagem.SilviculturaPPFF.MunicipioObrigatorio);
            }

            #endregion

            return(Validacao.EhValido);
        }
Example #6
0
        public SilviculturaPPFFVM(SilviculturaPPFF caracterizacao, List <ProcessoAtividadeItem> atividades, List <Municipio> municipios, bool isVisualizar = false, bool isEditar = false)
        {
            IsVisualizar   = isVisualizar;
            Caracterizacao = caracterizacao;
            IsEditar       = isEditar;
            Municipios     = ViewModelHelper.CriarSelectList(municipios, true, true);

            int silviculturaProgramaProdutorFlorestalFomento = ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.SilviculturaProgramaProdutorFlorestalFomento);

            Atividade = ViewModelHelper.CriarSelectList(atividades.Where(x => x.Id == silviculturaProgramaProdutorFlorestalFomento).ToList(), true, true, selecionado: (silviculturaProgramaProdutorFlorestalFomento).ToString());
        }
        public ActionResult Editar(int id)
        {
            if (!_caracterizacaoValidar.Basicas(id))
            {
                return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer()));
            }

            SilviculturaPPFF caracterizacao = _bus.ObterPorEmpreendimento(id);

            SilviculturaPPFFVM vm = new SilviculturaPPFFVM(caracterizacao, _listaBus.AtividadesSolicitada, _listaBus.Municipios(8), isVisualizar: false, isEditar: true);

            return(View(vm));
        }
Example #8
0
        public SilviculturaPPFF ObterPorEmpreendimento(int EmpreendimentoId, bool simplificado = false, BancoDeDados banco = null)
        {
            SilviculturaPPFF caracterizacao = null;

            try
            {
                caracterizacao = _da.ObterPorEmpreendimento(EmpreendimentoId, simplificado: simplificado);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(caracterizacao);
        }
        public ActionResult Criar(int id)
        {
            if (!_caracterizacaoValidar.Basicas(id))
            {
                return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer()));
            }

            SilviculturaPPFF caracterizacao = new SilviculturaPPFF();

            caracterizacao.EmpreendimentoId = id;

            SilviculturaPPFFVM vm = new SilviculturaPPFFVM(caracterizacao, _listaBus.AtividadesSolicitada, _listaBus.Municipios(8));

            return(View(vm));
        }
        internal void Salvar(SilviculturaPPFF caracterizacao, BancoDeDados banco)
        {
            if (caracterizacao == null)
            {
                throw new Exception("A Caracterização é nula.");
            }

            if (caracterizacao.Id <= 0)
            {
                Criar(caracterizacao, banco);
            }
            else
            {
                Editar(caracterizacao, banco);
            }
        }
        internal SilviculturaPPFF ObterPorEmpreendimento(int empreendimento, bool simplificado = false, BancoDeDados banco = null)
        {
            SilviculturaPPFF caracterizacao = new SilviculturaPPFF();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = bancoDeDados.CriarComando(@"select s.id from {0}crt_silvicultura_ppff s where s.empreendimento = :empreendimento", EsquemaBanco);
                comando.AdicionarParametroEntrada("empreendimento", empreendimento, DbType.Int32);

                object valor = bancoDeDados.ExecutarScalar(comando);

                if (valor != null && !Convert.IsDBNull(valor))
                {
                    caracterizacao = Obter(Convert.ToInt32(valor), bancoDeDados, simplificado);
                }
            }

            return(caracterizacao);
        }
        internal SilviculturaPPFF Obter(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false)
        {
            SilviculturaPPFF caracterizacao = new SilviculturaPPFF();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                if (tid == null)
                {
                    caracterizacao = Obter(id, bancoDeDados, simplificado);
                }
                else
                {
                    Comando comando = bancoDeDados.CriarComando(@"select count(s.id) existe from {0}crt_silvicultura_ppff s where s.id = :id and s.tid = :tid", EsquemaBanco);

                    comando.AdicionarParametroEntrada("id", id, DbType.Int32);
                    comando.AdicionarParametroEntrada("tid", DbType.String, 36, tid);

                    caracterizacao = (Convert.ToBoolean(bancoDeDados.ExecutarScalar(comando))) ? Obter(id, bancoDeDados, simplificado) : ObterHistorico(id, bancoDeDados, tid, simplificado);
                }
            }

            return(caracterizacao);
        }
Example #13
0
 public SilviculturaPPFFPDF(SilviculturaPPFF silvicultura)
 {
     this.AreaTotal             = silvicultura.AreaTotal;
     this.MunicipiosAbrangencia = string.Join(", ", silvicultura.Itens.Select((s, i) => s.Municipio.Texto));
 }
        private SilviculturaPPFF ObterHistorico(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false)
        {
            SilviculturaPPFF caracterizacao = new SilviculturaPPFF();
            int hst = 0;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Silvicultura

                Comando comando = bancoDeDados.CriarComando(@"select c.id, c.empreendimento_id, c.atividade_id, c.fomento_tipo_id, c.area_total, c.tid from {0}hst_crt_silvicultura_ppff c 
                    where c.caracterizacao = :id and c.tid = :tid", EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, tid);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        hst = Convert.ToInt32(reader["id"]);

                        caracterizacao.Id = id;
                        caracterizacao.EmpreendimentoId = Convert.ToInt32(reader["empreendimento_id"]);
                        caracterizacao.Atividade        = Convert.ToInt32(reader["atividade_id"]);
                        caracterizacao.AreaTotal        = reader["area_total"].ToString();
                        caracterizacao.FomentoTipo      = (eFomentoTipo)Enum.Parse(typeof(eFomentoTipo), reader["fomento_tipo_id"].ToString());
                        caracterizacao.Tid = reader["tid"].ToString();
                    }

                    reader.Close();
                }

                #endregion

                if (caracterizacao.Id <= 0 || simplificado)
                {
                    return(caracterizacao);
                }

                #region Municpios

                comando = bancoDeDados.CriarComando(@"select hcspm.id, hcspm.tid, lm.id municipio_id, lm.texto municipio_texto from {0}hst_crt_sil_ppf_municipio hcspm, {0}lov_municipio lm where 
                    hcspm.id_hst = :id_hst and lm.id = s.municipio_id order by lm.texto", EsquemaBanco);

                comando.AdicionarParametroEntrada("id_hst", hst, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    SilviculturaPPFFItem item = null;

                    while (reader.Read())
                    {
                        item                 = new SilviculturaPPFFItem();
                        item.Id              = Convert.ToInt32(reader["id"]);
                        item.Tid             = reader["tid"].ToString();
                        item.Municipio.Id    = Convert.ToInt32(reader["municipio_id"]);
                        item.Municipio.Texto = reader["municipio_texto"].ToString();

                        caracterizacao.Itens.Add(item);
                    }

                    reader.Close();
                }

                #endregion
            }

            return(caracterizacao);
        }
        internal void Editar(SilviculturaPPFF caracterizacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Silvicultura

                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"update {0}crt_silvicultura_ppff c set c.empreendimento = :empreendimento, c.atividade = :atividade, c.fomento_tipo = :fomento_tipo, c.area_total = :area_total, c.tid = :tid
                    where c.id = :id", EsquemaBanco);

                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                comando.AdicionarParametroEntrada("empreendimento", caracterizacao.EmpreendimentoId, DbType.Int32);
                comando.AdicionarParametroEntrada("atividade", caracterizacao.Atividade, DbType.Int32);
                comando.AdicionarParametroEntrada("fomento_tipo", caracterizacao.FomentoTipo, DbType.Int32);
                comando.AdicionarParametroEntrada("area_total", caracterizacao.AreaTotal, DbType.Decimal);
                comando.AdicionarParametroEntrada("id", caracterizacao.Id, DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                #region Limpar os dados do banco

                comando = bancoDeDados.CriarComando(@"delete from {0}crt_sil_ppf_municipio c where c.caracterizacao = :caracterizacao", EsquemaBanco);
                comando.DbCommand.CommandText += String.Format(" {0}", comando.AdicionarNotIn("and", "c.id", DbType.Int32, caracterizacao.Itens.Select(x => x.Id).ToList()));

                comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                #region Municípios

                if (caracterizacao.Itens != null && caracterizacao.Itens.Count > 0)
                {
                    foreach (SilviculturaPPFFItem item in caracterizacao.Itens)
                    {
                        if (item.Id <= 0)
                        {
                            comando = bancoDeDados.CriarComando(@" insert into {0}crt_sil_ppf_municipio c(id, caracterizacao, municipio, tid) values(seq_crt_sil_ppf_municipio.nextval, 
                                :caracterizacao, :municipio, :tid) returning c.id into :id ", EsquemaBanco);

                            comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32);
                            comando.AdicionarParametroEntrada("municipio", item.Municipio.Id, DbType.Int32);
                            comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                            comando.AdicionarParametroSaida("id", DbType.Int32);

                            bancoDeDados.ExecutarNonQuery(comando);

                            item.Id = Convert.ToInt32(comando.ObterValorParametro("id"));
                        }
                    }
                }

                #endregion

                #region Histórico

                Historico.Gerar(caracterizacao.Id, eHistoricoArtefatoCaracterizacao.silviculturappff, eHistoricoAcao.atualizar, bancoDeDados, null);

                #endregion

                bancoDeDados.Commit();
            }
        }