Пример #1
0
        /// <summary>
        /// Salva os dados da configuração.
        /// </summary>
        /// <param name="configRegistroRentabilidade"></param>
        /// <returns></returns>
        public Colosoft.Business.SaveResult SalvarConfigRegistroRentabilidade(Entidades.ConfigRegistroRentabilidade configRegistroRentabilidade)
        {
            var resultado = SourceContext.Instance.ExecuteSave(configRegistroRentabilidade);

            if (resultado)
            {
                switch ((Rentabilidade.TipoRegistroRentabilidade)configRegistroRentabilidade.Tipo)
                {
                case Rentabilidade.TipoRegistroRentabilidade.VariavelItem:
                    AtualizarDescritoresVariaveisItens();
                    break;

                case TipoRegistroRentabilidade.Expressao:
                    AtualizarExpressoesRentabilidade();
                    break;

                case TipoRegistroRentabilidade.IndicadorFinaceiro:
                    AtualizarIndicadoresFinanceiros();
                    break;
                }
            }

            return(resultado);
        }
Пример #2
0
        /// <summary>
        /// Move a configuração para cima.
        /// </summary>
        /// <param name="configRegistroRentabilidade"></param>
        /// <param name="paraCima">Identifica se é para mover para cima.</param>
        /// <returns></returns>
        public Colosoft.Business.SaveResult MoverConfigRegistroRentabilidade(Entidades.ConfigRegistroRentabilidade configRegistroRentabilidade, bool paraCima)
        {
            var consulta = SourceContext.Instance.CreateQuery()
                           .From <Data.Model.ConfigRegistroRentabilidade>()
                           .Add("?posicao", configRegistroRentabilidade.Posicao)
                           .Take(1);

            if (paraCima)
            {
                consulta.Where("Posicao<?posicao")
                .OrderBy("Posicao DESC");
            }
            else
            {
                consulta.Where("Posicao>?posicao")
                .OrderBy("Posicao");
            }

            var config2 = consulta
                          .ProcessResult <Entidades.ConfigRegistroRentabilidade>()
                          .FirstOrDefault();

            // Verifica se encontra a configuração que será trocada
            if (config2 != null)
            {
                var posicao = configRegistroRentabilidade.Posicao;
                configRegistroRentabilidade.Posicao = config2.Posicao;
                config2.Posicao = posicao;
            }

            using (var session = SourceContext.Instance.CreateSession())
            {
                var resultado = configRegistroRentabilidade.Save(session);
                if (!resultado)
                {
                    return(resultado);
                }

                if (config2 != null)
                {
                    resultado = config2.Save(session);
                    if (!resultado)
                    {
                        return(resultado);
                    }
                }

                resultado = session.Execute(false).ToSaveResult();

                if (resultado)
                {
                    if (configRegistroRentabilidade.Tipo == (byte)TipoRegistroRentabilidade.Expressao ||
                        config2?.Tipo == (byte)TipoRegistroRentabilidade.Expressao)
                    {
                        AtualizarExpressoesRentabilidade();
                    }

                    if (configRegistroRentabilidade.Tipo == (byte)TipoRegistroRentabilidade.VariavelItem ||
                        config2?.Tipo == (byte)TipoRegistroRentabilidade.VariavelItem)
                    {
                        AtualizarDescritoresVariaveisItens();
                    }

                    if (configRegistroRentabilidade.Tipo == (byte)TipoRegistroRentabilidade.IndicadorFinaceiro ||
                        config2?.Tipo == (byte)TipoRegistroRentabilidade.IndicadorFinaceiro)
                    {
                        AtualizarIndicadoresFinanceiros();
                    }
                }

                return(resultado);
            }
        }