/// <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); }
/// <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); } }