public ActionResult Edit(RP.Sistema.Web.Models.Modulo.ModuloVM viewData)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var modulo = viewData.VM2E();
                    using (Context db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
		                    BLL.ModuloBLL moduloBLL = new BLL.ModuloBLL(db, _idUsuario);
                            moduloBLL.Update(modulo);
                            moduloBLL.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);
                return RedirectToAction("Index");
            }        
		}
        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");
            }        
		}
        public ActionResult Index(RP.Sistema.Web.Models.Entidade.EntidadeVM viewData, HttpPostedFileBase fuFoto)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var entidade = viewData.VM2E();
                    using (Context db = new Context())
                    {
                        using (var trans = new RP.DataAccess.RPTransactionScope(db))
                        {
                            BLL.EntidadeBLL entidadeBLL = new BLL.EntidadeBLL(db, _idUsuario);

                            if (fuFoto != null)
                            {
                                var fileBytes = new byte[fuFoto.ContentLength];
                                fuFoto.InputStream.Read(fileBytes, 0, fileBytes.Length);
                                entidade.imLogo = fileBytes;
                            }
                            else if (this.HttpContext.Request.Params.AllKeys.Contains("fuFoto"))
                            {
                                if (string.IsNullOrEmpty(this.HttpContext.Request.Params["fuFoto"]))
                                {
                                    entidade.imLogo = null;
                                }
                            }
                            if (viewData.idEntidade != null)
                            {
                                entidadeBLL.Update(entidade);
                            }
                            else
                            {
                                entidadeBLL.Insert(entidade);
                            }
                            entidadeBLL.SaveChanges();

                            if (fuFoto != null)
                            {
                                entidadeBLL.UpdateLogo(entidade);
                            }
                            else if (this.HttpContext.Request.Params.AllKeys.Contains("fuFoto"))
                            {
                                if (string.IsNullOrEmpty(this.HttpContext.Request.Params["fuFoto"]))
                                {

                                    entidadeBLL.RemoveLogo(entidade);
                                }
                            }
                            entidadeBLL.SaveChanges();
                            trans.Complete();
                            viewData.idEntidade = entidade.idEntidade;
                            this.AddFlashMessage("Os dados da empresa foram salvos com sucesso!", FlashMessage.SUCCESS);
                            return RedirectToAction("Index");
                        }
                    }
                }
                catch (Exception ex)
                {
                    RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario);
                    return RedirectToAction("Index", "Erro");
                }
            }

            return View(viewData);
        }