示例#1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            return;
        }

        string dsId   = Request.QueryString["Id"];
        string dsAcao = Request.QueryString["Acao"];

        if (!string.IsNullOrWhiteSpace(dsId) && !string.IsNullOrWhiteSpace(dsAcao))
        {
            int id = 0;
            int.TryParse(dsId, out id);
            if (id >= 1)
            {
                if (dsAcao.Equals("Editar"))
                {
                    var tarefa = TarefaController.Lista().FirstOrDefault(p => p.IdTarefa == id);
                    if (tarefa != null)
                    {
                        hdnCodigo.Value          = dsId;
                        txtCodigo.Text           = dsId;
                        txtDescResumida.Text     = tarefa.DescricaoResumida;
                        txtDescCompleta.Text     = tarefa.DescricaoCompleta;
                        tipoTarefa.SelectedIndex = tipoTarefa.Items.IndexOf(tipoTarefa.Items.FindByText(Formatacao.GetDescriptionFromEnum(tarefa.TipoTarefa)));
                        txtDataCadastro.Text     = tarefa.DataCadastro.ToString("dd/MM/yyyy HH:mm");
                        txtDataLimite.Text       = tarefa.DataLimite.ToString("dd/MM/yyyy HH:mm");
                        txtParticipantes.Text    = string.Join(",", tarefa.ParticipantesRemoto.Select(p => p.Nome));
                        txtMaterias.Text         = string.Join(",", tarefa.MateriasRemoto.Select(p => p.Nome));

                        panelRegistro.Visible = true;
                        panelLista.Visible    = false;
                        Deletar.Visible       = true;
                        return;
                    }
                }

                if (dsAcao.Equals("Excluir"))
                {
                    btnBuscar_Click(null, null);

                    if (!DeletarRegistro(dsId))
                    {
                        msgRegistro.CssClass = "text-danger";
                        msgRegistro.Text     = "Não foi possível remover o registro.";
                        msgRegistro.Visible  = true;
                        return;
                    }
                    //Response.Redirect("index.aspx", false);
                }
            }
        }
        btnBuscar_Click(null, null);
    }
示例#2
0
    private bool DeletarRegistro(string idTarefa)
    {
        int codigo = Convert.ToInt32(hdnCodigo.Value);
        var tarefa = TarefaController.Lista().FirstOrDefault(p => p.IdTarefa == codigo);

        if (tarefa == null)
        {
            return(false);
        }
        TarefaController.Remover(tarefa);
        return(true);
    }
示例#3
0
    private void BuscarTarefas(string pesquisa = null)
    {
        var lista = TarefaController.Lista();

        if (!string.IsNullOrWhiteSpace(pesquisa))
        {
            pesquisa = pesquisa.ToLower();
            lista    = lista.Where(p =>
                                   p.IdTarefa.ToString().Equals(pesquisa) ||
                                   p.DescricaoResumida.ToLower().Contains(pesquisa) ||
                                   p.DescricaoCompleta.ToLower().Contains(pesquisa) ||
                                   Formatacao.GetDescriptionFromEnum(p.TipoTarefa).ToLower().Contains(pesquisa)
                                   ).ToList();
        }

        foreach (var reg in lista)
        {
            TableRow row = new TableRow();
            row.CssClass = "table-light";

            TableCell acao       = new TableCell();
            HyperLink linkEditar = new HyperLink();
            linkEditar.Text        = "Editar";
            linkEditar.NavigateUrl = $"~/Views/tarefa.aspx?Id={reg.IdTarefa}&Acao=Editar";
            acao.Controls.Add(linkEditar);

            HyperLink linkExcluir = new HyperLink();
            linkExcluir.Text        = "Excluir";
            linkExcluir.CssClass    = "ml-2";
            linkExcluir.NavigateUrl = $"~/Views/tarefa.aspx?Id={reg.IdTarefa}&Acao=Excluir";
            acao.Controls.Add(linkExcluir);
            row.Cells.AddAt(0, acao);

            TableCell cod = new TableCell();
            cod.Text = reg.IdTarefa.ToString("0");
            row.Cells.AddAt(1, cod);

            TableCell papel = new TableCell();
            papel.Text = Formatacao.GetDescriptionFromEnum(reg.TipoTarefa);
            row.Cells.AddAt(2, papel);

            TableCell descResumida = new TableCell();
            if (reg.DescricaoResumida.Length < 25)
            {
                descResumida.Text = reg.DescricaoResumida;
            }
            else
            {
                descResumida.Text = $"{reg.DescricaoResumida.Substring(0, 23)}...";
            }
            row.Cells.AddAt(3, descResumida);

            TableCell participantes = new TableCell();
            participantes.Text = string.Join(",", reg.ParticipantesRemoto);
            row.Cells.AddAt(4, participantes);

            TableCell materias = new TableCell();
            materias.Text = string.Join(",", reg.MateriasRemoto);
            row.Cells.AddAt(5, materias);

            TableCell dataLimit = new TableCell();
            dataLimit.Text = reg.DataLimite.ToString("dd/MM/yyyy");
            row.Cells.AddAt(6, dataLimit);

            listaTarefa.Rows.Add(row);
        }
    }
