public ActionResult Badges() { var ViewModel = new ViewModelGraficoBadges(); if (Convert.ToString(Session["UsuarioTipo"]) == "Empresa") { //Busca todos os setores e retorna um dictionary contendo os dados e retorna o select list ViewBag.Setores = SelectListMVC.CriaListaSelecao(GraficosDAO.Setores()); } int usuarioID = 0; //Busca todos os usuários e retorna um dictionary contendo os dados e retorna o select list var Usuarios = SelectListMVC.CriaListaSelecao(GraficosDAO.Usuarios(!string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : 0)); foreach (var item in Usuarios) { if (Convert.ToInt32(item.Value) == Convert.ToInt32(Session["UsuarioID"])) { item.Selected = true; usuarioID = Convert.ToInt32(item.Value); break; } } ViewBag.Usuarios = Usuarios; ViewModel.ListBadgeBasicas = GraficosDAO.Badges("Basica", !string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : 0); ViewModel.ListBadgeIntermediarias = GraficosDAO.Badges("Intermediaria", !string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : 0); ViewModel.ListBadgeAvancadas = GraficosDAO.Badges("Avancada", !string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : 0); //Busca o total de usuário da empresa, caso o usuário logado seja gestor ou funcionário busca o total de usuários do setor correspondente ViewModel.TotalUsuarios = GraficosDAO.TotalUsuarios(!string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : 0); foreach (var item in ViewModel.ListBadgeBasicas) { ViewModel.TotalBadgesAdquiridas = GraficosDAO.BadgeAdquiridas(!string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : 0, usuarioID, item.ID); if (ViewModel.TotalBadgesAdquiridas != 0) { item.Adquirida = true; item.Progresso = Math.Round(((double)ViewModel.TotalBadgesAdquiridas / ViewModel.TotalUsuarios) * 100, 0); } else { if (usuarioID == 0) { item.Adquirida = true; } } } foreach (var item in ViewModel.ListBadgeIntermediarias) { ViewModel.TotalBadgesAdquiridas = GraficosDAO.BadgeAdquiridas(!string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : 0, usuarioID, item.ID); if (ViewModel.TotalBadgesAdquiridas != 0) { item.Adquirida = true; item.Progresso = Math.Round(((double)ViewModel.TotalBadgesAdquiridas / ViewModel.TotalUsuarios) * 100, 0); } else { if (usuarioID == 0) { item.Adquirida = true; } } } foreach (var item in ViewModel.ListBadgeAvancadas) { ViewModel.TotalBadgesAdquiridas = GraficosDAO.BadgeAdquiridas(!string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : 0, usuarioID, item.ID); if (ViewModel.TotalBadgesAdquiridas != 0) { item.Adquirida = true; item.Progresso = Math.Round(((double)ViewModel.TotalBadgesAdquiridas / ViewModel.TotalUsuarios) * 100, 0); } else { if (usuarioID == 0) { item.Adquirida = true; } } } ViewBag.UsuarioID = usuarioID; return(View(ViewModel)); }
public ActionResult Badges(int FiltroSetor = 0, int FiltroUsuario = 0) { var ViewModel = new ViewModelGraficoBadges(); ViewModel.ListBadgeBasicas = GraficosDAO.Badges("Basica", !string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : FiltroSetor); ViewModel.ListBadgeIntermediarias = GraficosDAO.Badges("Intermediaria", !string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : FiltroSetor); ViewModel.ListBadgeAvancadas = GraficosDAO.Badges("Avancada", !string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : FiltroSetor); //Busca o total de usuário da empresa, caso o usuário logado seja gestor ou funcionário busca o total de usuários do setor correspondente ViewModel.TotalUsuarios = GraficosDAO.TotalUsuarios(!string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : FiltroSetor); foreach (var item in ViewModel.ListBadgeBasicas) { ViewModel.TotalBadgesAdquiridas = GraficosDAO.BadgeAdquiridas(!string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : FiltroSetor, FiltroUsuario, item.ID); if (ViewModel.TotalBadgesAdquiridas != 0) { item.Adquirida = true; item.Progresso = Math.Round(((double)ViewModel.TotalBadgesAdquiridas / ViewModel.TotalUsuarios) * 100, 0); } else { if (FiltroUsuario == 0) { item.Adquirida = true; } } } foreach (var item in ViewModel.ListBadgeIntermediarias) { ViewModel.TotalBadgesAdquiridas = GraficosDAO.BadgeAdquiridas(!string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : FiltroSetor, FiltroUsuario, item.ID); if (ViewModel.TotalBadgesAdquiridas != 0) { item.Adquirida = true; item.Progresso = Math.Round(((double)ViewModel.TotalBadgesAdquiridas / ViewModel.TotalUsuarios) * 100, 0); } else { if (FiltroUsuario == 0) { item.Adquirida = true; } } } foreach (var item in ViewModel.ListBadgeAvancadas) { ViewModel.TotalBadgesAdquiridas = GraficosDAO.BadgeAdquiridas(!string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : FiltroSetor, FiltroUsuario, item.ID); if (ViewModel.TotalBadgesAdquiridas != 0) { item.Adquirida = true; item.Progresso = Math.Round(((double)ViewModel.TotalBadgesAdquiridas / ViewModel.TotalUsuarios) * 100, 0); } else { if (FiltroUsuario == 0) { item.Adquirida = true; } } } ViewBag.UsuarioID = FiltroUsuario; //Recarrega o dropdownlist de setores setando o valor que havia sido usado como filtro var Setores = SelectListMVC.CriaListaSelecao(GraficosDAO.Setores()); foreach (var item in Setores) { if (Convert.ToInt32(item.Value) == FiltroSetor) { item.Selected = true; break; } } ViewBag.Setores = Setores; //Recarrega o dropdownlist de usuários setando o valor que havia sido usado como filtro var Usuarios = SelectListMVC.CriaListaSelecao(GraficosDAO.Usuarios(!string.IsNullOrEmpty(Convert.ToString(Session["SetorID"])) ? Convert.ToInt32(Session["SetorID"]) : FiltroSetor)); foreach (var item in Usuarios) { if (Convert.ToInt32(item.Value) == FiltroUsuario) { item.Selected = true; break; } } ViewBag.Usuarios = Usuarios; return(View(ViewModel)); }