/// <summary>
        /// Adiciona uma novo usuário
        /// </summary>
        /// <param name="usuario">The usuario.</param>
        public void Adiciona(CadastroDeUsuario usuario)
        {
            ITransaction transacao = session.BeginTransaction();

            session.Save(usuario);
            transacao.Commit();
        }
        /// <summary>
        /// Exclui um usuário
        /// </summary>
        /// <param name="usuario">The usuario.</param>
        public void Exclui(CadastroDeUsuario usuario)
        {
            ITransaction transacao = session.BeginTransaction();

            session.Delete(usuario);
            transacao.Commit();
        }
Ejemplo n.º 3
0
        public ActionResult Index(int?pagina)
        {
            //Tratar aqui uma mensagem bonitinha para o usuário que sua sessão expirou.
            if (!WebSecurity.Initialized)
            {
                //RedirectToAction("Logout", "Home");

                return(new HttpStatusCodeResult(HttpStatusCode.RequestTimeout));
            }

            //Recupera a session para o cadasrtro de usuário
            CadastroDeUsuario usuario = (CadastroDeUsuario)Session["Usuario"];

            int paginaAtual     = (pagina ?? 1) - 1;
            int tamanhoDaPagina = 10; //Registros por página
            int totalDeRegistros;

            //Monta o modelo das despesas
            var despesas = despesasDAO.GetDespesas(usuario, paginaAtual, tamanhoDaPagina, out totalDeRegistros);

            //Monta a paginacao
            var umaPaginaDeDespesas = new StaticPagedList <Despesas>(despesas, paginaAtual + 1, tamanhoDaPagina, totalDeRegistros);


            ViewBag.DespesasCount       = totalDeRegistros;
            ViewBag.UmaPaginaDeDespesas = umaPaginaDeDespesas;

            return(View(despesas));
        }
