private void btRelatorio_Click(object sender, RoutedEventArgs e)
        {
            Movimentos_caixasController mc_controller = new Movimentos_caixasController();

            HashSet <Usuarios> usuarios = new HashSet <Usuarios>();
            List <Caixas>      caixas   = new List <Caixas>()
            {
                new CaixasController().Find(mc_controller.Get_ID_CaixaAtualUsuario())
            };
            HashSet <Formas_pagamento> formas_pg = new HashSet <Formas_pagamento>();

            mc_controller.DisableAntiTracking();
            List <Movimentos_caixas> movimentos = mc_controller.GetMovimentosCaixaAtual();

            foreach (Movimentos_caixas movimento in movimentos)
            {
                if (usuarios.FirstOrDefault(u => u.Id == movimento.Usuario_id) == null)
                {
                    usuarios.Add(movimento.Usuarios);
                }

                if (formas_pg.FirstOrDefault(f => f.Id == movimento.Forma_pagamento_id) == null)
                {
                    formas_pg.Add(movimento.Formas_pagamento);
                }

                movimento.Usuarios         = null;
                movimento.Formas_pagamento = null;
                movimento.Caixas           = null;
                movimento.Lojas            = null;
            }

            IControllerReport rController = ReportController.GetInstance();

            rController.AddDataSource("Movimentos_caixas", movimentos);
            rController.AddDataSource("Usuarios", usuarios);
            rController.AddDataSource("Caixas", caixas);
            rController.AddDataSource("Formas_pagamento", formas_pg);
            rController.AddDataSource("Lojas", new List <Lojas>()
            {
                UsuariosController.LojaAtual
            });

            rController.BindParameter("ValorAbertura", mc_controller.GetUltimoMovimentoAbertura().Valor);
            rController.BindParameter("TotalEntradas", mc_controller.GetTotalMovimentacoesCaixaAtual(Tipo_movimentacao_caixa.ENTRADA));
            rController.BindParameter("TotalSaidas", mc_controller.GetTotalMovimentacoesCaixaAtual(Tipo_movimentacao_caixa.SAIDA));
            rController.BindParameter("TotalCaixa", mc_controller.GetTotalCaixa());
            rController.BindParameter("UsuarioImpressao", UsuariosController.UsuarioAtual.Nome);

            rController.ShowReport("Relatório de caixa", "CXACONS001");
        }
示例#2
0
        private void Confirmar()
        {
            DataTable dataTable = new DsFechamentoCaixa().Tables[0];

            IControllerReport rController = ReportController.GetInstance();

            rController.AddDataSource("Itens_pagamento", dataTable);
            rController.BindParameter("NomeFantasia", UsuariosController.LojaAtual.Nome_fantasia);
            rController.BindParameter("RazaoSocial", UsuariosController.LojaAtual.Razao_social);
            rController.BindParameter("Usuario", UsuariosController.UsuarioAtual.Nome);
            rController.BindParameter("Caixa", new CaixasController().Find(controller.Get_ID_CaixaAtualUsuario()).Nome);
            rController.BindParameter("ValorAbertura", controller.GetUltimoMovimentoAbertura().Valor);
            rController.BindParameter("TotalEntradas", controller.GetTotalMovimentacoesCaixaAtual(Tipo_movimentacao_caixa.ENTRADA));
            rController.BindParameter("TotalSaidas", controller.GetTotalMovimentacoesCaixaAtual(Tipo_movimentacao_caixa.SAIDA));
            rController.BindParameter("TotalTroco", controller.GetTotalMovimentacoesCaixaAtual(Tipo_movimentacao_caixa.TROCO));

            int usuario_id = UsuariosController.UsuarioAtual.Id;

            foreach (ItemFpgFechamentoCaixa item in Itens_pagamento)
            {
                bool operationResult = controller.MovimentarCaixa(
                    Tipo_movimentacao_caixa.FECHAMENTO,
                    item.Valor_informado,
                    item.Forma_pagamento.Id,
                    usuario_id,
                    0,
                    $"FECHAMENTO DO CAIXA ({item.Forma_pagamento.Descricao})");

                dataTable.Rows.Add(item.Forma_pagamento.Descricao, item.Valor_informado);
                if (item.Forma_pagamento.Tipo_pagamento == (int)Tipo_pagamento.DINHEIRO)
                {
                    EfetuarTransferenciaConta();
                }
            }

            CaixaFechado = true;
            ReportDocument rpt = rController.GetReportDocument("CXACONS002");

            rpt.PrintToPrinter(1, false, 1, 1);

            Close();
        }