Ao executar um business component com o BTL tenho o erro abaixo:
INP-501: Erro ao executar tarefa de BusinessComponent "Benner.Saude.Prestadores.FechamentoPreco, Benner.Saude.Prestadores.FechamentoPreco, Version=15.0.0.0, Culture=neutral, PublicKeyToken=null":
Não é possível utilizar o dicionário Properties da entidade sem uma definição de entidade associada. Atribua uma definição a instância da entidade através da propriedade Definition.
O código de excução é o seguinte:
public void BotaoProcessar(BusinessArgs args, SamFechamentoPreco samFechamentoPreco)
{
if (samFechamentoPreco.Situacao == SamFechamentoPrecoSituacaoRadioItens.ItemAberto)
{
BusinessTask.Factory.NewComponentTask<FechamentoPreco>()
.WithRequestValue(samFechamentoPreco)
.Start();
args.Message = "Rotina Enviada para execução no servidor";
}
else
args.Message = "Não é possível processar a rotina não está Aberta";
}
Se alterar para chamada local do business component ele funciona sem problemas, exemplo:
public void BotaoProcessar(BusinessArgs args, SamFechamentoPreco samFechamentoPreco)
{
if (samFechamentoPreco.Situacao == SamFechamentoPrecoSituacaoRadioItens.ItemAberto)
{
var business = BusinessComponent.CreateInstance<FechamentoPreco>();
business.Run(samFechamentoPreco);
}
else
args.Message = "Não é possível processar a rotina não está Aberta";
}
O código do business component é muito simples, segue abaixo:
public class FechamentoPreco : BusinessComponent<FechamentoPreco>, IFechamentoPreco, IBusinessTaskAction<SamFechamentoPreco>
{
public void Run(SamFechamentoPreco samFechamentoPreco)
{
samFechamentoPreco.Edit();
samFechamentoPreco.Ocorrencias += Environment.NewLine + "Data Atual: " + DateTime.Now;
samFechamentoPreco.Save();
}
}
Já regerei o cache no Builder algumas vezes mas não adianta.