Convert Type to List

Asked

Viewed 189 times

0

Good afternoon,

I’m developing a project in C# and I have an error now that I’m not solving.

Cannot implicitly Convert type 'Itcore.FlowCredit.Business.Entities.Productmortizacaocreditodiassearch' to 'System.Collections.Generic.List'

 public override List<ProdutoAmortizacaoCreditoDias> GetTodosDiasAmortizacaoCredito(int? id_TipoDia, String id_Produto)
{
        List<ProdutoAmortizacaoCreditoDias> ProdutoAmortizacaoCreditoDiasObj = new List<ProdutoAmortizacaoCreditoDias>();

        try
        {
            ProdutoAmortizacaoCreditoDiasObj = **ProdutoAmortizacaoDiasUtils.GetTodosProdutoAmortizacaoDias(id_TipoDia, id_Produto);**
        }
        catch (Exception ex)
        {
            CoreLog.LogError(ex);
            throw new CoreException(ex.Message);
        }
        return ProdutoAmortizacaoCreditoDiasObj;
    }

How do I convert here?

  #region Gets

    public static ProdutoAmortizacaoCreditoDiasSearch GetTodosProdutoAmortizacaoDias(int? id_TipoDia, String id_Produto)
    {
        ProdutoAmortizacaoCreditoDiasSearch res = new ProdutoAmortizacaoCreditoDiasSearch();
        List<ProdutoAmortizacaoCreditoDias> ProdutoAmortizacaoDiasList = new List<ProdutoAmortizacaoCreditoDias>().ToList();

        using (TaxasProdutoExtensaoPrazoDBDataContext ctx = new TaxasProdutoExtensaoPrazoDBDataContext())
        {
            var results = ctx.usp_DiaAmortizacaoCredito_GetDiaAmortizacaoCredito(id_TipoDia, id_Produto);
            foreach (var result in results)
            {
                var obj = new ProdutoAmortizacaoCreditoDias();
                obj.Id = (int)result.id;
                obj.Dia = (int)result.dia;
                obj.DiaInicio = (DateTime)result.data_Inicio;
                obj.DiaFim = (DateTime)result.data_Fim;
                ProdutoAmortizacaoDiasList.Add(obj);
            }
        }
        res.result = ProdutoAmortizacaoDiasList;
        res.ReturnValue = 1;//tens de buscar isto à bd
        res.NumberRecords = ProdutoAmortizacaoDiasList.Count; //buscares à bd, ou assim, depende como queres fazer
        return res;
    }

Thank you,

2 answers

4


Are you trying to make a variable of the type List<ProdutoAmortizacaoCreditoDias> receive the value of another kind, ProdutoAmortizacaoCreditoDiasSearch, in the case.

Behold

var ProdutoAmortizacaoCreditoDiasObj = new List<ProdutoAmortizacaoCreditoDias>();

Here is instantiated a list of ProdutoAmortizacaoCreditoDias.

In the line below, inside the try, has the following

ProdutoAmortizacaoCreditoDiasObj = ProdutoAmortizacaoDiasUtils.GetTodosProdutoAmortizacaoDias(id_TipoDia, id_Produto);

That is. Take the return of the method GetTodosProdutoAmortizacaoDias in class ProdutoAmortizacaoDiasUtils and put in the variable ProdutoAmortizacaoCreditoDias.

However, the return of the method GetTodosProdutoAmortizacaoDias is not a list of ProdutoAmortizacaoCreditoDias rather an instance of ProdutoAmortizacaoCreditoDiasSearch.

See the method signature:

public static ProdutoAmortizacaoCreditoDiasSearch GetTodosProdutoAmortizacaoDias(/*params*/)

Solution

The guy ProdutoAmortizacaoCreditoDiasSearch has a property result and apparently that’s where the list you need.

So here’s what you do:

try
{
    ProdutoAmortizacaoCreditoDiasObj = ProdutoAmortizacaoDiasUtils.GetTodosProdutoAmortizacaoDias(id_TipoDia, id_Produto).result;
}
catch (Exception ex)
{
    CoreLog.LogError(ex);
    throw new CoreException(ex.Message);
}

1

I believe the return of your first method should be

return ProdutoAmortizacaoCreditoDiasObj.result;

At least it would make more sense since this property is a List<ProdutoAmortizacaoCreditoDias>

Browser other questions tagged

You are not signed in. Login or sign up in order to post.