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"); }
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(); }