コード例 #1
0
        public ActionResult Salvar(UsuarioViewModel viewModel)
        {
            string mensagem;

            WorkLifetimeManager.Value.BeginTransaction(IsolationLevel.Serializable);

            try
            {
                Usuario usuario;

                if (viewModel.Usuario.Id > 0)
                    usuario = UsuarioRepositorio.Obter(WorkLifetimeManager.Value, viewModel.Usuario.Id);
                else
                {
                    // Para evitar duplicação de dados.
                    if (UsuarioRepositorio.ObterPorEmail(WorkLifetimeManager.Value, viewModel.Usuario.Email) != null)
                        throw new InvalidOperationException("Já existe um usuário cadastrado com esse e-mail.");
                    usuario = new Usuario();
                }

                usuario.Nome = viewModel.Usuario.Nome;
                usuario.CPF = viewModel.Usuario.CPF;
                usuario.CREA = viewModel.Usuario.CREA;
                usuario.Email = viewModel.Usuario.Email;
                usuario.Perfil = (int) viewModel.OpcoesPerfil.SelectedValue;

                if (!string.IsNullOrEmpty(viewModel.Usuario.Senha))
                    usuario.Senha = Convert.ToBase64String(new SHA512Managed().ComputeHash(Encoding.ASCII.GetBytes(viewModel.Usuario.Senha)));

                UsuarioRepositorio.Salvar(WorkLifetimeManager.Value, usuario);
                WorkLifetimeManager.Value.Commit();

                mensagem = "Operação realizada com sucesso!";
            }
            catch (Exception exception)
            {
                WorkLifetimeManager.Value.Rollback();
                mensagem = "Não foi possível realizar operação: " + exception.Message;
            }

            var usuarios = UsuarioRepositorio.BuscarTodos(WorkLifetimeManager.Value);
            return PartialView("Lista", new ListaUsuarioViewModel { Usuarios = usuarios, Mensagem = mensagem });
        }
コード例 #2
0
 protected abstract void GuardarUsuarioCache(Usuario usuario);
コード例 #3
0
 public void Atualizar(IUnitOfWork unitOfWork, Usuario usuario)
 {
     PersistenceBroker.Atualizar(unitOfWork, usuario);
 }
コード例 #4
0
 public void Salvar(IUnitOfWork unitOfWork, Usuario usuario)
 {
     PersistenceBroker.Salvar(unitOfWork, usuario);
 }
コード例 #5
0
ファイル: UsuarioLogado.cs プロジェクト: AmandaMakino/SisUrbe
 protected override void GuardarUsuarioCache(Usuario usuario)
 {
     HttpContext.Current.Items[USUARIO_KEY] = usuario;
 }