public ActionResult PorMes(string periodo, int id_meta, int id_indicador) { var viewMedicoes = new ViewMedicoes(); viewMedicoes.Medicoes = db.T_Medicoes.Where(x => x.MET_ID == id_meta).ToList(); viewMedicoes.Metas = db.T_Metas.Where(x => x.IND_ID == id_indicador).ToList(); //viewMedicoes.SP_SGI_MEDICOES_MES_Result = db.SP_SGI_MEDICOES_MES(periodo, id_indicador).OrderBy(x => x.Mes).ToList(); ViewBag.diasMes = DateTime.DaysInMonth(Int32.Parse(periodo.Substring(0, 4)), Int32.Parse(periodo.Substring(4, 2))); ViewBag.anoMes = periodo.Substring(0, 6); ViewBag.dataParametro = new DateTime(Int32.Parse(periodo.Substring(0, 4)), Int32.Parse(periodo.Substring(4, 2)), 1); viewMedicoes.Indicador = db.T_Indicadores.Find(id_indicador); return(View(viewMedicoes)); }
public ActionResult Index(string searchString, int?nPageSize, int?page, int?idNegocio, int?idGrupo, int?idUnidade, int?idDepartamento, string pAno) { #region Variaveis var grafico = new ViewMedicoes(); #endregion Variaveis #region ViewBags ViewBag.idNegocio = new SelectList(db.T_Negocio, "NEG_ID", "NEG_DESCRICAO", idNegocio); ViewBag.idGrupo = new SelectList(db.T_Grupo, "GRU_ID", "NOME", idGrupo); ViewBag.idUnidade = new SelectList(db.T_Grupo, "UNI_ID", "UN", idUnidade); var anos = db.T_Medicoes.Select(x => new { Ano = x.MED_DATAMEDICAO.Substring(0, 4) }).GroupBy(x => new { x.Ano }).OrderByDescending(x => x.Key.Ano).ToList(); pAno = (pAno == "" || pAno == null ? anos.FirstOrDefault().Key.Ano : pAno); ViewBag.anoAtual = pAno; ViewBag.negAtual = idNegocio; ViewBag.grpAtual = idGrupo; //Calcula ano anterior DateTime anoAtu = DateTime.Parse("01/01/" + ViewBag.anoAtual); ViewBag.anoAnterior = anoAtu.AddYears(-1).Year.ToString(); ViewBag.pAno = new SelectList(anos, "Key.Ano", "Key.Ano", pAno); ViewBag.ItensPageSize = new SelectList(new List <int> { 5, 10, 25, 50, 100 }, selectedValue: 10); #endregion ViewBags //Chama metódo para trazer dados agrupados por indicadores e metas var indicadores = Util.ExtratorMedidor.GetIndicadores(searchString, nPageSize, page, idNegocio, idGrupo, idUnidade, idDepartamento, pAno); //Chama metódo para poder buscar dados de medições grafico.Medicoes = Util.ExtratorMedidor.GetMedicao(indicadores.ToList(), pAno); //Busca Ano Anterior grafico.AnoAnterior = new List <vw_SGI_PARAMETRO_RELMEDICOES>(); grafico.AnoAnterior = Util.QueryAnaliser.AnoAnterior(pAno);; //Busca lista de indicadores grafico.Indicadores = indicadores; return(View(grafico)); }