public ActionResult Create(FabricanteVM model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    LogBLL.Insert(new LogDado("Create", "Fabricante", _idUsuario));
                    using (var db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            var _fabricante = model.GetFabricante();

                            var _bll = new BLL.FabricanteBLL(db, _idUsuario);

                            _bll.Insert(_fabricante);
                            _bll.SaveChanges();

                            trans.Complete();

                            this.AddFlashMessage(RP.Util.Resource.Message.INSERT_SUCCESS, FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                catch (Exception ex)
                {
                    this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR); RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                    return RedirectToAction("Index");
                }
            }
            return View(model);
        }
Ejemplo n.º 2
0
 public static void Insert(Model.Entities.LogDado logDado)
 {
     using (Context db = new Context())
     {
         using (var trans = new RP.DataAccess.RPTransactionScope(db))
         {
             db.LogDados.Add(logDado);
             db.SaveChanges(logDado.idUsuario);
             trans.Complete();
         }
     }
 }
        public JsonResult JsCreate(ProdutoMaterial model)
        {
            try
            {
                LogBLL.Insert(new LogDado("JsCreate", "ProdutoMaterial", _idUsuario));
                using (var db = new Context())
                {
                    using (var trans = new RP.DataAccess.RPTransactionScope(db))
                    {
                        var _bll = new BLL.ProdutoMaterialBLL(db, _idUsuario);
                        var _produtoBLL = new BLL.ProdutoBLL(db, _idUsuario);

                        _bll.Insert(model);
                        _bll.SaveChanges();
                        trans.Complete();

                        decimal totalCusto = model.quantidade * model.valor;
                        decimal totalGanho = ((model.margemGanho / 100) * totalCusto) + totalCusto;
                        decimal totalLiquido = totalGanho - totalCusto;
                        var result = new
                        {
                            idMaterial = model.idMaterial,
                            idProduto = model.idProduto,
                            model.quantidade,
                            model.margemGanho,
                            model.valor,
                            model.Material.nome,
                            model.idProdutoMaterial,
                            totalCusto = totalCusto,
                            totalGanho = totalGanho,
                            totalLiquido = totalLiquido
                        };

                        return Json(new { model = result }, JsonRequestBehavior.AllowGet);
                    }
                }
            }

            catch (Exception ex)
            {
                Response.StatusCode = 500;
                return Json(RP.Util.Exception.Message.Get(ex), JsonRequestBehavior.AllowGet);
            }
        }
        public ActionResult Create(FornecedorVM model)
        {
            if (string.IsNullOrEmpty(model.Cidade.nome))
            {
                ModelState.AddModelError("Cidade.nome", "Informe a cidade");
            }
            if (ModelState.IsValid)
            {
                try
                {
                    LogBLL.Insert(new LogDado("Create", "Fornecedor", _idUsuario));
                    using (var db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            var _fornecedor = model.GetFornecedor();

                            var _bll = new BLL.FornecedorBLL(db, _idUsuario);

                            _bll.Insert(_fornecedor);
                            _bll.SaveChanges();

                            trans.Complete();

                            this.AddFlashMessage(RP.Util.Resource.Message.INSERT_SUCCESS, FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                catch (Exception ex)
                {
                    this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR); RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                    return RedirectToAction("Index");
                }
            }
            return View(model);
        }
Ejemplo n.º 5
0
        public ActionResult Create(EstadoVM model)
        {
            if (string.IsNullOrEmpty(model.Pais.nome))
            {
                ModelState.AddModelError("Pais.nome", "Informe o pais");
            }
            if (ModelState.IsValid)
            {
                try
                {
                    using (var db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            var _pais = model.GetEstado();

                            var _bll = new BLL.EstadoBLL(db, _idUsuario);

                            _bll.Insert(_pais);
                            _bll.SaveChanges();

                            trans.Complete();

                            this.AddFlashMessage(RP.Util.Resource.Message.INSERT_SUCCESS, FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                catch (Exception ex)
                {
                    this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR); RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                    return RedirectToAction("Index");
                }
            }
            return View(model);
        }
Ejemplo n.º 6
0
        public ActionResult BloquearConfirmed(int id)
        {
            try
            {
                LogBLL.Insert(new LogDado("BloquearConfirmed", "Usuario", _idUsuario));
                if (id == _idUsuario)
                {
                    throw new Exception("Você não pode bloquear seu próprio usuário!");
                }

                using (Context db = new Context())
                {
                    using (var trans = new RP.DataAccess.RPTransactionScope(db))
                    {
                        BLL.UsuarioBLL usuarioBLL = new BLL.UsuarioBLL(db, _idUsuario);
                        Usuario usuario = usuarioBLL.FindSingle(u => u.idUsuario == id);

                        if (usuario == null)
                        {
                            throw new Exception(string.Format(RP.Util.Resource.Message.RECORD_NOT_FOUND, id));
                        }
                        else
                        {
                            usuario.flAtivo = "Não";
                            Auth.Class.AuthModel.Remove(usuario.dsLogin);

                            usuarioBLL.Update(usuario);

                            usuarioBLL.SaveChanges();
                            trans.Complete();
                        }

                        this.AddFlashMessage("Usuário bloqueado", FlashMessage.SUCCESS);
                        return RedirectToAction("Index");
                    }
                }
            }
            catch (Exception ex)
            {
                RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR); RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                return RedirectToAction("Bloquear", new { id });
            }
        }
Ejemplo n.º 7
0
        public ActionResult AlterPasswordMaster(int id, UsuarioVM model)
        {
            try
            {
                LogBLL.Insert(new LogDado("AlterPasswordMaster", "Usuario", _idUsuario));
                if (ModelState.IsValid)
                {
                    using (Context db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            BLL.UsuarioBLL usuarioBLL = new BLL.UsuarioBLL(db, _idUsuario);
                            Usuario usuario = usuarioBLL.FindSingle(u => u.idUsuario == id);

                            if (usuario == null)
                            {
                                throw new Exception(string.Format(RP.Util.Resource.Message.RECORD_NOT_FOUND, id));
                            }

                            usuarioBLL.ResetarSenha(usuario);
                            usuarioBLL.SaveChanges();
                            trans.Complete();

                            this.AddFlashMessage(RP.Util.Resource.Message.EDIT_SUCCESS, FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }

                return RedirectToAction("Index");
            }
            catch (Exception ex)
            {
                RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario, Url.Action("Index", "Usuario"));
                return RedirectToAction("Index", "Erro");
            }
        }
Ejemplo n.º 8
0
        public JsonResult JsCreate(Usuario model)
        {
            try
            {
                using (var db = new Context())
                {
                    using (var trans = new RP.DataAccess.RPTransactionScope(db))
                    {
                        var _bll = new BLL.UsuarioBLL(db, _idUsuario);
                        model.flAtivo = "Sim";
                        _bll.Insert(model);
                        _bll.SaveChanges();

                        trans.Complete();

                        return Json(new { idUsuario = model.idUsuario, nmUsuario = model.nmUsuario }, JsonRequestBehavior.AllowGet);
                    }
                }
            }

            catch (Exception ex)
            {
                Response.StatusCode = 500;
                return Json(RP.Util.Exception.Message.Get(ex), JsonRequestBehavior.AllowGet);
            }
        }
        public ActionResult Edit(RequisicaoVM model)
        {
            if (string.IsNullOrEmpty(model.Funcionario.nome))
            {
                ModelState.AddModelError("Funcionario.nome", "Informe o estado");
            }
            if (ModelState.IsValid)
            {
                try
                {
                    LogBLL.Insert(new LogDado("Edit", "Requisicao", _idUsuario));
                    using (var db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            var _requisicao = model.GetRequisicao();

                            var _bll = new BLL.RequisicaoBLL(db, _idUsuario);

                            _bll.Update(_requisicao);
                            _bll.SaveChanges();

                            trans.Complete();

                            this.AddFlashMessage(RP.Util.Resource.Message.EDIT_SUCCESS, FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                catch (Exception ex)
                {
                    this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR); RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                    return RedirectToAction("Index");
                }
            }
            return View(model);
        }
Ejemplo n.º 10
0
        public ActionResult Edit(ParametroVM model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var parametro = model.VM2E();

                    using (var db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            var parametroBLL = new BLL.ParametroBLL(db, _idUsuario);

                            parametroBLL.Update(parametro);
                            parametroBLL.SaveChanges();
                            trans.Complete();

                            this.AddFlashMessage(RP.Util.Resource.Message.EDIT_SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                return View(model);
            }
            catch (Exception ex)
            {
                RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                return RedirectToAction("Index", "Erro", new { area = string.Empty });
            }
        }
Ejemplo n.º 11
0
        public JsonResult JsAdicionarAtalho(string nome, string icone, string acao)
        {
            Usuario.Preferencias preferencias = null;

            try
            {
                LogBLL.Insert(new LogDado("JsAdicionarAtalho", "Usuario", _idUsuario));
                using (Context db = new Context())
                {
                    using (var transaction = new RP.DataAccess.RPTransactionScope(db))
                    {

                        BLL.UsuarioBLL usuarioBLL = new BLL.UsuarioBLL(db, _idUsuario);
                        preferencias = usuarioBLL.GetPreferencias(_idUsuario);

                        preferencias.Atalhos.Add(new Usuario.Preferencias.Atalho
                        {
                            Nome = nome,
                            Icone = icone,
                            Href = acao
                        });

                        usuarioBLL.SetPreferencias(_idUsuario, preferencias);

                        usuarioBLL.SaveChanges();
                        transaction.Complete();

                    }

                    return Json(true, JsonRequestBehavior.AllowGet);
                }
            }
            catch (Exception ex)
            {
                Response.StatusCode = 500;
                return Json(RP.Util.Exception.Message.Get(ex), JsonRequestBehavior.AllowGet);
            }
        }
        public ActionResult Create(ContaReceberVM model)
        {
            if (string.IsNullOrEmpty(model.Cliente.nome))
            {
                ModelState.AddModelError("Cliente.nome", "Informe o cliente");
            }
            if (ModelState.IsValid)
            {
                try
                {
                    LogBLL.Insert(new LogDado("Create", "ContaReceber", _idUsuario));
                    using (var db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            var _contaReceber = model.GetContaReceber();

                            var _bll = new BLL.ContaReceberBLL(db, _idUsuario);
                            //bool receber = _contaReceber.vencimento.Date <= DateTime.Now.Date;
                            //_contaReceber.situacao = receber ? ContaReceber.SITUACAO_PAGO : ContaReceber.SITUACAO_AGUARDANDO_PAGAMENTO;
                            //_contaReceber.pagamento = receber ? (DateTime?)_contaReceber.vencimento : null;
                            //_contaReceber.valorPago = receber ? (decimal?)_contaReceber.valorConta : null;
                            _contaReceber.situacao = ContaReceber.SITUACAO_AGUARDANDO_PAGAMENTO;
                            _bll.Insert(_contaReceber);
                            //if (receber)
                            //{
                            //    var _caixaBLL = new BLL.CaixaBLL(db, _idUsuario);

                            //    _caixaBLL.Insert(new Caixa
                            //    {
                            //        ContaReceber = _contaReceber,
                            //        situacao = Caixa.CORENTE,
                            //        valor = (model.valorConta.Value),
                            //        descricao = "Conta recebida de " + model.Cliente.nome + " " + model.descricao,
                            //        dtLancamento = DateTime.Now
                            //    });
                            //}
                            _bll.SaveChanges();

                            trans.Complete();

                            this.AddFlashMessage("Conta a receber adicionada com sucesso!", FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                catch (Exception ex)
                {
                    RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                    return RedirectToAction("Index", "Erro", new { area = string.Empty });
                }
            }
            return View(model);
        }
Ejemplo n.º 13
0
        private void AtualizarPefis(Usuario usuario)
        {
            try
            {
                if (usuario == null || usuario.idUsuario == 0)
                {
                    throw new Exception("Informe o usuário");
                }

                using (Context db = new Context())
                {
                    using (var ts = new RP.DataAccess.RPTransactionScope(db))
                    {

                        UsuarioBLL bll = new UsuarioBLL(db, -999);
                        bll.UpdatePerfis(usuario);

                        db.SaveChanges();
                        ts.Complete();
                    }
                }
            }
            catch (Exception e)
            {
                System.ServiceModel.Web.WebOperationContext ctx = System.ServiceModel.Web.WebOperationContext.Current;
                ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.BadRequest;
                ctx.OutgoingResponse.StatusDescription = e.Message;
               // throw new System.ServiceModel.Web.WebFaultException<string>(e.Message, System.Net.HttpStatusCode.BadRequest);
            }
        }
        public ActionResult Receber(ContaReceberVM model)
        {
            if (model.valorPago == null || model.valorPago <= 0)
            {
                ModelState.AddModelError("valorPago", "Informe o valor do pagamento");
            }
            if (model.pagamento == null)
            {
                ModelState.AddModelError("pagamento", "Informe o data do pagamento");
            }
            if (ModelState.IsValid)
            {
                try
                {
                    LogBLL.Insert(new LogDado("Receber", "ContaReceber", _idUsuario));
                    using (var db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            var _contaReceber = model.GetContaReceber();

                            var _bll = new BLL.ContaReceberBLL(db, _idUsuario);
                            _bll.Receber(_contaReceber);
                            if (model.flDiferenca == "Sim")
                            {
                                // Lança conta a receber referente a diferença
                                var _diferenca = new ContaReceber
                                {
                                    idProjeto = model.Projeto != null ? model.Projeto.idProjeto : null,
                                    idCliente = _contaReceber.idCliente,
                                    parcela = _contaReceber.parcela,
                                    descricao = "Conta gerada da diferença. Valor original: " + model.valorConta + ". Valor pago: " + model.valorPago,
                                    vencimento = _contaReceber.vencimento,
                                    pagamento = _contaReceber.pagamento,
                                    valorConta = model.vlDiferenca ?? 0,
                                    situacao = ContaReceber.SITUACAO_AGUARDANDO_PAGAMENTO,
                                    flFormaPagamento = _contaReceber.flFormaPagamento,
                                    idCompra = _contaReceber.idCompra,
                                    idOrigem = _contaReceber.idOrigem == null ? _contaReceber.idContaReceber :_contaReceber.idOrigem
                                };
                                _bll.Insert(_diferenca);
                            }
                            var _caixaBLL = new BLL.CaixaBLL(db, _idUsuario);

                            _caixaBLL.Insert(new Caixa
                            {
                                ContaReceber = _contaReceber,
                                situacao = Caixa.CORENTE,
                                valor = (_contaReceber.valorPago.Value),
                                descricao = _contaReceber.descricao + " [" + model.Cliente.nome + "] " + (model.Projeto != null ? model.Projeto.descricao : ""),
                                dtLancamento = _contaReceber.pagamento.Value
                            });
                            _bll.SaveChanges();

                            trans.Complete();

                            this.AddFlashMessage("Conta a receber adicionada com sucesso!", FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                catch (Exception ex)
                {
                    RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                    return RedirectToAction("Index", "Erro", new { area = string.Empty });
                }
            }
            return View(model);
        }
Ejemplo n.º 15
0
        public ActionResult DeleteConfirmed(int id)
        {            
            try
            {
                using (Context db = new Context())
                {
                    using (var trans = new RP.DataAccess.RPTransactionScope(db))
                    {
	                    BLL.ModuloBLL moduloBLL = new BLL.ModuloBLL(db, _idUsuario);
                        moduloBLL.Delete(e => e.idModulo == id);
                        moduloBLL.SaveChanges();
                        trans.Complete();

                        this.AddFlashMessage(RP.Util.Resource.Message.DELETE_SUCCESS, FlashMessage.SUCCESS);
                        return RedirectToAction("Index");
                    }
                }
            }
            catch (Exception ex)
            {
                RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR); RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                return RedirectToAction("Delete", id);
            }
        }
Ejemplo n.º 16
0
        public ActionResult Edit(RP.Sistema.Web.Models.Area.AreaVM viewData)
        {
            try
            {
                LogBLL.Insert(new LogDado("Edit(RP.Sistema.Web.Models.Area.AreaVM viewData)", "Area", _idUsuario));
                if (ModelState.IsValid)
                {
                    var area = viewData.VM2E();
                    using (Context db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            area.flUsaURL = area.flUsaURL.ToLower() == "true" || area.flUsaURL.ToLower() == "sim" ? "Sim" : "Não";
                            area.idModulo = area.idModulo;

		                    BLL.AreaBLL areaBLL = new BLL.AreaBLL(db, _idUsuario);
                            areaBLL.Update(area);
                            areaBLL.SaveChanges();
                            trans.Complete();

                            this.AddFlashMessage(RP.Util.Resource.Message.EDIT_SUCCESS, FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                return View(viewData);
            }
            catch (Exception ex) 
            {
                this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR); RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario); RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                return RedirectToAction("Index");
            }        
		}
Ejemplo n.º 17
0
        public ActionResult DesbloquearConfirmed(int id)
        {
            try
            {
                LogBLL.Insert(new LogDado("DesbloquearConfirmed", "Usuario", _idUsuario));
                using (Context db = new Context())
                {
                    using (var trans = new RP.DataAccess.RPTransactionScope(db))
                    {
                        BLL.UsuarioBLL usuarioBLL = new BLL.UsuarioBLL(db, _idUsuario);
                        Usuario usuario = usuarioBLL.FindSingle(u => u.idUsuario == id);

                        if (usuario == null)
                        {
                            throw new Exception(string.Format(RP.Util.Resource.Message.RECORD_NOT_FOUND, id));
                        }
                        else
                        {
                            usuario.flAtivo = "Sim";
                            usuario.nrFalhalogin = 0;
                            //usuario.dtValidade = DateTime.Now.AddDays(5);

                            usuarioBLL.Update(usuario);

                            usuarioBLL.SaveChanges();
                            trans.Complete();
                        }

                        this.AddFlashMessage("Usuário desbloqueado", FlashMessage.SUCCESS);
                        return RedirectToAction("Index");
                    }
                }
            }
            catch (Exception ex)
            {
                RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR); RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                return RedirectToAction("Desbloquear", new { id });
            }
        }
        public JsonResult JsDelete(int idProdutoMaterial)
        {
            try
            {
                LogBLL.Insert(new LogDado("JsDelete", "ProdutoMaterial", _idUsuario));
                using (var db = new Context())
                {
                    using (var trans = new RP.DataAccess.RPTransactionScope(db))
                    {
                        var _bll = new BLL.ProdutoMaterialBLL(db, _idUsuario);

                        _bll.Delete(u => u.idProdutoMaterial == idProdutoMaterial);
                        _bll.SaveChanges();

                        trans.Complete();

                        return Json(new { msg = "Item removido com sucesso!" }, JsonRequestBehavior.AllowGet);
                    }
                }
            }

            catch (Exception ex)
            {
                Response.StatusCode = 500;
                return Json(RP.Util.Exception.Message.Get(ex), JsonRequestBehavior.AllowGet);
            }
        }
Ejemplo n.º 19
0
        public ActionResult AddPerfil(int id, UsuarioVM model)
        {
            try
            {
                LogBLL.Insert(new LogDado("AddPerfil", "Usuario", _idUsuario));
                if (ModelState.IsValid)
                {
                    Usuario usuario = model.VM2E();
                    usuario.idUsuario = id;

                    using (Context db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            BLL.UsuarioBLL usuarioBLL = new BLL.UsuarioBLL(db, _idUsuario);
                            usuarioBLL.UpdatePerfis(usuario);
                            usuarioBLL.SaveChanges();
                            trans.Complete();

                            this.AddFlashMessage(RP.Util.Resource.Message.EDIT_SUCCESS, FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                return View(model);
            }
            catch (Exception ex)
            {
                RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario, Url.Action("Index", "Usuario"));
                return RedirectToAction("Index", "Erro");
            }
        }
Ejemplo n.º 20
0
        public ActionResult ChangePassword(EditarSenhaVM model)
        {
            try
            {
                // obtem o id do usuario da sessao
                int idUsuario = Convert.ToInt32(Session["login.UsuarioId"]);

                using (Context db = new Context())
                {
                    // instancia bll do usuario
                    UsuarioBLL usuarioBLL = new UsuarioBLL(db, 0);

                    // consulta usuario pelo id
                    Usuario usuario = usuarioBLL.FindSingle(u => u.idUsuario == idUsuario);

                    // se o usuario do formulario for diferente do usuario da sessao
                    if (usuario.dsLogin != model.Usuario)
                    {
                        throw new Exception("O usuário não confere com o login! Certifique-se de estar alterando o seu usuário.");
                    }
                    //certifica-se de que o usuario informado tem a senha com data expirada
                    // garante que somente um usuário com senha expirada, poderá ser alterado
                    else if (usuario.dtValidade >= DateTime.Now.Date)
                    {
                        throw new Exception("O usuário informado não possui a senha expirada! Certifique-se de estar alterando o seu usuário.");
                    }
                    // se a senha do usuario for diferente da senha informada no formulario
                    else if (!(usuario.dsSenha == RP.Util.Class.Util.getHash(model.Senha)))
                    {
                        // adiciona mensagem no modelstate
                        ModelState.AddModelError("Senha", "Usuário ou senha incorretos");
                    }
                    // se a nova senha for igual a senha atual do usuario
                    else if (usuario.dsSenha == RP.Util.Class.Util.getHash(model.NovaSenha))
                    {
                        // adiciona mensagem no modelstate
                        ModelState.AddModelError("NovaSenha", "A nova senha deve ser diferente da senha atual");
                    }

                    // se modelstate for valido
                    if (ModelState.IsValid)
                    {
                        // seta nova senha criptografada para o usuario
                        usuario.dsSenha = RP.Util.Class.Util.getHash(model.NovaSenha);
                        usuario.dtValidade = DateTime.Now.Date.AddDays(Convert.ToInt32(ConfigurationManager.AppSettings["UsuarioValidadeSenha"]));
                        usuario.flAtivo = "Sim";

                        // altera o usuario
                        using (var transaction = new RP.DataAccess.RPTransactionScope(db))
                        {
                            BLL.UsuarioBLL bll = new BLL.UsuarioBLL(db, Helpers.Helper.UserId);
                            bll.Update(usuario);
                            bll.SaveChanges();
                            transaction.Complete();
                        }

                        // faz login do usuario no sistema
                        CriarCookieUsuario(usuario, Convert.ToString(Session["login.nrAcesso"]), false);

                        // registra o acesso como sucesso
                        AccessRegister(usuario.dsLogin, true);

                        // remove usuario da sessao
                        Session.Remove("login.UsuarioId");

                        // remove Id de acesso na sessao
                        Session.Remove("login.nrAcesso");

                        // adiciona mensagem de sucesso
                        this.AddFlashMessage(RP.Util.Resource.Message.PASSWORD_UPDATE, FlashMessage.SUCCESS);

                        // redireciona para index
                        return RedirectToAction("Index");
                    }
                }
            }
            catch (Exception ex)
            {
                // adiciona mensagem de erro
                this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR);

                // redireciona para login
                return RedirectToAction("Login");
            }

            return View(model);
        }
Ejemplo n.º 21
0
        public JsonResult JsRemoverAtalho(string nome, string icone, string acao)
        {
            Usuario.Preferencias preferencias = null;

            try
            {
                using (Context db = new Context())
                {
                    using (var transaction = new RP.DataAccess.RPTransactionScope(db))
                    {

                        BLL.UsuarioBLL usuarioBLL = new BLL.UsuarioBLL(db, _idUsuario);
                        preferencias = usuarioBLL.GetPreferencias(_idUsuario);

                        preferencias.Atalhos.Remove(preferencias.Atalhos.Find(e => e.Nome == nome && e.Icone == icone && e.Href == acao));

                        usuarioBLL.SetPreferencias(_idUsuario, preferencias);

                        usuarioBLL.SaveChanges();
                        transaction.Complete();

                    }

                    return Json(true, JsonRequestBehavior.AllowGet);
                }
            }
            catch (Exception ex)
            {
                Response.StatusCode = 500;
                return Json(RP.Util.Exception.Message.Get(ex), JsonRequestBehavior.AllowGet);
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {            
            try
            {
                LogBLL.Insert(new LogDado("DeleteConfirmed", "Fornecedor", _idUsuario));
                using (var db = new Context())
                {
                    using (var trans = new RP.DataAccess.RPTransactionScope(db))
                    {
                        var _bll = new BLL.FornecedorBLL(db, _idUsuario);

                        _bll.Delete(e => e.idFornecedor == id);
                        _bll.SaveChanges();

                        trans.Complete();

                        this.AddFlashMessage(RP.Util.Resource.Message.DELETE_SUCCESS, FlashMessage.SUCCESS);
                        return RedirectToAction("Index");
                    }
                }
            }
            catch (Exception ex)
            {
                RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR); RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                return RedirectToAction("Delete", id);
            }
        }
Ejemplo n.º 23
0
        public ActionResult ForgotPassword(ResetSenha model)
        {
            try
            {
                using (Context db = new Context())
                {
                    // instancia bll do usuario
                    UsuarioBLL usuarioBLL = new UsuarioBLL(db, 0);

                    // consulta usuario pelo email
                    Usuario usuario = usuarioBLL.FindSingle(u => u.dsEmail == model.email);

                    // se o usuario do formulario for diferente do usuario da sessao
                    if (usuario == null)
                    {
                        ModelState.AddModelError("email", "Não foi possível determinar o email informado, informe um email valido");
                    }

                    // se modelstate for valido
                    if (ModelState.IsValid)
                    {

                        // reseta a senha
                        using (var transaction = new RP.DataAccess.RPTransactionScope(db))
                        {
                            usuarioBLL.ResetarSenha(usuario);
                            usuarioBLL.SaveChanges();
                            transaction.Complete();
                        }

                        // redireciona para index
                        this.AddFlashMessage("Verifique seu email!", FlashMessage.ALERT);
                        return RedirectToAction("Index");
                    }
                }
            }
            catch (Exception ex)
            {
                // adiciona mensagem de erro
                this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR);

                // redireciona para login
                return RedirectToAction("ForgotPassword");
            }

            return View(model);
        }
Ejemplo n.º 24
0
        public ActionResult AddUsuario(int id, Models.Modulo.AdminVM model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    model.Modulo.idModulo = id;
                    var modulo = model.VM2E();

                    using (Context db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            BLL.ModuloBLL moduloBLL = new BLL.ModuloBLL(db, _idUsuario);
                            moduloBLL.UpdateUsuarios(modulo);
                            moduloBLL.SaveChanges();
                            trans.Complete();

                            this.AddFlashMessage(RP.Util.Resource.Message.EDIT_SUCCESS, FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                return View(model);
            }
            catch (RP.Sistema.BLL.RPSistemaException exRP)
            {
                this.AddFlashMessage(exRP.Message, FlashMessage.ALERT);
                return View(model);
            }
            catch (Exception ex)
            {
                this.AddFlashMessage(RP.Util.Exception.Message.Get(ex), FlashMessage.ERROR); RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                return RedirectToAction("Index");
            }      
        }
Ejemplo n.º 25
0
        private LoginData DoLogin(LoginVM model, string nrAcesso)
        {
            LoginData data = new LoginData
            {
                LoginMessage = LoginMessageId.Sucesso,
                ShowCaptcha = false
            };

            using (Context db = new Context())
            {
                using (var transaction = new RP.DataAccess.RPTransactionScope(db))
                {

                    // instancia bll do usuario
                    UsuarioBLL usuarioBLL = new UsuarioBLL(db, 0);

                    // consulta usuario pelo login
                    Usuario usuario = usuarioBLL.FindSingle(u => u.dsLogin.ToLower().Equals(model.Usuario.ToLower()));

                    //if (data.ShowCaptcha)
                    //    return data;

                    // se o usuario nao existir
                    if (usuario == null)
                    {
                        data.LoginMessage = LoginMessageId.UsuarioInvalido;
                    }
                    // se o usuario existir
                    else
                    {
                        data.ShowCaptcha = usuario.nrFalhalogin >= Convert.ToInt32(ConfigurationManager.AppSettings["Seguranca:tentativasParaExibirCaptcha"]);
                        // se a senha informada estiver incorreta
                        if (!(usuario.dsSenha == RP.Util.Class.Util.getHash(model.Senha)))
                        {
                            // registra a tentiva falha de acesso
                            AccessRegister(model.Usuario, false);

                            // seta status do login
                            data.LoginMessage = LoginMessageId.SenhaInvalida;

                            // instancia bll de Log
                            //RP.Log.Model.BLL LogBLL = new Log.Model.BLL();

                            // altera a quantidade de falhas
                            usuario.nrFalhalogin = (usuario.nrFalhalogin ?? 0) + 1;
                            data.ShowCaptcha = usuario.nrFalhalogin >= Convert.ToInt32(ConfigurationManager.AppSettings["Seguranca:tentativasParaExibirCaptcha"]);

                            // armazena tentativas falhas de acesso
                            data.TentativasFalhas = usuario.nrFalhalogin ?? 0;

                            // armazena as tentativas falhas de acesso
                            if (data.TentativasFalhas >= Convert.ToInt32(ConfigurationManager.AppSettings["Seguranca:tentativasParaBloquearUsuario"]))
                            {
                                // bloqueia o usuario no banco
                                usuario.flAtivo = "Não";
                                usuarioBLL.Update(usuario);

                                // seta status do login
                                data.LoginMessage = LoginMessageId.UsuarioInativo;
                            }
                            else
                            {
                                usuarioBLL.UpdateLoginCount(usuario);
                            }

                        }
                        // se a senha estiver correta
                        else
                        {
                            // se usuario não estiver ativo
                            if (!(usuario.flAtivo.ToLower().Equals("sim")))
                            {
                                data.LoginMessage = LoginMessageId.UsuarioInativo;
                            }
                            // se usuario nao tiver licencas disponiveis
                            else if (!Auth.Class.License.UseLicense(usuario.dsLogin, nrAcesso))
                            {
                                data.LoginMessage = LoginMessageId.SemLicenca;
                            }
                            // se a senha do usuario estiver expirada
                            else if ((usuario.dtValidade ?? DateTime.Now.Date.AddDays(-1)) < DateTime.Now.Date)
                            {
                                data.LoginMessage = LoginMessageId.SenhaExpirada;
                            }
                            else
                            {
                                usuario.nrFalhalogin = 0;
                                usuarioBLL.UpdateLoginCount(usuario);
                            }

                            // armazena usuario
                            data.Usuario = usuario;
                        }

                        usuarioBLL.SaveChanges();
                        transaction.Complete();
                    }
                }
            }

            return data;
        }
Ejemplo n.º 26
0
        public ActionResult Create(UsuarioVM model, HttpPostedFileBase fuFoto)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    LogBLL.Insert(new LogDado("Create", "Usuario", _idUsuario));
                    Usuario usuario = model.VM2E();
                    usuario.dtValidade = DateTime.Now.Date.AddDays(Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["UsuarioValidadeSenha"]));

                    using (Context db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            BLL.UsuarioBLL usuarioBLL = new BLL.UsuarioBLL(db, _idUsuario);
                            usuarioBLL.Insert(usuario);
                            usuarioBLL.SaveChanges();
                            trans.Complete();

                            if (fuFoto != null)
                            {
                                string path = System.Configuration.ConfigurationManager.AppSettings["PathFile"] + @"Fotos\Usuarios\";
                                usuarioBLL.SavePhoto(path, usuario.idUsuario, fuFoto);
                            }

                            this.AddFlashMessage(RP.Util.Resource.Message.INSERT_SUCCESS, FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                catch (Exception ex)
                {
                    RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario, Url.Action("Index", "Usuario"));
                    return RedirectToAction("Index", "Erro");
                }

            }

            return View(model);
        }
        public JsonResult JsCreate(Fornecedor model)
        {
            try
            {
                LogBLL.Insert(new LogDado("JsCreate", "Fornecedor", _idUsuario));
                using (var db = new Context())
                {
                    using (var trans = new RP.DataAccess.RPTransactionScope(db))
                    {
                        var _bll = new BLL.FornecedorBLL(db, _idUsuario);

                        _bll.Insert(model);
                        _bll.SaveChanges();

                        trans.Complete();

                        return Json(new { model = model }, JsonRequestBehavior.AllowGet);
                    }
                }
            }

            catch (Exception ex)
            {
                Response.StatusCode = 500;
                return Json(RP.Util.Exception.Message.Get(ex), JsonRequestBehavior.AllowGet);
            }
        }
Ejemplo n.º 28
0
        public ActionResult Edit(UsuarioVM model, int id, HttpPostedFileBase fuFoto)
        {
            try
            {
                LogBLL.Insert(new LogDado("Edit", "Usuario", _idUsuario));
                if (ModelState.IsValid)
                {
                    var usuarioView = model.VM2E();
                    usuarioView.idUsuario = id;

                    using (Context db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            BLL.UsuarioBLL usuarioBLL = new BLL.UsuarioBLL(db, _idUsuario);
                            var _usuarioDB = usuarioBLL.FindSingle(u => u.idUsuario == id);

                            _usuarioDB.nmUsuario = usuarioView.nmUsuario;
                            _usuarioDB.dsEmail = usuarioView.dsEmail;

                            usuarioBLL.Update(_usuarioDB);
                            usuarioBLL.SaveChanges();
                            trans.Complete();

                            string path = System.Configuration.ConfigurationManager.AppSettings["PathFile"] + @"Fotos\Usuarios\";
                            if (fuFoto != null)
                            {
                                usuarioBLL.SavePhoto(path, usuarioView.idUsuario, fuFoto);
                            }
                            else if (this.HttpContext.Request.Params.AllKeys.Contains("fuFoto"))
                            {
                                if (string.IsNullOrEmpty(this.HttpContext.Request.Params["fuFoto"]))
                                {
                                    usuarioBLL.RemovePhoto(path, usuarioView.idUsuario);
                                }
                            }

                            this.AddFlashMessage(RP.Util.Resource.Message.EDIT_SUCCESS, FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                return View(model);
            }
            catch (Exception ex)
            {
                RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario, Url.Action("Index", "Usuario"));
                return RedirectToAction("Index", "Erro");
            }
        }
Ejemplo n.º 29
0
        public ActionResult Vale(ValeVM model)
        {
            if (string.IsNullOrEmpty(model.Funcionario.nome))
            {
                ModelState.AddModelError("Funcionario.nome", "Informe o funcionario");
            }
            if (ModelState.IsValid)
            {
                try
                {
                    LogBLL.Insert(new LogDado("Vale(ValeVM model)", "Caixa", _idUsuario));
                    using (var db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {

                            var _caixaBLL = new BLL.CaixaBLL(db, _idUsuario);
                            var _movimento = model.GetMovimento();

                            _movimento.idUsuario = this._idUsuario;

                            var _conta = new ContaPagar
                            {
                                descricao = "Vale entregue para " + model.Funcionario.nome + " " + model.descricao,
                                valorConta = model.valor,
                                valorPago = model.valor,
                                vencimento = DateTime.Now,
                                pagamento = DateTime.Now,
                                parcela = 1,
                                flFormaPagamento = "Dinheiro",
                                situacao = ContaPagar.SITUACAO_PAGO,
                                idUsuario = this._idUsuario
                            };

                            var _caixa = new Caixa
                            {
                                MovimentoProfissional = _movimento,
                                ContaPagar = _conta,
                                situacao = Caixa.CORENTE,
                                valor = (model.valor * -1),
                                descricao = "Vale entregue para " + model.Funcionario.nome + " " + model.descricao,
                                dtLancamento = DateTime.Now

                            };

                            _caixaBLL.Insert(_caixa);
                            _caixaBLL.SaveChanges();

                            trans.Complete();

                            this.AddFlashMessage("Vale adicionado para " + model.Funcionario.nome + " com sucesso!", FlashMessage.SUCCESS);
                            return RedirectToAction("Index", "ContaPagar");
                        }
                    }
                }
                catch (Exception ex)
                {
                    RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                    return RedirectToAction("Index", "Erro", new { area = string.Empty });
                }
            }
            return View(model);
        }
Ejemplo n.º 30
0
        public ActionResult Perfil(AlterarPerfilVM model, HttpPostedFileBase fuFoto)
        {
            bool AlterarSenha = (!string.IsNullOrEmpty(model.SenhaAtual) && !string.IsNullOrEmpty(model.NovaSenha));

            try
            {
                LogBLL.Insert(new LogDado("Perfil", "Usuario", _idUsuario));
                using (Context db = new Context())
                {
                    Usuario usuarioLogado;

                    BLL.UsuarioBLL usuarioBLL = new BLL.UsuarioBLL(db, _idUsuario);

                    using (var trans = new RP.DataAccess.RPTransactionScope(db))
                    {
                        usuarioLogado = usuarioBLL.FindSingle(u => u.idUsuario == _idUsuario);

                        if (usuarioLogado == null)
                        {
                            throw new Exception(string.Format(RP.Util.Resource.Message.RECORD_NOT_FOUND, _idUsuario));
                        }

                        if (AlterarSenha && (usuarioLogado.dsSenha != RP.Util.Class.Util.getHash(model.SenhaAtual)))
                        {
                            ModelState.AddModelError("SenhaAtual", "A senha atual está incorreta.");
                        }

                        if (ModelState.IsValid)
                        {
                            if (AlterarSenha)
                            {
                                usuarioLogado.dsSenha = RP.Util.Class.Util.getHash(model.NovaSenha);
                                usuarioLogado.dtValidade = DateTime.Now.Date.AddDays(Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["UsuarioValidadeSenha"]));

                                usuarioBLL.Update(usuarioLogado);
                                usuarioBLL.SaveChanges();
                                trans.Complete();
                            }

                            string path = System.Configuration.ConfigurationManager.AppSettings["PathFile"] + @"Fotos\Usuarios\";
                            if (fuFoto != null)
                            {
                                usuarioBLL.SavePhoto(path, usuarioLogado.idUsuario, fuFoto);
                            }
                            else if (this.HttpContext.Request.Params.AllKeys.Contains("fuFoto"))
                            {
                                if (string.IsNullOrEmpty(this.HttpContext.Request.Params["fuFoto"]))
                                {
                                    usuarioBLL.RemovePhoto(path, usuarioLogado.idUsuario);
                                }
                            }

                            this.AddFlashMessage("Perfil atualizado com sucesso!", FlashMessage.SUCCESS);
                            return RedirectToAction("Perfil");
                        }

                        return View(model);
                    }
                }

            }
            catch (Exception ex)
            {
                RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario, Url.Action("Index", "Usuario"));
                return RedirectToAction("Index", "Erro");
            }
        }