public IHttpActionResult GetListaEstoqueHistorico( [FromUri] MaterialCentroDropDownDTO dto, [FromUri] TipoDaInfo tipoC, [FromUri] bool ctLogis, [FromUri] bool adm) { LimpaResultado(dto, tipoC, adm); var _EstHIstFiltrado = Filtro.EstHist(_listaEstoqueHistorico.ToList()); string TipoDaInforamcao = null; var tipoConsulta = (int)tipoC; try { switch (tipoConsulta) { case 1: { TipoDaInforamcao = "Consumo por Valor"; break; } case 2: { TipoDaInforamcao = "Estoque por Quantidade"; break; } case 3: { TipoDaInforamcao = "Estoque por Valor"; break; } case 4: { TipoDaInforamcao = "Entrada por Quantidade"; break; } case 5: { TipoDaInforamcao = "Entrada por Valor"; break; } case 6: { var Resumo = (from x in _EstHIstFiltrado group x by x.DataLanc into g select new { data = g.Key, tipoDaInforamcao = "Estoque", m1 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 3).Sum(c => c.M1), m2 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 3).Sum(c => c.M2), m3 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 3).Sum(c => c.M3), m4 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 3).Sum(c => c.M4), m5 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 3).Sum(c => c.M5), m6 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 3).Sum(c => c.M6), m7 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 3).Sum(c => c.M7), m8 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 3).Sum(c => c.M8), m9 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 3).Sum(c => c.M9), m10 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 3).Sum(c => c.M10), m11 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 3).Sum(c => c.M11), m12 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 3).Sum(c => c.M12), acumulado = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 3).Sum(c => c.Media), }).ToList().Union( (from x in _EstHIstFiltrado group x by x.DataLanc into g select new { data = g.Key, tipoDaInforamcao = "Entrada", m1 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 5).Sum(c => c.M1), m2 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 5).Sum(c => c.M2), m3 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 5).Sum(c => c.M3), m4 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 5).Sum(c => c.M4), m5 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 5).Sum(c => c.M5), m6 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 5).Sum(c => c.M6), m7 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 5).Sum(c => c.M7), m8 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 5).Sum(c => c.M8), m9 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 5).Sum(c => c.M9), m10 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 5).Sum(c => c.M10), m11 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 5).Sum(c => c.M11), m12 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 5).Sum(c => c.M12), acumulado = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 5).Sum(c => c.Acumulado), }).ToList() ).Union( (from x in _EstHIstFiltrado group x by x.DataLanc into g select new { data = g.Key, tipoDaInforamcao = "Consumo", m1 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 1).Sum(c => c.M1), m2 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 1).Sum(c => c.M2), m3 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 1).Sum(c => c.M3), m4 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 1).Sum(c => c.M4), m5 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 1).Sum(c => c.M5), m6 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 1).Sum(c => c.M6), m7 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 1).Sum(c => c.M7), m8 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 1).Sum(c => c.M8), m9 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 1).Sum(c => c.M9), m10 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 1).Sum(c => c.M10), m11 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 1).Sum(c => c.M11), m12 = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 1).Sum(c => c.M12), acumulado = g.Where(d => Convert.ToInt16(d.TipoDaInfo) == 1).Sum(c => c.Acumulado), }).ToList() ); return(Ok(Resumo)); } default: { TipoDaInforamcao = "Consumo por Quantidade"; break; } } if (ctLogis) { if (tipoConsulta == 2 || tipoConsulta == 3) { var eHistConsumo = (from x in _EstHIstFiltrado group x by new { x.EmpresaNome, x.CentroLogisticoCodSap, x.MaterialCodSap, x.MaterialDescricao, x.MaterialUM, x.MaterialClasse, x.ClassificacaoNome, x.FamiliaNome, x.MGCodeCodigoSap, x.MGCodeDescricao, x.UserName, } into g select new { empresaNome = g.Key.EmpresaNome, centroLogisticoCodSap = g.Key.CentroLogisticoCodSap, materialCodSap = g.Key.MaterialCodSap, materialDescricao = g.Key.MaterialDescricao, materialUM = g.Key.MaterialUM, materialClasse = g.Key.MaterialClasse, classificacaoNome = g.Key.ClassificacaoNome, familiaNome = g.Key.FamiliaNome, mGCodeCodigoSap = g.Key.MGCodeCodigoSap, mGCodeDescricao = g.Key.MGCodeDescricao, userName = g.Key.UserName, tipoDaInforamcao = TipoDaInforamcao, m1 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M1), m2 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M2), m3 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M3), m4 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M4), m5 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M5), m6 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M6), m7 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M7), m8 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M8), m9 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M9), m10 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M10), m11 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M11), m12 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M12), acumulado = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.Media), }).ToList(); return(Ok(eHistConsumo)); } var zHistConsumo = (from x in _EstHIstFiltrado group x by new { x.EmpresaNome, x.CentroLogisticoCodSap, x.MaterialCodSap, x.MaterialDescricao, x.MaterialUM, x.MaterialClasse, x.ClassificacaoNome, x.FamiliaNome, x.MGCodeCodigoSap, x.MGCodeDescricao, x.UserName, } into g select new { empresaNome = g.Key.EmpresaNome, centroLogisticoCodSap = g.Key.CentroLogisticoCodSap, materialCodSap = g.Key.MaterialCodSap, materialDescricao = g.Key.MaterialDescricao, materialUM = g.Key.MaterialUM, materialClasse = g.Key.MaterialClasse, classificacaoNome = g.Key.ClassificacaoNome, familiaNome = g.Key.FamiliaNome, mGCodeCodigoSap = g.Key.MGCodeCodigoSap, mGCodeDescricao = g.Key.MGCodeDescricao, userName = g.Key.UserName, tipoDaInforamcao = TipoDaInforamcao, m1 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M1), m2 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M2), m3 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M3), m4 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M4), m5 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M5), m6 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M6), m7 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M7), m8 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M8), m9 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M9), m10 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M10), m11 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M11), m12 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M12), acumulado = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.Acumulado), }).ToList(); return(Ok(zHistConsumo)); } if (tipoConsulta == 2 || tipoConsulta == 3) { var eHistConsumo = (from x in _EstHIstFiltrado group x by new { x.EmpresaNome, x.MaterialCodSap, x.MaterialDescricao, x.MaterialUM, x.MaterialClasse, x.ClassificacaoNome, x.FamiliaNome, x.MGCodeCodigoSap, x.MGCodeDescricao, x.UserName, } into g select new { empresaNome = g.Key.EmpresaNome, materialCodSap = g.Key.MaterialCodSap, materialDescricao = g.Key.MaterialDescricao, materialUM = g.Key.MaterialUM, materialClasse = g.Key.MaterialClasse, classificacaoNome = g.Key.ClassificacaoNome, familiaNome = g.Key.FamiliaNome, mGCodeCodigoSap = g.Key.MGCodeCodigoSap, mGCodeDescricao = g.Key.MGCodeDescricao, userName = g.Key.UserName, tipoDaInforamcao = TipoDaInforamcao, m1 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M1), m2 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M2), m3 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M3), m4 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M4), m5 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M5), m6 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M6), m7 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M7), m8 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M8), m9 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M9), m10 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M10), m11 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M11), m12 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M12), acumulado = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.Media), }).ToList(); return(Ok(eHistConsumo)); } var HistConsumo = (from x in _EstHIstFiltrado group x by new { x.EmpresaNome, x.MaterialCodSap, x.MaterialDescricao, x.MaterialUM, x.MaterialClasse, x.ClassificacaoNome, x.FamiliaNome, x.MGCodeCodigoSap, x.MGCodeDescricao, x.UserName, } into g select new { empresaNome = g.Key.EmpresaNome, materialCodSap = g.Key.MaterialCodSap, materialDescricao = g.Key.MaterialDescricao, materialUM = g.Key.MaterialUM, materialClasse = g.Key.MaterialClasse, classificacaoNome = g.Key.ClassificacaoNome, familiaNome = g.Key.FamiliaNome, mGCodeCodigoSap = g.Key.MGCodeCodigoSap, mGCodeDescricao = g.Key.MGCodeDescricao, userName = g.Key.UserName, tipoDaInforamcao = TipoDaInforamcao, m1 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M1), m2 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M2), m3 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M3), m4 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M4), m5 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M5), m6 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M6), m7 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M7), m8 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M8), m9 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M9), m10 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M10), m11 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M11), m12 = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.M12), acumulado = g.Where(d => d.TipoDaInfo == tipoC).Sum(c => c.Acumulado), }).ToList(); return(Ok(HistConsumo)); } catch (Exception msg) { return(BadRequest(msg.Message)); } }