protected override void Dispose(bool disposing) { if (disposing) { db.Dispose(); } base.Dispose(disposing); }
protected virtual void Dispose(bool disposing) { if (!this.disposed) { if (disposing) { _context.Dispose(); } } this.disposed = true; }
private async void button1_Click(object sender, EventArgs e) { var sql = $"With Vendas as (SELECT DISTINCT [S9_Real].[dbo].[View_Movimento_Vendas_Varias_Filiais_Relatorio].Prod_Serv_Codigo, " + $"[S9_Real].[dbo].[View_Movimento_Vendas_Varias_Filiais_Relatorio].[Prod_Serv_Nome], " + $"sum([Movimento_Prod_Serv_Qtde]) AS sales ,[Filiais_Codigo] " + $"FROM [S9_Real].[dbo].[View_Movimento_Vendas_Varias_Filiais_Relatorio] " + $"join [S9_Real].[dbo].Prod_Serv on [S9_Real].[dbo].[View_Movimento_Vendas_Varias_Filiais_Relatorio].Prod_Serv_Codigo = [S9_Real].[dbo].Prod_Serv.Codigo " + $"join [S9_Real].[dbo].Fabricantes on [S9_Real].[dbo].Prod_Serv.Ordem_Fabricante = [S9_Real].[dbo].Fabricantes.Ordem " + $"WHERE Movimento_Tipo_Operacao='vnd' " + $"AND Movimento_Data >= cast('{dtpInicio.Value:yyyy-MM-dd HH:mm:ss}' as datetime) " + $"AND Movimento_Data <=cast ('{dtpFinal.Value:yyyy-MM-dd HH:mm:ss}' as datetime) " + $"AND [S9_Real].[dbo].Fabricantes.Nome='{cmbFabricantes.SelectedValue}' " + $"and 1=1 " + $"GROUP BY [S9_Real].[dbo].[View_Movimento_Vendas_Varias_Filiais_Relatorio].Prod_Serv_nome, Filiais_Codigo, Prod_Serv_Codigo), " + $"Vendo as ( SELECT * FROM Vendas pivot(max(sales) FOR Filiais_Codigo IN ([1], [2], [3], [4])) AS pivoto ), " + $"VendasRealizadas as ( SELECT *, (ISNULL(Vendo.[1],0) + ISNULL(Vendo.[2],0) + ISNULL(Vendo.[3],0)+ ISNULL(Vendo.[4],0))" + $" AS Total FROM Vendo ), " + $"ProdEstoque as ( SELECT Codigo_Prod_Serv as Prod_Serv_Codigo, max(Qtde_Estoque_Atual) " + $"AS QuantidadeEstoque, [S9_Real].[dbo].Filiais.Codigo, Prod_Serv.Codigo as codprod " + $"FROM [S9_Real].[dbo].[View_Estoque_Atual_Filial_Prod_Serv] " + $"JOIN [S9_Real].[dbo].Filiais ON [S9_Real].[dbo].[View_Estoque_Atual_Filial_Prod_Serv].Codigo_Filial = [S9_Real].[dbo].Filiais.Codigo " + $"join [S9_Real].[dbo].Prod_Serv ON View_Estoque_Atual_Filial_Prod_Serv.Codigo_Prod_Serv= Prod_Serv.Codigo " + $"WHERE Filiais.Nome!='Não Cadastrada' AND Prod_Serv.Ordem_Subclasse={(int)cmbSubClasse.SelectedValue} " + $"GROUP BY Codigo_Prod_Serv, Filiais.Codigo, Prod_Serv.Codigo, Qtde_Estoque_Atual), " + $"Estocado as ( SELECT * FROM ProdEstoque pivot(max(QuantidadeEstoque) " + $"FOR Codigo IN ([1], [2], [3], [4])) AS pivoto), " + $"Estocamento as (SELECT VendasRealizadas.Prod_Serv_Nome as [Produto], isnull(VendasRealizadas.[1], 0) AS[VendasF1], " + $"isnull(VendasRealizadas.[2], 0) AS[VendasF2], " + $"isnull(VendasRealizadas.[3], 0) AS[VendasF3], " + $"isnull(VendasRealizadas.[4], 0) AS[VendasF4], " + $"isnull(VendasRealizadas.Total, 0) AS[TotalVendas], " + $"isnull((VendasRealizadas.Total) / 3, 0) AS[MediaVendas], " + $"isnull(Estocado.[1], 0) AS[EstoqueF1], " + $"isnull(Estocado.[2], 0) AS[EstoqueF2], " + $"isnull(Estocado.[3], 0) AS[EstoqueF3], " + $"isnull(Estocado.[4], 0) AS[EstoqueF4], " + $"(ISNULL(Estocado.[1], 0) + ISNULL(Estocado.[2], 0) + ISNULL(Estocado.[3], 0) + ISNULL(Estocado.[4], 0)) AS[TotalEstoque], " + $"round(isnull((VendasRealizadas.Total - ((isnull((VendasRealizadas.Total) / 3, 0)))), 0), 0) AS[SG1], " + $"round(isnull((VendasRealizadas.Total - ((ISNULL(Estocado.[1], 0) + ISNULL(Estocado.[2], 0) + ISNULL(Estocado.[3], 0) + ISNULL(Estocado.[4], 0)))), 0), 0) AS[SG3] " + $"FROM Estocado JOIN VendasRealizadas ON VendasRealizadas.Prod_Serv_Codigo = Estocado.Prod_Serv_Codigo " + $"GROUP BY Estocado.Prod_Serv_Codigo, estocado.[1], estocado.[2], Estocado.[3], Estocado.[4], " + $"VendasRealizadas.Prod_Serv_Codigo, VendasRealizadas.[1], VendasRealizadas.[2], VendasRealizadas.[3], VendasRealizadas.[4], VendasRealizadas.Prod_Serv_Codigo, VendasRealizadas.Prod_Serv_Nome, VendasRealizadas.Total) " + $"select * from estocamento order by produto "; var context = new ShopModel(); var teste = dtpFinal.Value; if (cmbFabricantes.SelectedValue.ToString() == "Todos") { sql = sql.Replace($"AND [S9_Real].[dbo].Fabricantes.Nome='{cmbFabricantes.SelectedValue}' ", " "); } if ((int)cmbClasse.SelectedValue == 99999) { sql = sql.Replace($"AND Classes_Codigo ={(int)cmbClasse.SelectedValue} ", " "); } if ((int)cmbSubClasse.SelectedValue == 99999) { sql = sql.Replace($"AND Sub_Codigo={(int)cmbSubClasse.SelectedValue} ", " "); } if (checkBox1.Checked) { sql = sql.Replace($"select * from estocamento order by produto", $"select * from Estocamento where [SG3]>'0,00' order by Produto"); } if (cmbFiliais.SelectedValue.ToString() == "1") { if (checkBox1.Checked) { sql = sql.Replace($"select * from Estocamento where [SG3]>'0,00' order by Produto", $",Tabelas as(select Estocamento.EstoqueF1, Estocamento.MediaVendas, Estocamento.Produto, " + $"Estocamento.SG1, Estocamento.SG3,Estocamento.TotalEstoque, estocamento.TotalVendas, estocamento.VendasF1 " + $"from Estocamento where [SG3]>'0,00') select * from Tabelas order by Produto"); } else { sql = sql.Replace($"select * from Estocamento order by Produto", $",Tabelas as(select Estocamento.EstoqueF1, Estocamento.MediaVendas, Estocamento.Produto, " + $"Estocamento.SG1, Estocamento.SG3,Estocamento.TotalEstoque, estocamento.TotalVendas, estocamento.VendasF1 " + $"from Estocamento) select * from Tabelas order by Produto"); } } if (cmbFiliais.SelectedValue.ToString() == "2") { if (checkBox1.Checked) { sql = sql.Replace($"select * from Estocamento where [SG3]>'0,00' order by Produto", $",Tabelas as(select Estocamento.EstoqueF2, Estocamento.MediaVendas, Estocamento.Produto, " + $"Estocamento.SG1, Estocamento.SG3,Estocamento.TotalEstoque, estocamento.TotalVendas, estocamento.VendasF2 " + $"from Estocamento where [SG3]>'0,00') select * from Tabelas order by Produto"); } else { sql = sql.Replace($"select * from Estocamento order by Produto", $",Tabelas as(select Estocamento.EstoqueF2, Estocamento.MediaVendas, Estocamento.Produto, " + $"Estocamento.SG1, Estocamento.SG3,Estocamento.TotalEstoque, estocamento.TotalVendas, estocamento.VendasF2 " + $"from Estocamento) select * from Tabelas order by Produto"); } } if (cmbFiliais.SelectedValue.ToString() == "3") { if (checkBox1.Checked) { sql = sql.Replace($"select * from Estocamento where [SG3]>'0,00' order by Produto", $",Tabelas as(select Estocamento.EstoqueF3, Estocamento.MediaVendas, Estocamento.Produto, " + $"Estocamento.SG1, Estocamento.SG3,Estocamento.TotalEstoque, estocamento.TotalVendas, estocamento.VendasF3 " + $"from Estocamento where [SG3]>'0,00') select * from Tabelas order by Produto"); } else { sql = sql.Replace($"select * from Estocamento order by Produto", $",Tabelas as(select Estocamento.EstoqueF3, Estocamento.MediaVendas, Estocamento.Produto, " + $"Estocamento.SG1, Estocamento.SG3,Estocamento.TotalEstoque, estocamento.TotalVendas, estocamento.VendasF3 " + $"from Estocamento) select * from Tabelas order by Produto"); } } if (cmbFiliais.SelectedValue.ToString() == "4") { if (checkBox1.Checked) { sql = sql.Replace($"select * from Estocamento where [SG3]>'0,00' order by Produto", $",Tabelas as(select Estocamento.EstoqueF4, Estocamento.MediaVendas, Estocamento.Produto, " + $"Estocamento.SG1, Estocamento.SG3,Estocamento.TotalEstoque, estocamento.TotalVendas, estocamento.VendasF4 " + $"from Estocamento where [SG3]>'0,00') select * from Tabelas order by Produto"); } else { sql = sql.Replace($"select * from Estocamento order by Produto", $",Tabelas as(select Estocamento.EstoqueF4, Estocamento.MediaVendas, Estocamento.Produto, " + $"Estocamento.SG1, Estocamento.SG3,Estocamento.TotalEstoque, estocamento.TotalVendas, estocamento.VendasF4 " + $"from Estocamento) select * from Tabelas order by Produto"); } } var adapter = (IObjectContextAdapter)context; adapter.ObjectContext.CommandTimeout = 99999999; var estoque = adapter.ObjectContext.ExecuteStoreQuery <AnaliseEstoqueViewModel>(sql); AnaliseEstoqueViewModelBindingSource.DataSource = estoque; var a = new ReportParameter(); reportViewer1.LocalReport.SetParameters(new List <ReportParameter> { }); reportViewer1.RefreshReport(); context.Dispose(); }