public ActionResult ObterAgrupar(ConfiguracaoRelatorio configuracao)
        {
            PersonalizadoVM vm = new PersonalizadoVM(_fatoBus.ObterFonteDados());

            vm.CaminhoImagem                    = Url.Content("~/Content/_img/exemp_agrup_relatorios.jpg");
            vm.ConfiguracaoRelatorio            = configuracao;
            vm.ConfiguracaoRelatorio.FonteDados = _fatoBus.Obter(vm.ConfiguracaoRelatorio.FonteDados.Id);
            List <Lista> lista = new List <Lista>();

            foreach (var item in vm.ConfiguracaoRelatorio.FonteDados.CamposExibicao)
            {
                lista.Add(new Lista()
                {
                    Id    = item.Id.ToString(),
                    Texto = item.DimensaoNome + " - " + item.Alias
                });
            }

            int selecionado = 0;

            if (configuracao.Agrupamentos != null && configuracao.Agrupamentos.Count > 0)
            {
                selecionado = configuracao.Agrupamentos.First().Campo.Id;
            }

            vm.CamposLst = ViewModelHelper.CriarSelectList(lista.OrderBy(x => x.Texto).ToList(), false, true, selecionado.ToString());

            return(PartialView("Agrupar", vm));
        }
        public ActionResult ObterFinalizar(ConfiguracaoRelatorio configuracao)
        {
            PersonalizadoVM vm = new PersonalizadoVM();

            vm.ConfiguracaoRelatorio = configuracao;
            return(PartialView("Finalizar", vm));
        }
        public ActionResult ObterDimensionar(ConfiguracaoRelatorio configuracao)
        {
            PersonalizadoVM vm = new PersonalizadoVM();

            vm.ConfiguracaoRelatorio = configuracao;
            vm.ConfiguracaoRelatorio.CamposSelecionados = vm.ConfiguracaoRelatorio.CamposSelecionados.OrderBy(x => x.Posicao).ToList();

            int soma = vm.ConfiguracaoRelatorio.CamposSelecionados.Sum(x => x.Tamanho);

            if (soma != 100 || (vm.ConfiguracaoRelatorio.CamposSelecionados.Count != vm.ConfiguracaoRelatorio.CamposSelecionados.Where(x => x.Tamanho > 0).Count()))
            {
                int larguraInical = 100 / vm.ConfiguracaoRelatorio.CamposSelecionados.Count;
                vm.ConfiguracaoRelatorio.CamposSelecionados.ForEach(x =>
                {
                    x.Tamanho = larguraInical;
                });

                soma = vm.ConfiguracaoRelatorio.CamposSelecionados.Sum(x => x.Tamanho);
                if (soma > 100)
                {
                    larguraInical = larguraInical - (soma - 100);
                }
                else if (soma < 100)
                {
                    larguraInical = larguraInical + (100 - soma);
                }
                vm.ConfiguracaoRelatorio.CamposSelecionados.Last().Tamanho = larguraInical;
            }

            return(PartialView("Dimensionar", vm));
        }
        public ActionResult ObterOrdenarColunas(ConfiguracaoRelatorio configuracao)
        {
            PersonalizadoVM vm = new PersonalizadoVM();

            vm.ConfiguracaoRelatorio = configuracao;
            vm.ConfiguracaoRelatorio.CamposSelecionados = vm.ConfiguracaoRelatorio.CamposSelecionados.OrderBy(x => x.Posicao).ToList();
            return(PartialView("OrdenarColunas", vm));
        }
        public ActionResult ObterFiltros(ConfiguracaoRelatorio configuracao)
        {
            PersonalizadoVM vm = new PersonalizadoVM();

            vm.ConfiguracaoRelatorio            = configuracao;
            vm.ConfiguracaoRelatorio.FonteDados = _fatoBus.Obter(vm.ConfiguracaoRelatorio.FonteDados.Id);
            vm.OperadoresLst = ViewModelHelper.CriarSelectList(_bus.ObterOperadores(null), false, false);
            return(PartialView("Filtros", vm));
        }
        public ActionResult ObterOrdenarValores(ConfiguracaoRelatorio configuracao)
        {
            PersonalizadoVM vm = new PersonalizadoVM();

            vm.ConfiguracaoRelatorio            = configuracao;
            vm.ConfiguracaoRelatorio.FonteDados = _fatoBus.Obter(vm.ConfiguracaoRelatorio.FonteDados.Id);
            vm.DimensoesLst = ViewModelHelper.CriarSelectList(configuracao.FonteDados.DimensoesLst, false, false);
            return(PartialView("OrdenarValores", vm));
        }
        public ActionResult Editar(int id)
        {
            PersonalizadoVM vm = new PersonalizadoVM(_fatoBus.ObterFonteDados());

            vm.ConfiguracaoRelatorio            = _bus.Obter(id).ConfiguracaoRelatorio;
            vm.ConfiguracaoRelatorio.FonteDados = _fatoBus.Obter(vm.ConfiguracaoRelatorio.FonteDados.Id);
            vm.Id = id;

            return(View(vm));
        }
        public ActionResult ObterSumarizar(ConfiguracaoRelatorio configuracao)
        {
            PersonalizadoVM vm = new PersonalizadoVM();

            vm.ConfiguracaoRelatorio = configuracao;
            vm.ConfiguracaoRelatorio.CamposSelecionados = vm.ConfiguracaoRelatorio.CamposSelecionados
                                                          .Where(x => x.Campo.TipoDados == (int)eTipoDados.Inteiro || x.Campo.TipoDados == (int)eTipoDados.Real)
                                                          .OrderBy(x => x.Campo.Alias).OrderBy(x => x.Campo.DimensaoNome).ToList();

            return(PartialView("Sumarizar", vm));
        }
        public ActionResult ObterOpcoes(ConfiguracaoRelatorio configuracao, bool obterCamposFato = false)
        {
            PersonalizadoVM vm = new PersonalizadoVM(_fatoBus.ObterFonteDados());

            vm.ConfiguracaoRelatorio = configuracao;

            vm.ConfiguracaoRelatorio.FonteDados = _fatoBus.Obter(vm.ConfiguracaoRelatorio.FonteDados.Id);

            if (obterCamposFato)
            {
                vm.ConfiguracaoRelatorio.CamposSelecionados.Clear();
            }

            return(PartialView("Opcoes", vm));
        }
        public ActionResult Criar()
        {
            PersonalizadoVM vm = new PersonalizadoVM(_fatoBus.ObterFonteDados());

            return(View(vm));
        }
        public ActionResult Importar()
        {
            PersonalizadoVM vm = new PersonalizadoVM();

            return(View(vm));
        }