My application is divided as follows:
Repository - > Access to Progress database
Controller - > Receives feedback from Repository and sends to View
View - > Receives feedback from Controller.
Next, my Repository looks like this:
public Projeto.Model.Projeto ObterProjetoPorEstabCcustoCodigo(Estabelecimento pEstabelecimento, CentroCusto pCentroCusto, Projeto.Model.Projeto pProjeto)
{
using (var pim = new PIM(new infraProgress().buscaBroker(), "", "", ""))
{
pim.pim_busca_projeto_codigo(pEstabelecimento.Sigla, pCentroCusto.Id, pProjeto.Id, out string resumo, out string valPrevisto, out string valAlocado, out string valVariacao, out string valSaldo, out string tipoDeDocumento, out string msg);
var projeto = new Projeto.Model.Projeto()
{
Descricao = resumo,
ValPrevisto = Convert.ToDecimal(valPrevisto),
ValorAlocado = Convert.ToDecimal(valAlocado),
VariacaoLimite = Convert.ToDecimal(valVariacao),
ValorLiberadoGastar = Convert.ToDecimal(valSaldo),
Classificacao = tipoDeDocumento
};
return projeto;
}
}
public Projeto.Model.Projeto ObterProjetoPorEstabCcustoCodigo(Estabelecimento pEstabelecimento, CentroCusto pCentroCusto, Projeto.Model.Projeto pProjeto)
{
using (var pim = new PIM(new infraProgress().buscaBroker(), "", "", ""))
{
pim.pim_busca_projeto_codigo(pEstabelecimento.Sigla, pCentroCusto.Id, pProjeto.Id, out string resumo, out string valPrevisto, out string valAlocado, out string valVariacao, out string valSaldo, out string tipoDeDocumento, out string msg);
var projeto = new Projeto.Model.Projeto()
{
Descricao = resumo,
ValPrevisto = Convert.ToDecimal(valPrevisto),
ValorAlocado = Convert.ToDecimal(valAlocado),
VariacaoLimite = Convert.ToDecimal(valVariacao),
ValorLiberadoGastar = Convert.ToDecimal(valSaldo),
Classificacao = tipoDeDocumento
};
return projeto;
}
}
Notice that the procedure pim_busca_project_codigo returns the information of my Project object and also an out msg parameter.
This is my problem, I need to return the object Projeto
and also the msg
.
This is because msg
returns some error conditions that I need to demonstrate to the user.