예제 #1
0
        public bool Salvar(ConfigFiscalizacao configuracao)
        {
            var isCadastrar = configuracao.Id == 0;

            try
            {
                if (_validar.Salvar(configuracao))
                {
                    GerenciadorTransacao.ObterIDAtual();

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

                        _da.Salvar(configuracao, bancoDeDados);

                        Validacao.Add(isCadastrar ? Mensagem.FiscalizacaoConfiguracao.Cadastrar(configuracao.Id.ToString()) : Mensagem.FiscalizacaoConfiguracao.Editar(configuracao.Id.ToString()));

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

            return(Validacao.EhValido);
        }
예제 #2
0
        public ConfigFiscalizacao Obter(int id, BancoDeDados banco = null)
        {
            ConfigFiscalizacao entidade = null;

            try
            {
                entidade = _da.Obter(id);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(entidade);
        }
예제 #3
0
        public bool Salvar(ConfigFiscalizacao configuracao)
        {
            Mensagem      msg    = null;
            List <string> lstMsg = new List <string>();

            if (configuracao.ClassificacaoId == 0)
            {
                Validacao.Add(Mensagem.FiscalizacaoConfiguracao.ClassificacaoObrigatorio);
            }

            if (configuracao.TipoId == 0)
            {
                Validacao.Add(Mensagem.FiscalizacaoConfiguracao.TipoObrigatorio);
            }
            else if (!_da.TipoIsAtivo(configuracao.TipoId))
            {
                msg       = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Tipo de infração", configuracao.TipoTexto);
                msg.Campo = "Configuracao_Tipo";
                Validacao.Add(msg);
            }

            if (configuracao.ItemId == 0)
            {
                Validacao.Add(Mensagem.FiscalizacaoConfiguracao.ItemObrigatorio);
            }
            else if (!_da.ItemIsAtivo(configuracao.ItemId))
            {
                msg       = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Item", configuracao.ItemTexto);
                msg.Campo = "Configuracao_Item";
                Validacao.Add(msg);
            }

            if (configuracao.Id == 0)
            {
                var config = _da.Obter(configuracao.ClassificacaoId, configuracao.TipoId, configuracao.ItemId);

                if (config.GetValue <int>("Id") > 0)
                {
                    Validacao.Add(Mensagem.FiscalizacaoConfiguracao.ConfiguracaoCadastrada);
                }
            }

            configuracao.Subitens.ForEach(x =>
            {
                if (!_da.SubitemIsAtivo(x.SubItemId))
                {
                    lstMsg.Add(x.SubItemTexto);
                }
            });

            if (lstMsg.Count == 1)
            {
                msg       = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Subitem", lstMsg[0]);
                msg.Campo = "fsSubitens";
                Validacao.Add(msg);
            }
            else if (lstMsg.Count > 1)
            {
                msg       = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Subitens", Mensagem.Concatenar(lstMsg), true);
                msg.Campo = "fsSubitens";
                Validacao.Add(msg);
            }

            lstMsg = new List <string>();

            configuracao.Perguntas.ForEach(x =>
            {
                if (!_da.PerguntaIsAtivo(x.PerguntaId))
                {
                    lstMsg.Add(x.PerguntaTexto);
                }
            });

            if (lstMsg.Count == 1)
            {
                msg       = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Pergunta", lstMsg[0]);
                msg.Campo = "fsPerguntas";
                Validacao.Add(msg);
            }
            else if (lstMsg.Count > 1)
            {
                msg       = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Perguntas", Mensagem.Concatenar(lstMsg), true);
                msg.Campo = "fsPerguntas";
                Validacao.Add(msg);
            }

            lstMsg = new List <string>();

            configuracao.Campos.ForEach(x =>
            {
                if (!_da.CampoIsAtivo(x.CampoId))
                {
                    lstMsg.Add(x.CampoTexto);
                }
            });

            if (lstMsg.Count == 1)
            {
                msg       = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Campo", lstMsg[0]);
                msg.Campo = "fsCampos";
                Validacao.Add(msg);
            }
            else if (lstMsg.Count > 1)
            {
                msg       = Mensagem.FiscalizacaoConfiguracao.ItemDesativado("Campos", Mensagem.Concatenar(lstMsg), true);
                msg.Campo = "fsCampos";
                Validacao.Add(msg);
            }

            return(Validacao.EhValido);
        }