public ICommandResult Handle(CriarInstituicaoCommand command) { command.Validar(); if (!command.IsValid) { return(new GenericCommandResult(false, "Dados inválidos!", command.Notifications)); } string codigo; do { codigo = GerarCodigo(); } while (Repositorio.Buscar(codigo) != null); var instituicao = new Instituicao(command.Nome, command.Descricao, codigo); var usuarioInstituicao = new UsuarioInstituicao(command.IdUsuario, instituicao.Id, EnTipoUsuario.Administrador); instituicao.UsuariosInstituicoes.Add(usuarioInstituicao); Repositorio.Adicionar(instituicao); var result = new InstituicaoGenericCommandResult(instituicao.Nome, instituicao.Descricao, instituicao.Codigo); return(new GenericCommandResult(true, "Instituição criada com sucesso!", result)); }
public ICommandResult Handle(EntrarNaInstituicaoCommand command) { command.Validar(); if (!command.IsValid) { return(new GenericCommandResult(false, "Dados inválidos!", command.Notifications)); } var instituicao = Repositorio.Buscar(command.Codigo); if (instituicao == null) { return(new GenericCommandResult(false, "Não existe nenhuma instituição com o código informado!", command.Codigo)); } if (instituicao.UsuariosInstituicoes.Find(ui => ui.IdUsuario == command.IdUsuario) != null) { return(new GenericCommandResult(false, "Você já faz parte dessa instituição!", command.Codigo)); } var usuarioInstituicao = new UsuarioInstituicao(command.IdUsuario, instituicao.Id, EnTipoUsuario.Colaborador); Repositorio.AdicionarUsuario(usuarioInstituicao); return(new GenericCommandResult(true, $"Bem vindo à {instituicao.Nome}!", null)); }
public void AlterarUsuario(UsuarioInstituicao usuarioInstituicao) { Contexto .Entry(usuarioInstituicao) .State = EntityState.Modified; Contexto .SaveChanges(); }
public void AdicionarUsuario(UsuarioInstituicao usuarioInstituicao) { Contexto .UsuariosInstituicoes .Add(usuarioInstituicao); Contexto .SaveChanges(); }