public ActionResult Create(int idProjeto)
        {
            try
            {
                using (var db = new Context())
                {
                    var _bll = new BLL.ProjetoBLL(db, _idUsuario);

                    var _projeto = _bll.FindSingle(e => e.idProjeto == idProjeto, u => u.Produtos.Select(k => k.ProdutoMateriais.Select(j => j.Material)));
                    var _result = new RequisicaoVM
                    {
                        Projeto = RP.Sistema.Web.Models.Projeto.Consultar.GetModel(_projeto),
                        Itens = RequisicaoVM.RequisicaoItemVM.GetItens(_projeto.Produtos.ToList()),
                    };

                    return View(_result);
                }
            }
            catch (Exception ex)
            {
                RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                return RedirectToAction("Index", "Erro", new { area = string.Empty });
            }
        }
        public static RequisicaoVM GetRequisicao(Sistema.Model.Entities.Requisicao model)
        {
            var _result = new RequisicaoVM
            {
                dsObservacao = model.dsObservacao,
                idRequisicao = model.idRequisicao,
                Projeto = Models.Projeto.Consultar.GetModel(model.Projeto),
                Funcionario = Models.Funcionario.Consultar.GetModel(model.Funcionario),
                Itens = RequisicaoItemVM.GetItens(model.RequisicaoItens.ToList())
            };

            return _result;
        }
        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);
        }