Ejemplo n.º 1
0
        public ActionResult Editar(int ID)
        {
            Usuario UsuarioModel = UsuariosDAO.Carregar(ID);

            //Se o usuário logado for gestor pega apenas o setor do usuário atual, se não pega todos setor por ser usuário do tipo empresa
            if (Convert.ToString(Session["UsuarioTipo"]) == "Gestor")
            {
                Dictionary <int, string> SetorGestor = new Dictionary <int, string>();

                //Faz um dicionário apenas com o setor do Gestor
                SetorGestor.Add(Convert.ToInt32(Session["SetorID"]), Database.DBBuscaInfo("Setores", "ID", Convert.ToString(Session["SetorID"]), "Nome"));

                //Cria o Select List com o setor do gestor
                ViewBag.Setores = SelectListMVC.CriaListaSelecao(SetorGestor);
            }
            else
            {
                UsuariosDAO UsuariosDAO = new UsuariosDAO(ConfigurationManager.ConnectionStrings["strConMain"].ConnectionString);

                //Busca os setores e retorna um dictionary contendo os dados
                var Setores = SelectListMVC.CriaListaSelecao(UsuariosDAO.Setores());

                foreach (var item in Setores)
                {
                    if (Convert.ToInt32(item.Value) == UsuarioModel.SetorID)
                    {
                        item.Selected = true;
                        break;
                    }
                }

                ViewBag.Setores = Setores;
            }

            return(View("Editar", UsuarioModel));
        }
Ejemplo n.º 2
0
        public ActionResult Funcionario()
        {
            var ViewModel = new ViewModelDashboardFuncionario();

            UsuariosDAO UsuariosDAO = new UsuariosDAO(ConfigurationManager.ConnectionStrings["strConMain"].ConnectionString);

            ViewModel.Usuario = UsuariosDAO.Carregar(Convert.ToInt32(Session["UsuarioID"]));

            TarefasDAO TarefasDAO = new TarefasDAO(ConfigurationManager.ConnectionStrings["strConMain"].ConnectionString);

            //Busca as tarefa com status Fazer
            ViewModel.ListFazer = TarefasDAO.ListarTop(ConfigurationManager.AppSettings["Fazer"], 0, 3);

            CompetenciasDAO CompetenciasDAO = new CompetenciasDAO(ConfigurationManager.ConnectionStrings["strConMain"].ConnectionString);

            ViewModel.ListCompetencias = CompetenciasDAO.Listar();

            foreach (var item in ViewModel.ListCompetencias)
            {
                item.Pontos = CompetenciasDAO.CompetenciaPontos(item.ID);
            }

            //Cria model com as propriedades da agenda
            ViewModel.ListAgenda = new List <Agenda>();

            //Busca tarefas para montar a agenda com as mesmas, mesmo que não esteja integrado com Google as tarefas aparecem no calendário
            ViewModel.ListAgenda = TarefasDAO.ListarTarefasAgenda();

            CalendarService service = OAuthService.OAuthLogged
                                      (
                Convert.ToString(Session["UsuarioID"]),
                ConfigurationManager.ConnectionStrings["strConMain"].ConnectionString,
                ConfigurationManager.AppSettings["RedirectUriAgenda"] + "/Dashboard/SincronizarAgenda",
                "Calendar API",
                new[] { CalendarService.Scope.CalendarReadonly, CalendarService.Scope.Calendar }
                                      );

            if (service != null)
            {
                ViewModel.ListAgenda = ViewModel.ListAgenda == null ? new List <Agenda>() : ViewModel.ListAgenda;

                //Cria serviço para buscar agendas do usuário
                var ListaAgendas = service.CalendarList.List();

                //Pega todas as agendas do usuário
                var Agendas = ListaAgendas.Execute();

                //Para cada agenda busca todos os eventos
                foreach (var item in Agendas.Items)
                {
                    //Define os parâmetros do request.
                    EventsResource.ListRequest request = service.Events.List(item.Id);
                    //request.TimeMin = DateTime.Now;
                    request.ShowDeleted  = false;
                    request.SingleEvents = true;
                    request.MaxResults   = 10000;
                    request.OrderBy      = EventsResource.ListRequest.OrderByEnum.StartTime;

                    //Lista de eventos.
                    Events events = request.Execute();

                    //Se encontrou eventos no calendário, pega os dados
                    if (events.Items != null && events.Items.Count > 0)
                    {
                        foreach (var eventItem in events.Items)
                        {
                            ViewModel.ListAgenda.Add(new Agenda()
                            {
                                Titulo     = !string.IsNullOrEmpty(eventItem.Summary) ? eventItem.Summary.Replace("'", "") : "",
                                DataInicio = Convert.ToDateTime(eventItem.Start.DateTime),
                                DataFim    = Convert.ToDateTime(eventItem.End.DateTime),
                                Cor        = "#3a87ad"
                            });
                        }
                        ViewModel.IconeRefreshCor = "green";
                    }
                }
            }
            else
            {
                ViewModel.IconeRefreshCor = "red";
            }

            return(View(ViewModel));
        }