コード例 #1
0
 public Suinocultura MergiarGeo(Suinocultura caracterizacaoAtual)
 {
     caracterizacaoAtual.CoordenadaAtividade.Tipo = 0;           //limpando dados selecionados
     caracterizacaoAtual.CoordenadaAtividade.Id   = 0;           //limpando dados selecionados
     caracterizacaoAtual.Dependencias             = _busCaracterizacao.ObterDependenciasAtual(caracterizacaoAtual.EmpreendimentoId, eCaracterizacao.Suinocultura, eCaracterizacaoDependenciaTipo.Caracterizacao);
     return(caracterizacaoAtual);
 }
コード例 #2
0
        public ActionResult Editar(int id)
        {
            if (!_caracterizacaoValidar.Basicas(id))
            {
                return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer()));
            }

            if (!_validar.Acessar(id))
            {
                return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() }));
            }

            Suinocultura caracterizacao = _bus.ObterPorEmpreendimento(id);
            string       textoMerge     = _caracterizacaoValidar.DependenciasAlteradas(
                caracterizacao.EmpreendimentoId,
                (int)eCaracterizacao.Suinocultura,
                eCaracterizacaoDependenciaTipo.Caracterizacao,
                caracterizacao.Dependencias);

            if (!string.IsNullOrEmpty(textoMerge))
            {
                caracterizacao = _bus.MergiarGeo(caracterizacao);
            }

            SuinoculturaVM vm = new SuinoculturaVM(caracterizacao, _listaBus.AtividadesSolicitada, _caracterizacaoBus.ObterCoordenadaAtividadeLst(caracterizacao.EmpreendimentoId, eCaracterizacao.Suinocultura, (eTipoGeometria)caracterizacao.CoordenadaAtividade.Tipo), _listaBus.CaracterizacaoGeometriaTipo, _listaBus.SuinoculturaFases, isVisualizar: false, isEditar: true);

            vm.TextoMerge = textoMerge;
            vm.AtualizarDependenciasModalTitulo = Mensagem.Caracterizacao.AtualizarDependenciasModalTitulo.Texto;

            return(View(vm));
        }
コード例 #3
0
        private Suinocultura ObterHistorico(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false)
        {
            Suinocultura caracterizacao = new Suinocultura();
            int          hst            = 0;

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

                Comando comando = bancoDeDados.CriarComando(@"select c.id, c.empreendimento_id, c.atividade_id, c.fase, lf.texto fase_texto, c.existe_biodigestor, c.possui_fabrica_racao,
															c.numero_max_cabecas, c.numero_max_matrizes, c.geometria_coord_atv_x, c.geometria_coord_atv_y,
															c.geometria_id, c.geometria_tipo, c.tid from {0}hst_crt_suinocultura c, lov_crt_suinocultura_fase lf
															where c.caracterizacao = :id and c.tid = :tid and lf.id = c.fase"                                                            , 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.Fase                     = Convert.ToInt32(reader["fase"]);
                        caracterizacao.ExisteBiodigestor        = Convert.ToInt32(reader["existe_biodigestor"]);
                        caracterizacao.PossuiFabricaRacao       = Convert.ToInt32(reader["possui_fabrica_racao"]);
                        caracterizacao.NumeroCabecas            = reader["numero_max_cabecas"].ToString();
                        caracterizacao.NumeroMatrizes           = reader["numero_max_matrizes"].ToString();
                        caracterizacao.CoordenadaAtividade.Id   = Convert.ToInt32(reader["geometria_id"]);
                        caracterizacao.CoordenadaAtividade.Tipo = Convert.ToInt32(reader["geometria_tipo"]);
                        caracterizacao.Tid = reader["tid"].ToString();

                        if (reader["geometria_coord_atv_x"] != null && !Convert.IsDBNull(reader["geometria_coord_atv_x"]))
                        {
                            caracterizacao.CoordenadaAtividade.CoordX = Convert.ToDecimal(reader["geometria_coord_atv_x"]);
                        }

                        if (reader["geometria_coord_atv_y"] != null && !Convert.IsDBNull(reader["geometria_coord_atv_y"]))
                        {
                            caracterizacao.CoordenadaAtividade.CoordY = Convert.ToDecimal(reader["geometria_coord_atv_y"]);
                        }
                    }

                    reader.Close();
                }

                #endregion
            }

            return(caracterizacao);
        }