示例#4
0
    protected void Salvar_Click(object sender, EventArgs e)
    {
        int        dsTipoTarefa  = Convert.ToInt32(tipoTarefa.SelectedValue);
        TipoTarefa auxTipoTarefa = (TipoTarefa)dsTipoTarefa;

        if (string.IsNullOrWhiteSpace(txtCodigo.Text))
        {
            var listaParticipantes = new List <Pessoa>();
            foreach (var nomePessoa in txtParticipantes.Text.Split(',').ToList <string>())
            {
                Pessoa pessoa = PessoaController.Lista().FirstOrDefault(p => p.Nome.Equals(nomePessoa));
                if (pessoa == null || !(pessoa.IdPessoa >= 1))
                {
                    pessoa = PessoaController.Inseir(new Pessoa()
                    {
                        Nome  = nomePessoa,
                        Papel = Papel.Outros
                    });
                }
                listaParticipantes.Add(pessoa);
            }

            var listaMaterias = new List <Materia>();
            foreach (var nomeMateria in txtParticipantes.Text.Split(',').ToList <string>())
            {
                Materia materia = MateriaController.Lista().FirstOrDefault(p => p.Nome.Equals(nomeMateria));
                if (materia == null || !(materia.IdMateria >= 1))
                {
                    materia = MateriaController.Inseir(new Materia()
                    {
                        Nome = nomeMateria
                    });
                }
                listaMaterias.Add(materia);
            }

            TarefaController.Inseir(new Tarefa()
            {
                DataCadastro      = DateTime.Now,
                DataLimite        = Convert.ToDateTime(txtDataLimite.Text),
                DescricaoResumida = txtDescResumida.Text,
                DescricaoCompleta = txtDescCompleta.Text,
                TipoTarefa        = auxTipoTarefa,
                Participantes     = listaParticipantes,
                Materias          = listaMaterias
            });

            msgRegistro.CssClass = "text-success";
            msgRegistro.Text     = "Registo salvo com sucesso.";
            msgRegistro.Visible  = true;
        }
        else
        {
            int codigo = Convert.ToInt32(hdnCodigo.Value);
            var tarefa = TarefaController.Lista().FirstOrDefault(p => p.IdTarefa == codigo);
            if (tarefa == null)
            {
                msgRegistro.CssClass = "text-danger";
                msgRegistro.Text     = "Não foi possível identificar o registro.";
                msgRegistro.Visible  = true;
                return;
            }

            tarefa.DataLimite        = Convert.ToDateTime(txtDataLimite.Text);
            tarefa.DescricaoResumida = txtDescResumida.Text;
            tarefa.DescricaoCompleta = txtDescCompleta.Text;
            tarefa.TipoTarefa        = auxTipoTarefa;

            TarefaController.Editar(tarefa);

            msgRegistro.CssClass = "text-success";
            msgRegistro.Text     = "Registo atualizado com sucesso.";
            msgRegistro.Visible  = true;
        }
    }