Exemple #1
0
        private ConfiguracaoLoja GetItem(Config.ConfigEnum item, uint idLoja, bool usarLoja)
        {
            List <ConfiguracaoLoja> retorno = null;

            retorno = objPersistence.LoadData("select * from config_loja where idConfig=" + (int)item +
                                              " and idLoja" + (usarLoja ? "=" + idLoja : " is null"));

            if ((retorno == null || retorno.Count == 0 || retorno[0].IdConfig == 0) && usarLoja)
            {
                return(GetItem(item, idLoja, false));
            }
            else
            {
                if (retorno == null || retorno.Count == 0)
                {
                    return(null);
                }

                return(retorno[0]);
            }
        }
Exemple #2
0
        /// <summary>
        /// Retorna o valor de um item do banco de dados.
        /// </summary>
        /// <param name="tipo"></param>
        /// <returns></returns>
        public object GetValue(Config.ConfigEnum item, uint idLoja)
        {
            Configuracao     config     = ConfiguracaoDAO.Instance.GetItem(item);
            ConfiguracaoLoja configLoja = ConfiguracaoLojaDAO.Instance.GetItem(item, idLoja);

            if (config == null || configLoja == null)
            {
                return(null);
            }

            switch ((Config.TipoConfigEnum)config.Tipo)
            {
            case Config.TipoConfigEnum.Decimal:
                return(configLoja.ValorDecimal);

            case Config.TipoConfigEnum.Inteiro:
            case Config.TipoConfigEnum.ListaMetodo:
                return(configLoja.ValorInteiro);

            case Config.TipoConfigEnum.Logico:
                return(configLoja.ValorBooleano);

            case Config.TipoConfigEnum.Texto:
            case Config.TipoConfigEnum.TextoCurto:
            case Config.TipoConfigEnum.GrupoEnumMetodo:
                return(configLoja.ValorTexto);

            case Config.TipoConfigEnum.Data:
                return(Conversoes.ConverteData(configLoja.ValorTexto));

            case Config.TipoConfigEnum.Enum:
                var tipo = Type.GetType(config.NomeTipoEnum, false);
                return(tipo == null ? configLoja.ValorInteiro :
                       (configLoja.ValorInteiro != null ? Enum.Parse(tipo, configLoja.ValorInteiro.ToString()) : null));

            default:
                return(null);
            }
        }
Exemple #3
0
 public Configuracao GetItem(Config.ConfigEnum item)
 {
     return(GetElementByPrimaryKey((uint)item));
 }
Exemple #4
0
        public ConfiguracaoLoja GetItem(Config.ConfigEnum item, uint idLoja)
        {
            bool usarLoja = ConfiguracaoDAO.Instance.ObtemValorCampo <bool>("usarLoja", "idConfig=" + (uint)item);

            return(GetItem(item, idLoja, usarLoja));
        }
Exemple #5
0
        /// <summary>
        /// Função executada quando o item da configuração é salvo.
        /// </summary>
        /// <param name="item"></param>
        /// <param name="valor"></param>
        private void ValorAlteradoConfig(Config.ConfigEnum item)
        {
            if (item == Config.ConfigEnum.ExibirM2CalcRelatorio)
            {
                PedidoDAO.Instance.AtualizaTotM(0);
            }

            else if (item == Config.ConfigEnum.NumeroCasasDecimaisTotM)
            {
                string sql = @"alter table produtos_orcamento change TOTM TOTM float({0},{1});
                    alter table produtos_orcamento change TOTMCALC TOTMCALC float({0},{1});
                    alter table produtos_pedido change TOTM TOTM float({0},{1});
                    alter table produtos_pedido change TOTM2CALC TOTM2CALC float({0},{1});
                    alter table produtos_pedido_espelho change TOTM TOTM float({0},{1});
                    alter table produtos_pedido_espelho change TOTM2CALC TOTM2CALC float({0},{1});
                    alter table pedido change TOTM TOTM float({0},{1});
                    alter table pedido_espelho change TOTM TOTM float({0},{1});
                    alter table material_item_projeto change TOTM TOTM float({0},{1});
                    alter table material_item_projeto change TOTM2CALC TOTM2CALC float({0},{1});
                    alter table mov_estoque change QTDEMOV QTDEMOV decimal({0},{1});
                    alter table mov_estoque_cliente change QTDEMOV QTDEMOV decimal({0},{1});
                    alter table mov_estoque_fiscal change QTDEMOV QTDEMOV decimal({0},{1});
                    alter table mov_estoque change SALDOQTDEMOV SALDOQTDEMOV decimal({0},{1});
                    alter table mov_estoque_cliente change SALDOQTDEMOV SALDOQTDEMOV decimal({0},{1});
                    alter table mov_estoque_fiscal change SALDOQTDEMOV SALDOQTDEMOV decimal({0},{1});";

                ConfiguracaoDAO.Instance.ExecuteScalar <int>(String.Format(sql, 10 + Geral.NumeroCasasDecimaisTotM,
                                                                           Geral.NumeroCasasDecimaisTotM));
            }
            else if (item == Config.ConfigEnum.PermitirLiberacaoPedidosLojasDiferentes)
            {
                if (FinanceiroConfig.DadosLiberacao.PermitirLiberacaoPedidosLojasDiferentes)
                {
                    ConfiguracaoDAO.Instance.ExecuteScalar <int>("UPDATE loja SET IgnorarLiberarApenasProdutosProntos = 0");
                }
            }
            else if (item == Config.ConfigEnum.CalcularIcmsPedido)
            {
                if (PedidoConfig.Impostos.CalcularIcmsPedido)
                {
                    ConfiguracaoDAO.Instance.ExecuteScalar <int>("UPDATE loja SET CalcularIcmsPedido = 1");
                }
                else
                {
                    ConfiguracaoDAO.Instance.ExecuteScalar <int>("UPDATE loja SET CalcularIcmsPedido = 0");
                }
            }
            else if (item == Config.ConfigEnum.CalcularIpiPedido)
            {
                if (PedidoConfig.Impostos.CalcularIpiPedido)
                {
                    ConfiguracaoDAO.Instance.ExecuteScalar <int>("UPDATE loja SET CalcularIpiPedido = 1");
                }
                else
                {
                    ConfiguracaoDAO.Instance.ExecuteScalar <int>("UPDATE loja SET CalcularIpiPedido = 0");
                }
            }
            else if (item == Config.ConfigEnum.CalcularIcmsLiberacao)
            {
                if (Liberacao.Impostos.CalcularIcmsLiberacao)
                {
                    ConfiguracaoDAO.Instance.ExecuteScalar <int>("UPDATE loja SET CalcularIcmsLiberacao = 1");
                }
                else
                {
                    ConfiguracaoDAO.Instance.ExecuteScalar <int>("UPDATE loja SET CalcularIcmsLiberacao = 0");
                }
            }
            else if (item == Config.ConfigEnum.CalcularIpiLiberacao)
            {
                if (Liberacao.Impostos.CalcularIpiLiberacao)
                {
                    ConfiguracaoDAO.Instance.ExecuteScalar <int>("UPDATE loja SET CalcularIpiLiberacao = 1");
                }
                else
                {
                    ConfiguracaoDAO.Instance.ExecuteScalar <int>("UPDATE loja SET CalcularIpiLiberacao = 0");
                }
            }
        }
