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");
            }
        }
        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");
            }
        }
        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);
        }