コード例 #4
0
        public ActionResult GeoMergiar(Suinocultura caracterizacao)
        {
            SuinoculturaVM vm = new SuinoculturaVM(_bus.MergiarGeo(caracterizacao), _listaBus.AtividadesSolicitada, _caracterizacaoBus.ObterCoordenadaAtividadeLst(caracterizacao.EmpreendimentoId, eCaracterizacao.Suinocultura, (eTipoGeometria)caracterizacao.CoordenadaAtividade.Tipo), _listaBus.CaracterizacaoGeometriaTipo, _listaBus.SuinoculturaFases);

            return(Json(new
            {
                @EhValido = Validacao.EhValido,
                @Msg = Validacao.Erros,
                @Html = ViewModelHelper.RenderPartialViewToString(ControllerContext, "Suinocultura", vm),
                @Dependencias = ViewModelHelper.Json(vm.Caracterizacao.Dependencias)
            }, JsonRequestBehavior.AllowGet));
        }
コード例 #5
0
        public Suinocultura ObterPorEmpreendimento(int EmpreendimentoId, bool simplificado = false, BancoDeDados banco = null)
        {
            Suinocultura caracterizacao = null;

            try
            {
                caracterizacao = _da.ObterPorEmpreendimento(EmpreendimentoId, simplificado: simplificado);
                caracterizacao.Dependencias = _busCaracterizacao.ObterDependencias(caracterizacao.Id, eCaracterizacao.Suinocultura, eCaracterizacaoDependenciaTipo.Caracterizacao);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(caracterizacao);
        }
コード例 #6
0
        internal void Salvar(Suinocultura caracterizacao, BancoDeDados banco)
        {
            if (caracterizacao == null)
            {
                throw new Exception("A Caracterização é nula.");
            }

            if (caracterizacao.Id <= 0)
            {
                Criar(caracterizacao, banco);
            }
            else
            {
                Editar(caracterizacao, banco);
            }
        }
コード例 #7
0
        public SuinoculturaVM(Suinocultura caracterizacao, List <ProcessoAtividadeItem> atividades, List <Lista> coordenadaslst, List <Lista> tipoGeometrico, List <Lista> fases, bool isVisualizar = false, bool isEditar = false)
        {
            IsVisualizar   = isVisualizar;
            Caracterizacao = caracterizacao;
            IsEditar       = isEditar;

            atividades = atividades.Where(x => x.Id == ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.SuinoculturaCicloCompleto) ||
                                          x.Id == ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.SuinoculturaExclusivoProducaoLeitoes) ||
                                          x.Id == ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.SuinoculturaExclusivoTerminacao) ||
                                          x.Id == ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.SuinoculturaComLançamentoEfluenteLiquidos)).ToList();

            Atividade = ViewModelHelper.CriarSelectList(atividades, true, true, selecionado: caracterizacao.Atividade.ToString());
            Fases     = ViewModelHelper.CriarSelectList(fases, true, true, selecionado: caracterizacao.Fase.ToString());

            CoodernadaAtividade = new CoordenadaAtividadeVM(Caracterizacao.CoordenadaAtividade, coordenadaslst, tipoGeometrico, IsVisualizar);
        }