Exemple #6
0
        /// <summary>
        /// Altera o valor de uma propriedade no banco de dados.
        /// </summary>
        /// <param name="item"></param>
        /// <param name="value"></param>
        /// <returns>True se o valor tiver sido alterado</returns>
        public bool SetValue(Config.ConfigEnum item, uint idLoja, object value)
        {
            /* Chamado 51923. */
            if (!ControleSistema.AmbienteTeste && !UserInfo.GetUserInfo.PodeAlterarConfiguracao)
            {
                throw new Exception("O acesso à esse sistema não foi gerado pelo SAC ou o seu tipo de usuário não possui permissão para alterar configurações " +
                                    "do WebGlass, somente visualizá-las. Verifique seu usuário no SAC e logue novamente no WebGlass através do SAC, para que o token seja gerado e " +
                                    "a alteração das configurações seja desbloqueada.");
            }

            Configuracao config = ConfiguracaoDAO.Instance.GetItem(item);

            if (config == null)
            {
                return(false);
            }

            bool             valorAlterado = false;
            ConfiguracaoLoja configLoja    = ConfiguracaoLojaDAO.Instance.GetItem(item, idLoja);

            if (configLoja == null)
            {
                configLoja          = new ConfiguracaoLoja();
                configLoja.IdConfig = config.IdConfig;
            }

            if (config.UsarLoja && configLoja.IdLoja == null)
            {
                configLoja.IdLoja = idLoja;
            }

            switch ((Config.TipoConfigEnum)config.Tipo)
            {
            case Config.TipoConfigEnum.Decimal:
                var valorDecimal = Glass.Conversoes.StrParaDecimal(value != null ? value.ToString() : "0");
                valorDecimal = config.PermitirNegativo ? valorDecimal : Math.Abs(valorDecimal);
                // Antes estava apenas fazendo um cast para "decimal?" não pode ser desta forma porque dá erro
                valorAlterado           = (configLoja.ValorDecimal == null ? 0 : configLoja.ValorDecimal.Value) != valorDecimal;
                configLoja.ValorDecimal = value != null ? (decimal?)valorDecimal : null;
                break;

            case Config.TipoConfigEnum.Inteiro:
            case Config.TipoConfigEnum.Enum:
            case Config.TipoConfigEnum.ListaMetodo:
                var valorInteiro = (int?)value;
                valorInteiro            = config.PermitirNegativo || valorInteiro == null ? valorInteiro : Math.Abs(valorInteiro.Value);
                valorAlterado           = configLoja.ValorInteiro != (int?)value;
                configLoja.ValorInteiro = value != null ? valorInteiro : null;
                break;

            case Config.TipoConfigEnum.Logico:
                valorAlterado            = configLoja.ValorBooleano != (bool)value;
                configLoja.ValorBooleano = (bool)value;
                break;

            case Config.TipoConfigEnum.Texto:
            case Config.TipoConfigEnum.TextoCurto:
            case Config.TipoConfigEnum.GrupoEnumMetodo:
            case Config.TipoConfigEnum.Data:
                valorAlterado         = configLoja.ValorTexto != value.ToString();
                configLoja.ValorTexto = value.ToString();
                break;
            }

            if (!valorAlterado)
            {
                return(false);
            }

            if (ConfiguracaoLojaDAO.Instance.ExisteConfig(configLoja))
            {
                ConfiguracaoLojaDAO.Instance.Update(configLoja);
            }
            else
            {
                ConfiguracaoLojaDAO.Instance.Insert(configLoja);
            }

            Config.RemoveConfigItem(item);
            ValorAlteradoConfig(item);

            return(true);
        }
Exemple #7
0
 /// <summary>
 /// Retorna o tipo de um item no banco de dados.
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public Config.TipoConfigEnum GetTipo(Config.ConfigEnum item)
 {
     return((Config.TipoConfigEnum)ConfiguracaoDAO.Instance.GetItem(item).Tipo);
 }
Exemple #8
0
 /// <summary>
 /// Retorna a descrição do item no banco de dados.
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public string GetDescricao(Config.ConfigEnum item)
 {
     return(ConfiguracaoDAO.Instance.GetItem(item).Descricao);
 }