コード例 #1
0
        /// <summary>
        /// Procura dentro da propriedade do objeto todos os arquivo que estiverem "pendurados" nele
        /// </summary>
        /// <param name="propriedadeObjeto">Objeto a ser verificado</param>
        /// <param name="arquivos">Lista de arquivos pertencentes ao objeto</param>
        public static void ExtraiDocumentosObjeto(PropriedadeObjeto propriedadeObjeto, ref List <AcaoArquivo> arquivos)
        {
            if (arquivos == null)
            {
                arquivos = new List <AcaoArquivo>();
            }

            if (propriedadeObjeto.Acoes != null && propriedadeObjeto.Acoes.Count > 0)
            {
                foreach (PropriedadeAcao propriedadeAcao in propriedadeObjeto.Acoes)
                {
                    if (propriedadeAcao.Arquivos != null && propriedadeAcao.Arquivos.Count > 0)
                    {
                        foreach (PropriedadeObjeto lPropriedadeObjeto in propriedadeAcao.Arquivos)
                        {
                            if (lPropriedadeObjeto.Acoes != null && lPropriedadeObjeto.Acoes.Count > 0)
                            {
                                ExtraiDocumentosObjeto(lPropriedadeObjeto, ref arquivos);
                            }

                            AcaoArquivo arquivo = null;

                            if (!arquivos.Any(a => a.TipoAcao == propriedadeAcao.TipoAcao))
                            {
                                arquivo = new AcaoArquivo()
                                {
                                    TipoAcao     = propriedadeAcao.TipoAcao,
                                    DataExecucao = propriedadeAcao.ExecutadoEm,
                                    IdArquivos   = new List <int>()
                                };

                                arquivos.Add(arquivo);
                            }
                            else
                            {
                                arquivo = arquivos.First(a => a.TipoAcao == propriedadeAcao.TipoAcao);
                            }

                            arquivo.IdArquivos.Add(lPropriedadeObjeto.IdArquivo);
                        }
                    }
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Evento que formata os arquivos encontrados e exibe na tela
        /// </summary>
        /// <param name="sender">Objeto que disparou esse evento</param>
        /// <param name="e">Contém os argumentos fornecidos nesse evento</param>
        protected void RptArquivo_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e != null && (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem))
            {
                AcaoArquivo acao = (AcaoArquivo)e.Item.DataItem;
                LinkButton  btnPropriedadeDownloadArquivo = (LinkButton)e.Item.FindControl("BtnPropriedadeDownloadArquivo");
                TextBox     txtPropriedadeDataAcao        = (TextBox)e.Item.FindControl("TxtPropriedadeDataAcao");
                string      ids = string.Empty;

                foreach (int id in acao.IdArquivos)
                {
                    ids += ids == string.Empty ? id.ToString() : "," + id.ToString();
                }

                txtPropriedadeDataAcao.Text                   = acao.DataExecucao.HasValue ? acao.DataExecucao.Value.ToString("dd/MM/yyyy HH:mm") : string.Empty;
                btnPropriedadeDownloadArquivo.Text            = acao.TipoAcao.HasValue ? Dominio.ValorTextoDe(acao.TipoAcao) : TEXTO_OUTROS;
                btnPropriedadeDownloadArquivo.CommandArgument = ids;
            }
        }