コード例 #8
0
        internal int?Criar(Suinocultura caracterizacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Suinocultura

                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"insert into {0}crt_suinocultura c (id, empreendimento, atividade, fase, existe_biodigestor, possui_fabrica_racao, numero_max_cabecas, numero_max_matrizes,  geometria_coord_atv_x, geometria_coord_atv_y, geometria_id, geometria_tipo, tid)
															values(seq_crt_suinocultura.nextval, :empreendimento, :atividade, :fase, :existe_biodigestor, :possui_fabrica_racao, :numero_max_cabecas, :numero_max_matrizes, :geometria_coord_atv_x, :geometria_coord_atv_y, :geometria_id, :geometria_tipo, :tid ) 
															returning c.id into :id"                                                            , EsquemaBanco);

                comando.AdicionarParametroEntrada("empreendimento", caracterizacao.EmpreendimentoId, DbType.Int32);
                comando.AdicionarParametroEntrada("atividade", caracterizacao.Atividade, DbType.Int32);

                comando.AdicionarParametroEntrada("fase", caracterizacao.Fase, DbType.Int32);
                comando.AdicionarParametroEntrada("existe_biodigestor", caracterizacao.ExisteBiodigestor.GetValueOrDefault(0), DbType.Int32);
                comando.AdicionarParametroEntrada("possui_fabrica_racao", caracterizacao.PossuiFabricaRacao.GetValueOrDefault(0), DbType.Int32);
                comando.AdicionarParametroEntrada("numero_max_cabecas", (String.IsNullOrWhiteSpace(caracterizacao.NumeroCabecas)) ? (object)DBNull.Value : caracterizacao.NumeroCabecas, DbType.Decimal);
                comando.AdicionarParametroEntrada("numero_max_matrizes", (String.IsNullOrWhiteSpace(caracterizacao.NumeroMatrizes)) ? (object)DBNull.Value : caracterizacao.NumeroMatrizes, DbType.Decimal);

                comando.AdicionarParametroEntrada("geometria_id", caracterizacao.CoordenadaAtividade.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("geometria_tipo", caracterizacao.CoordenadaAtividade.Tipo, DbType.Int32);
                comando.AdicionarParametroEntrada("geometria_coord_atv_x", caracterizacao.CoordenadaAtividade.CoordX, DbType.Decimal);
                comando.AdicionarParametroEntrada("geometria_coord_atv_y", caracterizacao.CoordenadaAtividade.CoordY, 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 Histórico

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

                #endregion

                bancoDeDados.Commit();

                return(caracterizacao.Id);
            }
        }
コード例 #9
0
        internal Suinocultura ObterPorEmpreendimento(int empreendimento, bool simplificado = false, BancoDeDados banco = null)
        {
            Suinocultura caracterizacao = new Suinocultura();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = bancoDeDados.CriarComando(@"select s.id from {0}crt_suinocultura 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);
        }
コード例 #10
0
        public ActionResult Criar(Suinocultura caracterizacao)
        {
            string textoMerge = _caracterizacaoValidar.DependenciasAlteradas(
                caracterizacao.EmpreendimentoId,
                (int)eCaracterizacao.Suinocultura,
                eCaracterizacaoDependenciaTipo.Caracterizacao,
                caracterizacao.Dependencias);

            if (!string.IsNullOrEmpty(textoMerge))
            {
                return(Json(new { @TextoMerge = textoMerge }, JsonRequestBehavior.AllowGet));
            }

            _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));
        }
コード例 #11
0
        internal void Editar(Suinocultura caracterizacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Suinocultura

                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"update crt_suinocultura c set c.empreendimento = :empreendimento, c.atividade = :atividade, c.fase = :fase,
															c.geometria_coord_atv_x = :geometria_coord_atv_x, c.existe_biodigestor = :existe_biodigestor, c.possui_fabrica_racao = :possui_fabrica_racao,
															c.numero_max_cabecas = :numero_max_cabecas, c.numero_max_matrizes = :numero_max_matrizes, c.geometria_coord_atv_y = :geometria_coord_atv_y, c.geometria_id = :geometria_id, c.geometria_tipo = :geometria_tipo, 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("fase", caracterizacao.Fase, DbType.Int32);
                comando.AdicionarParametroEntrada("existe_biodigestor", caracterizacao.ExisteBiodigestor.GetValueOrDefault(0), DbType.Int32);
                comando.AdicionarParametroEntrada("possui_fabrica_racao", caracterizacao.PossuiFabricaRacao.GetValueOrDefault(0), DbType.Int32);
                comando.AdicionarParametroEntrada("numero_max_cabecas", (String.IsNullOrWhiteSpace(caracterizacao.NumeroCabecas)) ? (object)DBNull.Value : caracterizacao.NumeroCabecas, DbType.Decimal);
                comando.AdicionarParametroEntrada("numero_max_matrizes", (String.IsNullOrWhiteSpace(caracterizacao.NumeroMatrizes)) ? (object)DBNull.Value : caracterizacao.NumeroMatrizes, DbType.Decimal);
                comando.AdicionarParametroEntrada("geometria_id", caracterizacao.CoordenadaAtividade.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("geometria_tipo", caracterizacao.CoordenadaAtividade.Tipo, DbType.Int32);
                comando.AdicionarParametroEntrada("geometria_coord_atv_x", caracterizacao.CoordenadaAtividade.CoordX, DbType.Decimal);
                comando.AdicionarParametroEntrada("geometria_coord_atv_y", caracterizacao.CoordenadaAtividade.CoordY, DbType.Decimal);
                comando.AdicionarParametroEntrada("id", caracterizacao.Id, DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                #region Histórico

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

                #endregion

                bancoDeDados.Commit();
            }
        }
コード例 #12
0
        internal Suinocultura Obter(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false)
        {
            Suinocultura caracterizacao = new Suinocultura();

            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_suinocultura 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);
        }
