Jump to content

Os dados em array são enviados, mas quando chega no C# só o ultimo que é retornado


Air-Gear

Postagens Recomendadas

Olá pessoal!

Eu fiz um código de enviar fotos e salvar os dados dos mesmo, como novo nome e data de envio. A parte Front-End está praticamente pronta, agora no Back End que preciso de ajuda.

No código Back-End, já chega os campos com os dados preenchidos dentro do array Arq. Na hora de passar na classe clUpload, passa normalmente, mas percebi que passa em cima do anterior e retoma somente o ultimo do array.

Ainda estou iniciando no Back-End em C#, tentei transformar uma classe em array, mas não conseguir.

Alguém pode me ajudar? Segue o 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;
            }
        }
}

 

  • Curtir 1
Link to comment
Compartilhe em outros sites

Olá, olhando seu código entendi que o retorno é sempre 1 objeto do tipo tbUploadSCP.
Se você precisa retornar todos os registros tbUploadSCP, então seria necessário alterar o retorno desse método para que retorne uma lista de tbUploadSCP.
Se a repSol for uma lista de tbUploadSCP, então daria pra retornar ela.

internal static Repository<tbUploadSCP> novoUpload(objUpload obj)

return repSol;

  • Curtir 1
Link to comment
Compartilhe em outros sites

Bom, eu coloquei como você recomendou e o repSol dentro do for deu erro: "Não é possível atribuir a "repSol" porque ele é um "variável using""

Segue o que eu fiz:

public class clUpload
    {
        #region insert

        internal static Repository <tbUploadSCP> novoUpload(objUpload obj)
        {
            
            using (TransactionScope ts = new TransactionScope())
            {
                using (Repository<tbUploadSCP> repSol = new Repositoryupload())
                {

                    for (int i = 0; i < obj.arq.Count; i++) 
                    {
                        repSol = 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,
                        };

                    }


                }
                ts.Complete();

                return repSol;
            }
        }
}

 

  • Curtir 1
Link to comment
Compartilhe em outros sites

Nesse caso eu tentaria usar sem using ou criaria uma List de tbUploadSCP para auxiliar, dai conforme passa no laço eu adicionaria a essa lista e retornaria ela;

List<tbUploadSCP> listaNotas = new List<tbUploadSCP>();
listaNotas.Add(repSol);

Você consegue anexar esse seu exemplo rodando ?
Porque dai eu tentaria rodar no meu Visual Studio pra ver se consigo ajudar.

  • Curtir 1
Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...