/// <summary> /// Construtor do Cadastro de Artigos /// </summary> /// <param name="pessoa">Autor do artigo</param> public FrmCadastroArtigo(IPessoa pessoa) { try { InitializeComponent(); this.artigo = new Artigo(); this.autores = new Lista <IAutor>(); this.autores.Adicionar((IAutor)pessoa); this.pessoa = pessoa; ComponentesHelper.AdicionaItemListView(artigo.ComentarioEditor, this.lvComentarios); ComponentesHelper.AdicionaItemListView(artigo.ComentariosAvaliadores, this.lvComentarios); ComponentesHelper.AdicionaItemListView(artigo.PalavrasChave, this.lvPalavrasChave); ComponentesHelper.AdicionaItemListView(autores, this.lvAutores); this.InicializalvComentarios(); this.InicializaComponentes(pessoa); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void btnNovo_Click(object sender, EventArgs e) { try { FrmCadastroEdicoes edicoes = new FrmCadastroEdicoes(); edicoes.ShowDialog(); if (edicoes.Edicao != null) { this.bd.AdicionarPublicacao(edicoes.Edicao); while (edicoes.Edicao.Artigos.ContemProximo()) { IArtigo artigo = (IArtigo)edicoes.Edicao.Artigos.Proximo(); artigo.Edicao = edicoes.Edicao; } } this.AtualizarEdicoes(); this.PreencheListView(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Seleciona um artigo /// </summary> /// <param name="artigo"></param> /// <returns></returns> private IArtigo SelecionarArtigo(IArtigo artigo) { IArtigo retorno = null; if (artigo.Id != null || !artigo.Id.Equals(0)) { retorno = Artigos.Buscar(artigo); } return(retorno); }
/// <summary> /// Remove o artigo dos avaliadores /// </summary> /// <returns></returns> private void LimparAvaliadores() { while (artigo.Avaliadores.ContemProximo()) { IAvaliador avaliador = (IAvaliador)artigo.Avaliadores.Proximo(); while (avaliador.ArtigosAvaliados.ContemProximo()) { IArtigo a = (IArtigo)avaliador.ArtigosAvaliados.Proximo(); avaliador.ArtigosAvaliados.Remover(a); } } }
/// <summary> /// Preenche os artigos do listview /// </summary> /// <param name="artigos"></param> /// <returns></returns> private Lista <IArtigo> PreencheArtigos(Lista <IArtigo> artigos) { if (artigos != null) { if (artigos.ContemProximo()) { IArtigo artigo = (IArtigo)artigos.Proximo(); artigos = this.bd.SelecionarArtigoById(artigo); } } return(artigos); }
/// <summary> /// Seleciona um artigo por id /// </summary> /// <param name="periodico"></param> /// <returns></returns> public Lista <IArtigo> SelecionarArtigoById(IArtigo artigo) { Lista <IArtigo> retorno = new Lista <IArtigo>(); while (Artigos.ContemProximo()) { IArtigo artigoRetorno = (IArtigo)Artigos.Proximo(); if (artigoRetorno.Id.Equals(artigo.Id)) { retorno.Adicionar(artigoRetorno); } } return(retorno); }
/// <summary> /// Preenche o listview com os artigos do autor /// </summary> public void PreencheListView(Lista <IArtigo> artigos) { try { this.lvArtigos.Items.Clear(); int contador = 0; while (artigos.ContemProximo()) { IArtigo artigo = (IArtigo)artigos.Proximo(); if (artigo.Status is Apreciacao) { ComponentesHelper.AdicionaItemListView(artigo.Nome, this.lvArtigos, 0); ComponentesHelper.AdicionaSubItemListView(contador, "Apreciação", this.lvArtigos); } else if (artigo.Status is Avaliacao) { ComponentesHelper.AdicionaItemListView(artigo.Nome, this.lvArtigos, 1); ComponentesHelper.AdicionaSubItemListView(contador, "Avaliação", this.lvArtigos); } else if (artigo.Status is Aceito) { ComponentesHelper.AdicionaItemListView(artigo.Nome, this.lvArtigos, 2); ComponentesHelper.AdicionaSubItemListView(contador, "Aceito", this.lvArtigos); } else if (artigo.Status is Inativo) { ComponentesHelper.AdicionaItemListView(artigo.Nome, this.lvArtigos, 3); ComponentesHelper.AdicionaSubItemListView(contador, "Inativo", this.lvArtigos); } this.lvArtigos.Items[contador].SubItems.Add(artigo.Id.ToString()); contador++; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void btnNovo_Click(object sender, EventArgs e) { try { FrmCadastroArtigo cadastro = new FrmCadastroArtigo((IAutor)this.pessoa); cadastro.ShowDialog(); IArtigo artigo = cadastro.Artigo; bd.AdicionarPublicacao(artigo); AtualizarArtigos(); PreencheListView(this.artigos); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Busca uma lista com os artigos avaliados pelo avaliador /// </summary> /// <param name="avaliador"></param> /// <returns></returns> public Lista <IArtigo> SelecionarArtigoByAvaliador(IAvaliador avaliador) { Lista <IArtigo> retorno = new Lista <IArtigo>(); while (Artigos.ContemProximo()) { IArtigo artigoRetorno = (IArtigo)Artigos.Proximo(); while (artigoRetorno.Avaliadores.ContemProximo()) { IAvaliador avaliadorRetorno = (IAvaliador)artigoRetorno.Avaliadores.Proximo(); if (avaliador.Id.Equals(avaliadorRetorno.Id)) { retorno.Adicionar(artigoRetorno); } } } return(retorno); }
/// <summary> /// Preenche o listview com os artigos do autor /// </summary> public void PreencheListView(Lista <IArtigo> artigos) { this.lvTodos.Items.Clear(); int contador = 0; while (artigos.ContemProximo()) { IArtigo artigo = (IArtigo)artigos.Proximo(); if (artigo.Status is Aceito) { ComponentesHelper.AdicionaItemListView(artigo.Nome, this.lvTodos, 0); ComponentesHelper.AdicionaSubItemListView(contador, "Aceito", this.lvTodos); this.lvTodos.Items[contador].SubItems.Add(artigo.Id.ToString()); } contador++; } }
/// <summary> /// Preenche a propriedade Artigo com os dados da tela /// </summary> private void PreencheArtigo() { if (this.artigo == null) { this.artigo = new Artigo(); } this.artigo.Nome = txtNome.Text; this.artigo.Resumo = txtResumo.Text; this.artigo.Conteudo = txtConteudo.Text; if (this.pessoa is Autor) { this.artigo.Status = new Apreciacao(this.artigo); } //retorno.Autores = ListViewToLista(lvAutores); this.artigo.PalavrasChave = ComponentesHelper.ListViewToLista(lvPalavrasChave); this.artigo.Autores = autores; this.Artigo = this.artigo; }
/// <summary> /// Construtor do form encaminhar artigo /// </summary> /// <param name="artigo"></param> public FrmEncaminharArtigo(IArtigo artigo) { try { InitializeComponent(); this.Artigo = artigo; this.bd = BancoDeDados.GetInstance(); this.txtNome.Text = artigo.Nome; this.lvAvaliadores.View = View.Details; this.lvAvaliadores.Columns.Add("Autores"); this.lvAutores.View = View.Details; ComponentesHelper.AdicionaItemListView(artigo.Autores, this.lvAutores); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Recupera os artigos do banco de dados /// </summary> private void AtualizarArtigos() { Lista <IArtigo> artigos = this.bd.SelecionarArtigoByAvaliador((IAvaliador)this.pessoa); while (artigos.ContemProximo()) { this.artigos.Limpar(); IArtigo artigo = (IArtigo)artigos.Proximo(); while (artigo.Avaliadores.ContemProximo()) { IAvaliador avaliador = (IAvaliador)artigo.Avaliadores.Proximo(); if (avaliador.Id.Equals(this.pessoa.Id)) { if (avaliador.ArtigosAvaliados == null || !avaliador.ArtigosAvaliados.Existe(artigo)) { this.artigos.Adicionar(artigo); } } } } }
/// <summary> /// Encaminha os artigos para os avaliadores /// </summary> /// <param name="artigo"></param> /// <returns></returns> public IArtigo EncaminharArtigo(IArtigo artigo) { throw new NotImplementedException(); }
//Inicializa o construtor da classe abstrata public Aceito(IArtigo artigo) : base(artigo) { }
/// <summary> /// Inicializa o construtor da classe abstrata /// </summary> /// <param name="artigo"></param> public Avaliacao(IArtigo artigo) : base(artigo) { }
//Inicializa o construtor da classe abstrata public Inativo(IArtigo artigo) : base(artigo) { }
/// <summary> /// Define o estado do artigo /// </summary> /// <param name="artigo">O artigo</param> public IEstado(IArtigo artigo) { this.artigo = artigo; }
/// <summary> /// Adiciona um artigo /// </summary> /// <param name="artigo"></param> private void AdicionarArtigo(IArtigo artigo) { this.Artigos.Adicionar(artigo); }
/// <summary> /// Inicializa o construtor da classe abstrata /// </summary> /// <param name="artigo"></param> public Apreciacao(IArtigo artigo) : base(artigo) { }