private UsuarioViewModelPerfil CarregarDadosUsuario()
        {
            //obtendo usuario da sessao
            Usuario usuarioSessao = (Usuario)Session["usuario"];

            Usuario u = appUsuario.ObterPorId(usuarioSessao.IdUsuario);

            UsuarioViewModelPerfil model = new UsuarioViewModelPerfil()
            {
                IdUsuario      = u.IdUsuario,
                Nome           = u.Nome,
                Email          = u.Email,
                Telefone       = u.Telefone,
                Celular        = u.Celular,
                DataCadastro   = u.DataCadastro,
                Avatar         = u.Foto,
                IdGrupo        = u.IdGrupo,
                Ativo          = u.Ativo,
                Perfil         = u.Perfil,
                ListagemGrupos = new List <SelectListItem>()
            };

            //listar todos os grupos ativos
            foreach (Grupo g in appGrupo.ListarAtivos())
            {
                SelectListItem item = new SelectListItem();

                item.Text  = g.Nome;
                item.Value = g.IdGrupo.ToString();

                model.ListagemGrupos.Add(item);
            }

            // para listar todos os projetos do sistema
            model.ListagemProjetos = new List <ProjetoViewModelConsulta>();

            foreach (var p in appProjeto.ListarTodos())
            {
                model.ListagemProjetos.Add(new ProjetoViewModelConsulta()
                {
                    IdProjeto  = p.IdProjeto,
                    Nome       = p.Nome,
                    DataInicio = p.DataInicio,
                    DataFim    = p.DataFim,
                    Status     = p.Status
                });
            }

            // seleciona os projetos em que o usuario logado esta participando
            foreach (var pa in appParticipacao.ListarPorUsuario(model.IdUsuario))
            {
                var item = model.ListagemProjetos.FirstOrDefault(p => p.IdProjeto == pa.IdProjeto);
                if (item != null)
                {
                    item.Selecionado = true;
                }
            }

            return(model);
        }
Example #2
0
        public ActionResult Perfil(UsuarioViewModelPerfil model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Criptografia c = new Criptografia();

                    Usuario u = new Usuario();

                    u.IdUsuario    = model.IdUsuario;
                    u.Nome         = model.Nome.ToUpper();
                    u.Email        = model.Email.ToUpper();
                    u.Telefone     = model.Telefone;
                    u.Celular      = model.Celular;
                    u.DataCadastro = model.DataCadastro;
                    u.IdGrupo      = model.IdGrupo;
                    u.Ativo        = model.Ativo;
                    u.Perfil       = model.Perfil;
                    u.Senha        = c.EncriptarSenha(model.Senha);

                    UsuarioRepositorio rep = new UsuarioRepositorio();

                    rep.Atualizar(u);

                    ViewBag.MsgSucesso = "Usuário atualizado com sucesso.";
                }
                catch (Exception e)
                {
                    ViewBag.MsgErro = "Erro: " + e.Message;
                }
            }

            return(View(new UsuarioViewModelPerfil()));
        }
Example #3
0
        public ActionResult Perfil()
        {
            Usuario usuarioSessao = (Usuario)Session["usuario"];

            UsuarioRepositorio rep = new UsuarioRepositorio();

            Usuario u = rep.ObterPorId(usuarioSessao.IdUsuario);

            UsuarioViewModelPerfil model = new UsuarioViewModelPerfil();

            model.IdUsuario    = u.IdUsuario;
            model.Nome         = u.Nome;
            model.Email        = u.Email;
            model.Telefone     = u.Telefone;
            model.Celular      = u.Celular;
            model.DataCadastro = u.DataCadastro;

            model.IdGrupo = u.IdGrupo;
            model.Ativo   = u.Ativo;
            model.Perfil  = u.Perfil;

            return(View(model));
        }
        public JsonResult AtualizarPerfil(UsuarioViewModelPerfil model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Usuario u = new Usuario();

                    u.IdUsuario    = model.IdUsuario;
                    u.Nome         = model.Nome.ToUpper();
                    u.Email        = model.Email.ToUpper();
                    u.Telefone     = model.Telefone;
                    u.Celular      = model.Celular;
                    u.DataCadastro = model.DataCadastro;
                    u.IdGrupo      = model.IdGrupo;
                    u.Ativo        = model.Ativo;
                    u.Perfil       = model.Perfil;
                    u.Senha        = model.Senha;

                    u.Participacoes = new List <Participacao>();

                    //verifica se foi selecionado algum projeto na tela de edicao de perfil
                    if (Request.Form.GetValues("projetos") != null)
                    {
                        //obtendo os ids dos projetos selecionados na tela de perfil
                        foreach (var idProjeto in Request.Form.GetValues("projetos"))
                        {
                            u.Participacoes.Add(
                                new Participacao()
                            {
                                IdUsuario = u.IdUsuario,
                                IdProjeto = int.Parse(idProjeto)
                            });
                        }
                    }

                    if (model.Foto != null && model.Foto.ContentLength > 0)
                    {
                        Stream stream  = model.Foto.InputStream;
                        byte[] appData = new byte[model.Foto.ContentLength + 1];
                        stream.Read(appData, 0, model.Foto.ContentLength);
                        u.Foto = appData;
                        //exibir na tela
                        model.Avatar = u.Foto;
                    }

                    appUsuario.Atualizar(u);

                    // Atualiza o Usuário na sessão
                    Session.Add("usuario", u);

                    ViewBag.MsgSucesso = $"Usuário {u.Nome}, atualizado com sucesso.";
                }
                catch (Exception e)
                {
                    ViewBag.MsgErro = "Erro: " + e.Message;
                }
            }

            return(Json(CarregarDadosUsuario()));
            //return View(CarregarDadosUsuario());
        }