コード例 #13
0
        public ActionResult Criar(int id)
        {
            if (!_caracterizacaoValidar.Basicas(id))
            {
                return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer()));
            }

            Suinocultura caracterizacao = new Suinocultura();

            caracterizacao.EmpreendimentoId = id;

            if (!_validar.Acessar(caracterizacao.EmpreendimentoId))
            {
                return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() }));
            }

            caracterizacao.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(id, eCaracterizacao.Suinocultura, eCaracterizacaoDependenciaTipo.Caracterizacao);
            SuinoculturaVM vm = new SuinoculturaVM(caracterizacao, _listaBus.AtividadesSolicitada, _caracterizacaoBus.ObterCoordenadaAtividadeLst(caracterizacao.EmpreendimentoId, eCaracterizacao.Suinocultura, (eTipoGeometria)caracterizacao.CoordenadaAtividade.Tipo), _listaBus.CaracterizacaoGeometriaTipo, _listaBus.SuinoculturaFases);

            vm.AtualizarDependenciasModalTitulo = Mensagem.Caracterizacao.AtualizarDependenciasModalTitulo.Texto;

            return(View(vm));
        }
コード例 #14
0
        public bool Salvar(Suinocultura caracterizacao)
        {
            try
            {
                if (_validar.Salvar(caracterizacao))
                {
                    GerenciadorTransacao.ObterIDAtual();

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

                        _da.Salvar(caracterizacao, bancoDeDados);

                        //Gerencia as dependências da caracterização
                        _busCaracterizacao.Dependencias(new Caracterizacao()
                        {
                            Id             = caracterizacao.Id,
                            Tipo           = eCaracterizacao.Suinocultura,
                            DependenteTipo = eCaracterizacaoDependenciaTipo.Caracterizacao,
                            Dependencias   = caracterizacao.Dependencias
                        }, bancoDeDados);

                        Validacao.Add(Mensagem.Suinocultura.Salvar);

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

            return(Validacao.EhValido);
        }
コード例 #15
0
        internal bool Salvar(Suinocultura caracterizacao)
        {
            if (!_caracterizacaoValidar.Basicas(caracterizacao.EmpreendimentoId))
            {
                return(false);
            }

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

            if (!Acessar(caracterizacao.EmpreendimentoId))
            {
                return(false);
            }

            #region Atividade

            if (caracterizacao.Atividade <= 0)
            {
                Validacao.Add(Mensagem.Suinocultura.AtividadeObrigatoria);
            }
            else
            {
                if (ConfiguracaoAtividade.ObterId(new[] {
                    (int)eAtividadeCodigo.SuinoculturaCicloCompleto,
                    (int)eAtividadeCodigo.SuinoculturaComLançamentoEfluenteLiquidos,
                    (int)eAtividadeCodigo.SuinoculturaExclusivoTerminacao
                }).Any(x => x == caracterizacao.Atividade))
                {
                    if (!String.IsNullOrWhiteSpace(caracterizacao.NumeroCabecas))
                    {
                        decimal aux = 0;
                        if (Decimal.TryParse(caracterizacao.NumeroCabecas, out aux))
                        {
                            if (aux <= 0)
                            {
                                Validacao.Add(Mensagem.Suinocultura.NumeroCabecaMaiorZero);
                            }
                        }
                        else
                        {
                            Validacao.Add(Mensagem.Suinocultura.NumeroCabecaInvalido);
                        }
                    }
                    else
                    {
                        Validacao.Add(Mensagem.Suinocultura.NumeroCabecaObrigatorio);
                    }
                }

                if (caracterizacao.Atividade == ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.SuinoculturaExclusivoProducaoLeitoes))
                {
                    if (!String.IsNullOrWhiteSpace(caracterizacao.NumeroMatrizes))
                    {
                        decimal aux = 0;
                        if (Decimal.TryParse(caracterizacao.NumeroMatrizes, out aux))
                        {
                            if (aux <= 0)
                            {
                                Validacao.Add(Mensagem.Suinocultura.NumeroMatrizesMaiorZero);
                            }
                        }
                        else
                        {
                            Validacao.Add(Mensagem.Suinocultura.NumeroMatrizesInvalido);
                        }
                    }
                    else
                    {
                        Validacao.Add(Mensagem.Suinocultura.NumeroMatrizesObrigatorio);
                    }
                }
            }

            #endregion

            if (caracterizacao.Fase <= 0)
            {
                Validacao.Add(Mensagem.Suinocultura.FaseObrigatoria);
            }


            if (caracterizacao.ExisteBiodigestor == null)
            {
                Validacao.Add(Mensagem.Suinocultura.ExisteBiodigestorObrigatorio);
            }

            if (caracterizacao.PossuiFabricaRacao == null)
            {
                Validacao.Add(Mensagem.Suinocultura.PossuiFabricaRacaoObrigatorio);
            }

            _coordenadaValidar.Salvar(caracterizacao.CoordenadaAtividade);

            return(Validacao.EhValido);
        }