Ejemplo n.º 4
0
        public ActionResult <NotificacaoPost> Post(CadastroDeUsuario Usuario)
        {
            NotificacaoPost notificacaoPost = new NotificacaoPost();

            try
            {
                Pessoa pessoa = new Pessoa();
                pessoa.EstadoId     = Usuario.Estado.Id;
                pessoa.CidadeId     = Usuario.Cidade.Id;
                pessoa.Nome         = Usuario.NomeCompleto;
                pessoa.PrimeiroNome = Usuario.PrimeiroNome;
                pessoa.Senha        = Usuario.Senha;
                pessoa.SexoId       = Usuario.Sexo.Id;
                pessoa.Email        = Usuario.Email;

                _pessoaServico.CadastrarPessoa(pessoa);
                return(notificacaoPost);
            }
            catch (Exception e)
            {
                notificacaoPost.Sucesso  = false;
                notificacaoPost.Mensagem = "Erro ao salvar o usuário. Erro: " + e.Message;
                return(notificacaoPost);
            }
        }
        public ActionResult Autentica(Autenticacao autenticacao)
        {
            if (autenticacao == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.Forbidden));
            }

            if (WebSecurity.Login(autenticacao.Login, autenticacao.Senha))
            {
                //Cria a Sessão de página
                CadastroDeUsuario usuario = usuarioDAO.GetById(WebSecurity.GetUserId(autenticacao.Login));
                Session["Usuario"] = usuario;
                Session.Timeout    = 15;

                //no primeiro acesso cria o diretorio de imagens do usuário
                DiretorioFactory.Cria(usuario.Id, Server.MapPath("~/Content/Images/Users/"));


                //Faz o retorno para o Ajax
                return(Json(new { success = true, responseText = "" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { success = false, responseText = "" }, JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 6
0
        public ActionResult RecoverPasswordResult(RecoverPasswordModelView recover)
        {
            if (recover == null)
            {
                return(View("RecoverPassword", recover));
            }

            usuario = usuarioDAO.GetByEmail(recover.Email);

            if (usuario == null)
            {
                return(View("RecoverPassword", recover));
            }

            MembershipUser user = Membership.GetUser(usuario.Login);

            usuario.LastTokenForRecover = Membership.GeneratePassword(12, 1);

            //Envia o Token de recupeação de senha
            try
            {
                MailFactory email = new MailFactory(usuario.Email, "*****@*****.**", "Recuperação de Login", "Token: " + usuario.LastTokenForRecover);

                email.Send();
            }
            catch (ArgumentException ex)
            {
            }

            return(View());
        }
        /// <summary>
        /// Altera um usuário
        /// </summary>
        /// <param name="usuario">The usuario.</param>
        public void Altera(CadastroDeUsuario usuario)
        {
            ITransaction transacao = session.BeginTransaction();

            session.Merge(usuario);
            transacao.Commit();
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Obtem os centros de custo pelo aprovador
        /// </summary>
        /// <param name="aprovador">The aprovador.</param>
        /// <returns></returns>
        public IList <CentroDeCusto> GetByAprovador(CadastroDeUsuario aprovador)
        {
            var list = session.QueryOver <CentroDeCusto>()
                       .Where(c => c.Aprovador == aprovador)
                       .List();

            return(list);
        }
        /// <summary>
        /// Retorna todas as despesas do usuário atual
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public IList <Despesas> GetDespesas(CadastroDeUsuario usuario)
        {
            var despesas = session.QueryOver <Despesas>()
                           .Where(d => d.UsuarioInclusao == usuario)
                           .List();

            return(despesas);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Lista todos os Centro de Custos que um usuário pode aprovar
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public IList <AprovadorPorCC> ListByUsuario(CadastroDeUsuario usuario)
        {
            var list = session.QueryOver <AprovadorPorCC>()
                       .Where(x => x.Usuario == usuario)
                       .List();

            return(list);
        }
        /// <summary>
        /// Gets the by email.
        /// </summary>
        /// <param name="email">The email.</param>
        /// <returns></returns>
        public CadastroDeUsuario GetByEmail(string email)
        {
            CadastroDeUsuario usuario = session.QueryOver <CadastroDeUsuario>()
                                        .Where(u => u.Email == email)
                                        .SingleOrDefault();

            return(usuario);
        }
        /// <summary>
        /// Gets the by identifier.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <returns></returns>
        public CadastroDeUsuario GetById(int id)
        {
            CadastroDeUsuario usuario = session.QueryOver <CadastroDeUsuario>()
                                        .Where(u => u.Id == id)
                                        .SingleOrDefault <CadastroDeUsuario>();

            return(usuario);
        }
        /// <summary>
        /// Retorna todas as despesas aprovadas do usuário atual
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public IList <Despesas> GetDespesasApproved(CadastroDeUsuario usuario)
        {
            var despesas = session.QueryOver <Despesas>()
                           .Where(d => d.DataAprovacao != null)
                           .And(d => d.DataReprovacao == null)
                           .And(d => d.UsuarioInclusao == usuario)
                           .List();

            return(despesas);
        }
Ejemplo n.º 14
0
        public JsonResult GetByLocation(string Location)
        {
            CadastroDeUsuario usuario = (CadastroDeUsuario)Session["Usuario"];

            if (usuario != null)
            {
                return(Json(new { success = true, menu = MakeMenu.RecoveryByLocation(Location, usuario.Role) }));
            }
            return(Json(new { success = true, menu = "" }));
        }
        /// <summary>
        /// Gera a lista de Despesa com base em uma estrutura de  Json,  com a data de inclusao e cadastro de uuário determinado
        /// </summary>
        /// <param name="lista">The lista.</param>
        /// <param name="usuario">The usuario.</param>
        /// <param name="dataInclusao">The data inclusao.</param>
        /// <returns></returns>
        public static List <Despesas> GeraLista(IList <DespesasJson> lista, CadastroDeUsuario usuario, DateTime dataInclusao)
        {
            List <Despesas> despesas = new List <Despesas>();

            for (int i = 0; i < lista.Count; i++)
            {
                despesas.Add(Gera(lista[i], dataInclusao, usuario));
            }
            return(despesas);
        }
        /// <summary>
        /// Exibe o Termo de Aceite de RDV
        /// </summary>
        /// <returns></returns>
        public ActionResult TermoDeAceiteRDV()
        {
            CadastroDeUsuario user = (CadastroDeUsuario)Session["Usuario"];

            if (user.TermoDeAceite != null)
            {
                return(RedirectToAction("Index", "Despesas"));
            }

            return(View());
        }
Ejemplo n.º 17
0
        public ActionResult Aprovar(int id) //<-- Aqui nós poderiamos solicitar o motivo pelo AprovacaoModelView Motivo
        {
            //Recupera a session para o cadasrtro de usuário
            CadastroDeUsuario usuario = (CadastroDeUsuario)Session["Usuario"];

            //Aprova o item da Despesa
            despesasDAO.AprovarDespesa(id, usuario);


            return(RedirectToAction("Index"));
        }
Ejemplo n.º 18
0
        public ActionResult Reprovar(int id, FormCollection form)
        {
            //Motivo da reprovação da Despesa
            string motivo = form["Motivo"];

            //Recupera a session para o cadasrtro de usuário
            CadastroDeUsuario usuario = (CadastroDeUsuario)Session["Usuario"];


            despesasDAO.ReprovarDespesa(id, usuario, motivo);
            return(RedirectToAction("Index"));
        }
        /// <summary>
        /// Aprova uma lista de Despesas
        /// </summary>
        /// <param name="despesas">The despesas.</param>
        /// <param name="usuario">The usuario.</param>
        public void AprovaDespesa(IList <Despesas> despesas, CadastroDeUsuario usuario)
        {
            foreach (var item in despesas)
            {
                item.DataAprovacao    = DateTime.Now;
                item.UsuarioAprovacao = usuario;

                ITransaction tran = session.BeginTransaction();
                session.Merge(item);
                tran.Commit();
            }
        }
        /// <summary>
        /// Gera uma despesa com a data de inclusao e cadastro de uuário determinado
        /// </summary>
        /// <param name="depJ">The dep j.</param>
        /// <param name="dataInclusao">The data inclusao.</param>
        /// <param name="usuario">The usuario.</param>
        /// <returns></returns>
        public static Despesas Gera(DespesasJson depJ, DateTime dataInclusao, CadastroDeUsuario usuario)
        {
            Despesas despesa = new Despesas();

            despesa.Tipo            = tipoDAO.GetById(depJ.IdDespesa);
            despesa.Quantidade      = depJ.Quantidade;
            despesa.Valor           = depJ.Valor;
            despesa.Descritivo      = depJ.Observacao;
            despesa.DataInclusao    = dataInclusao;
            despesa.UsuarioInclusao = usuario;
            despesa.CentroDeCusto   = usuario.CentroDeCusto;

            return(despesa);
        }
        /// <summary>
        /// Realiza a Reprovação de uma despesa
        /// </summary>
        /// <param name="id"></param>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public void ReprovarDespesa(IList <Despesas> despesas, CadastroDeUsuario usuario, string motivo)
        {
            foreach (var item in despesas)
            {
                item.DataReprovacao    = DateTime.Now;
                item.UsuarioReprovação = usuario;
                item.MotivoRecusa      = motivo;


                ITransaction tran = session.BeginTransaction();
                session.Merge(item);
                tran.Commit();
            }
        }
        /// <summary>
        /// Post do Termo de aceite, através do request Json
        /// </summary>
        /// <param name="termo">The termo.</param>
        /// <returns></returns>
        public JsonResult TermoDeAceiteRDVPost(TermoModelView termo)
        {
            if (termo.Aceito)
            {
                //Adiciona ao usuário que ele leu o termo de aceite
                CadastroDeUsuario user = (CadastroDeUsuario)Session["Usuario"];
                user.TermoDeAceite = DateTime.Now;
                userDAO.Altera(user);

                return(Json(new { success = true }));
            }

            return(Json(new { success = false }));
        }
        /// <summary>
        /// Realiza a aprovação de uma despesa
        /// </summary>
        /// <param name="id"></param>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public bool AprovarDespesa(int id, CadastroDeUsuario usuario)
        {
            Despesas despesa = this.GetDespesaById(id);

            despesa.DataAprovacao    = DateTime.Now;
            despesa.UsuarioAprovacao = usuario;

            ITransaction tran = session.BeginTransaction();

            session.Merge(despesa);
            tran.Commit();

            return(true);
        }
Ejemplo n.º 24
0
        public ActionResult Adicionar(UsuarioModelView modelUser)
        {
            //Valida se há dados paracontinuar
            if (modelUser == null)
            {
                return(new HttpStatusCodeResult(
                           HttpStatusCode.BadRequest));
            }

            CadastroDeUsuario usuario = UsuarioFactory.GeraUsuario(modelUser);

            if (usuario == null)
            {
                return(new HttpStatusCodeResult(
                           HttpStatusCode.BadRequest));
            }


            if (ModelState.IsValid)
            {
                try
                {
                    int?cc = null;
                    if (usuario.CentroDeCusto != null)
                    {
                        cc = usuario.CentroDeCusto.Id;
                    }
                    //Cria o usuário
                    WebSecurity.CreateUserAndAccount(usuario.Login, usuario.Senha, new
                    {
                        Nome             = usuario.Nome,
                        Email            = usuario.Email,
                        IsAdmin          = usuario.IsAdmin,
                        Cpf              = usuario.Cpf,
                        CentroDeCusto_id = cc
                    }
                                                     , false);
                }
                catch (MembershipCreateUserException ex)
                {
                    return(View(usuario));
                }
                return(RedirectToAction("Index"));
            }
            else
            {
                return(View(modelUser));
            }
        }
Ejemplo n.º 25
0
        public ActionResult AprovarAll(int id)
        {
            //Recupera a session para o cadasrtro de usuário
            CadastroDeUsuario usuario = (CadastroDeUsuario)Session["Usuario"];

            //Pega todas as Depesas
            var despesas = despesasDAO.GetDespesas(id);

            //Aprova em massa as Despesas
            despesasDAO.AprovaDespesa(despesas, usuario);

            //Aprova as Despesas em massa

            return(RedirectToAction("Index"));
        }
        /// <summary>
        /// Realiza a Reprovação de uma despesa
        /// </summary>
        /// <param name="id"></param>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public bool ReprovarDespesa(int id, CadastroDeUsuario usuario, string motivo)
        {
            Despesas despesa = this.GetDespesaById(id);

            despesa.DataReprovacao    = DateTime.Now;
            despesa.UsuarioReprovação = usuario;
            despesa.MotivoRecusa      = motivo;

            ITransaction tran = session.BeginTransaction();

            session.Merge(despesa);
            tran.Commit();

            return(true);
        }
        /// <summary>
        ///  Retorna todas as despesas  usuário atual
        ///  Em forma de paginação
        /// </summary>
        /// <param name="usuario"></param>
        /// <param name="indexPage"></param>
        /// <param name="maxElementsByPage"></param>
        /// <param name="maxElements"></param>
        /// <returns>Máximo de elementos</returns>
        public IList <Despesas> GetDespesas(CadastroDeUsuario usuario, int indexPage, int maxElementsByPage, out int maxElements)
        {
            var despesas = session.QueryOver <Despesas>()
                           .Where(d => d.UsuarioInclusao == usuario)
                           //.And(d => d.Id > (indexPage * maxElementsByPage) && d.Id <= ((indexPage * maxElementsByPage) + maxElementsByPage))
                           .OrderBy(d => d.DataAprovacao).Asc
                           .List <Despesas>();



            maxElements = session.QueryOver <Despesas>()
                          .Where(d => d.UsuarioInclusao == usuario)
                          .RowCount();

            return(despesas);
        }
        /// <summary>
        /// Cria uma usuário com base em UsuarioModelView
        /// </summary>
        /// <param name="model"></param>
        /// <param name="ccDAO"></param>
        /// <returns></returns>

        public static CadastroDeUsuario GeraUsuario(UsuarioModelView model)
        {
            CadastroDeUsuario usuario = new CadastroDeUsuario()
            {
                CentroDeCusto = ccDAO.GetByCodigo(model.CentroDeCusto),
                Cpf           = model.Cpf,
                Email         = model.Email,
                Id            = model.Id,
                IsAdmin       = model.IsAdmin,
                Login         = model.Login,
                Nome          = model.Nome,
                Senha         = model.Senha,
                Role          = model.Role
            };

            return(usuario);
        }
Ejemplo n.º 29
0
        // GET: Aprovacao
        public ActionResult Index()
        {
            var model = new AprovacaoModelView();

            //Recupera a session para o cadasrtro de usuário
            CadastroDeUsuario usuario = (CadastroDeUsuario)Session["Usuario"];

            //Retorna todos os Centros de Custos de aprovação do usuário
            IList <CentroDeCusto> CCAutorizados = ccDAO.GetByAprovador(usuario);



            //Recupera a Lista das Despesas pendentes pra aprovação
            ViewBag.UnApprovedRDV = despesasDAO.GetDespesasUnApproved(CCAutorizados);

            return(View(model));
        }
Ejemplo n.º 30
0
        public ActionResult ReprovarAll(int id, FormCollection form)
        {
            //Motivo da reprovação da Despesa
            string motivo = form["Motivo"];


            //Recupera a session para o cadasrtro de usuário
            CadastroDeUsuario usuario = (CadastroDeUsuario)Session["Usuario"];

            //Paga todas as despesas desse Id
            IList <Despesas> despesas = despesasDAO.GetDespesas(id);


            //despesasDAO.ReprovarDespesa(usuario,motivo, despesas);
            despesasDAO.ReprovarDespesa(despesas, usuario, motivo);

            return(RedirectToAction("Index"));
        }