Ir ao conteúdo
  • Cadastre-se

C# Como usar um foreach somente em um campo que esta dentro de uma concatenação?


Air-Gear

Posts recomendados

Olá pessoal!

 

Entregaram um código já montando e preciso fazer uma modificação na parte do campo url, já que ele é uma array de string com tamanho variado. Antes de mexer no código, já funcionava, mas o campo url pegava só a primeira posição. No Front-End que utiliza Javascript eu conseguir resolver, o Back-End que utiliza C# estou pegando agora. Eu preciso implementar um foreach no campo, mas o campo está dentro de uma concatenação. Eu até tentei colocar o Foreach dentro, mas o Visual Studio aponta erro. Então coloquei antes para depois jogar dentro, mas estou agarrando e não estou achando um tutorial especifico para esse foreach. Alguém pode me ajudar?

 

Segue o código.

public class clUpload
    {
        #region insert

        internal static bool novoUpload(tbUploadSCP obj)
        {
            tbUploadSCP uploadA = new tbUploadSCP();

            using (TransactionScope ts = new TransactionScope())
            {
                using (Repository<tbUploadSCP> repSol = new Repositoryupload())
                {
                    string[] end = obj.url.Length;
                    foreach (var i in end)
                    {
                        obj.url[i] = end[i];
                    }
                    uploadA = new tbUploadSCP
                    {
                        url = obj.url,
                        userId = obj.userId,
                        upIdAcao = obj.upIdAcao,
                        upTipo = obj.upTipo,
                        upData = obj.upData,
                    };
                    repSol.Add(uploadA);
                    //var upMetaPeriodo = UpMetaPeriodo(obj);
                    
                }
                ts.Complete();

                return true;
            }
        }
  //Resto do código que não tem haver co o problema
}

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Bom, como não fiquei parado, eu continuei tentando e acabei que optando o for no lugar do foreach.

 

Segue o novo código:

public class clUpload
    {
        #region insert

        internal static bool novoUpload(tbUploadSCP obj)
        {
            tbUploadSCP uploadA = new tbUploadSCP();

            using (TransactionScope ts = new TransactionScope())
            {
                using (Repository<tbUploadSCP> repSol = new Repositoryupload())
                {
                    string[] end = { };
                    for (int i = 0; i < obj.url.Length; i++)
                    {
                        end[i] = obj.url[i].ToString();
                        obj.url = end[i];
                    }
                    uploadA = new tbUploadSCP
                    {
                        url = obj.url,
                        userId = obj.userId,
                        upIdAcao = obj.upIdAcao,
                        upTipo = obj.upTipo,
                        upData = obj.upData,
                    };
                    repSol.Add(uploadA);
                    //var upMetaPeriodo = UpMetaPeriodo(obj);
                    
                }
                ts.Complete();

                return true;
            }
        }
  //Resto do código que não tem haver com o problema
}

 

Visual Studio não deu erro no código, mas não executou como devia. Eu tentei colocar "url = end;", mas apontou erro. Eu estou mais ou menos no caminho.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Eu conseguir evoluir com o o código, os dados já são enviados para o banco de dados. Agora só falta retornar todos os dados de cada posição ao invés do ultimo. Segue o novo código:

 public class clUpload
    {
        #region insert

        internal static tbUploadSCP novoUpload(objUpload obj)
        {
            tbUploadSCP uploadA = new tbUploadSCP();

            using (TransactionScope ts = new TransactionScope())
            {
                using (Repository<tbUploadSCP> repSol = new Repositoryupload())
                {
                    for (int i = 0; i < obj.arq.Count; i++)
                    {
                        uploadA = new tbUploadSCP
                        {
                            url = obj.arq[i].url,
                            userId = obj.arq[i].userId,
                            upIdAcao = obj.arq[i].upIdAcao,
                            upTipo = obj.arq[i].upTipo,
                            upData = obj.arq[i].upData,
                        };
                        repSol.Add(uploadA);
                    }
                }
                ts.Complete();

                return uploadA;
            }
        }
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!