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"); }
public void CupomNaoFiscal() { DsCupomNaoFiscal dataSet = new DsCupomNaoFiscal(); DataTable dtMovimento = dataSet.Tables["Movimento"]; EstoqueController eController = new EstoqueController(); Grades_produtosController gController = new Grades_produtosController(); UnidadesController unController = new UnidadesController(); UsuariosController usuariosController = new UsuariosController(); ClientesController clientesController = new ClientesController(); Tipos_movimentoController tipoMovController = new Tipos_movimentoController(); Formas_pagamentoController fpgController = new Formas_pagamentoController(); if (Movimento.Usuarios == null) { Movimento.Usuarios = new UsuariosController().Find(Movimento.Usuario_id); } #region MOVIMENTO dtMovimento.Rows.Add( Movimento.Id, UsuariosController.LojaAtual.Nome_fantasia, Movimento.Usuarios.Vendedores.Count == 0 ? Movimento.Usuarios.Nome : Movimento.Usuarios.Vendedores.First().Nome, Movimento.Cliente_id == 0 ? "Não identificado" : clientesController.Find(Movimento.Cliente_id).Nome, GetTotalParcial(), GetTotalDesconto(), Movimento.Data, "", $"{UsuariosController.LojaAtual.Logradouro}, {UsuariosController.LojaAtual.Bairro} - {UsuariosController.LojaAtual.Municipio}", tipoMovController.Find(Movimento.Tipo_movimento_id).Descricao, UsuariosController.LojaAtual.Cnpj); #endregion #region ITENS_PAGAMENTO DataTable dtItens_pag = dataSet.Tables["Itens_pagamento"]; itens_pag.ForEach(e => dtItens_pag.Rows.Add( fpgController.Find(e.Forma_pagamento_id).Descricao, e.Valor )); #endregion #region ITENS_MOVIMENTO DataTable dtItens_mov = dataSet.Tables["Itens_movimento"]; foreach (Itens_movimento item in Itens_movimento) { string cod_prod = string.Empty; string descricaoProdo = item.Produtos.Descricao; string descricao_valor_unitario = string.Empty; if (!string.IsNullOrEmpty(item.Lote)) { cod_prod = item.Lote + "SL" + item.Sublote; } else if (item.Grade_id != null) { Grades_produtos grade = gController.Find(item.Grade_id); cod_prod = item.Grade_id; descricaoProdo += $" {grade.Cores.Descricao} {grade.Tamanhos.Descricao}"; } else { cod_prod = item.Produtos.Ean; } if (item.Unidades == null) { item.Unidades = unController.Find(item.Unidade_id); } descricao_valor_unitario = $"{item.Quant} {item.Unidades.Sigla} x R${item.Valor_unit}"; dtItens_mov.Rows.Add(item.Id, cod_prod, descricaoProdo, descricao_valor_unitario, item.Quant, item.Valor_final); } #endregion IControllerReport rController = ReportController.GetInstance(); rController.AddDataSource("Itens_movimento", dtItens_mov); rController.AddDataSource("Itens_pagamento", dtItens_pag); rController.AddDataSource("Movimento", dtMovimento); rController.ShowReport("MOVIMENTO", "MOV001"); }