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]); } }
/// <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); } }
public Configuracao GetItem(Config.ConfigEnum item) { return(GetElementByPrimaryKey((uint)item)); }
public ConfiguracaoLoja GetItem(Config.ConfigEnum item, uint idLoja) { bool usarLoja = ConfiguracaoDAO.Instance.ObtemValorCampo <bool>("usarLoja", "idConfig=" + (uint)item); return(GetItem(item, idLoja, usarLoja)); }
/// <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"); } } }
/// <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); }
/// <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); }
/// <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); }