Usuário com melhor resposta
Buscar QuoteId, evento Onsalve entidade Quote, via plugin C#

Pergunta
-
Bom dia pessoal.
como faço para pegar o id da entidade Quote recem criada, com plugin feito em C# ?
estou me baseando no exemplo do skd para fazer esta busca porem no exemplo o que consegui foi apenas pegar um bool (true ou false)
if(entity.Properties.Contains("quoteid") == false){}
como faço para buscar o valor do campo?
Obrigado.
Maicon
Respostas
-
Consegui. caso alguem precisar.
No plugin Registration = Name Win
DynamicEntity entity1 = (DynamicEntity)context.InputParameters["QuoteClose"]; ICrmService serviceCon = context.CreateCrmService(false); Guid QuoteID = ((Lookup)entity1["quoteid"]).Value; Microsoft.Crm.Sdk.Query.ColumnSet Colunas = new Microsoft.Crm.Sdk.Query.ColumnSet(); Colunas.AddColumn("totalamount"); Colunas.AddColumn("statecode"); Colunas.AddColumn("exchangerate"); Colunas.AddColumn("createdby"); Microsoft.Crm.SdkTypeProxy.quote CurrenQuote = (Microsoft.Crm.SdkTypeProxy.quote)serviceCon.Retrieve(Microsoft.Crm.SdkTypeProxy.EntityName.quote.ToString(), QuoteID, Colunas); Log(CurrenQuote.statecode.Value.ToString()); Log(CurrenQuote.totalamount.Value.ToString()); Log(CurrenQuote.createdby.Value.ToString());
- Marcado como Resposta RicardoAlves sexta-feira, 21 de janeiro de 2011 18:39
Todas as Respostas
-
Oi Maicon,
Você está registrando o plugin para qual momento? Já tentou o post create?
http://nishantrana.wordpress.com/2010/08/19/get-quotenumber-quote-id-on-postcreate-plugin/
[]´s
Carlos Amorim Junior
"Colabore! A comunidade precisa de você."
http://www.dynamicscrm.com.br -
Maicon,
Você pode fazer assim...
Guid id = ((Key)entity.Properties["quoteid"]).Value;
Abraço,
Ricardo Alves
www.ricardoalves.me- Sugerido como Resposta RicardoAlves sexta-feira, 21 de janeiro de 2011 14:43
-
Consegui:
ICrmService serviceCon = context.CreateCrmService(false); Log("Service"); Guid QuoteID = ((Moniker)context.InputParameters.Properties["EntityMoniker"]).Id; Log("id"); Microsoft.Crm.Sdk.Query.ColumnSet Colunas = new Microsoft.Crm.Sdk.Query.ColumnSet(); Log("clounas"); //add as colunas para puxar da cotaçao aberta Colunas.AddColumn("totalamount"); Colunas.AddColumn("statecode"); Microsoft.Crm.SdkTypeProxy.quote CurrenQuote = (Microsoft.Crm.SdkTypeProxy.quote)serviceCon.Retrieve(Microsoft.Crm.SdkTypeProxy.EntityName.quote.ToString(), QuoteID, Colunas); Log("current quote"); Log(CurrenQuote.statecode.Value.ToString()); Log(CurrenQuote.totalamount.Value.ToString());
Porem, ele executa apenas quando altero para ativo a cotaçao, usei SetStateDynamicEntity para executar,
preciso que seja executando quando for alterado para Ganho,
- Editado Maicon Cesar Vaz sexta-feira, 21 de janeiro de 2011 16:02 erro no codigo.
-
Consegui. caso alguem precisar.
No plugin Registration = Name Win
DynamicEntity entity1 = (DynamicEntity)context.InputParameters["QuoteClose"]; ICrmService serviceCon = context.CreateCrmService(false); Guid QuoteID = ((Lookup)entity1["quoteid"]).Value; Microsoft.Crm.Sdk.Query.ColumnSet Colunas = new Microsoft.Crm.Sdk.Query.ColumnSet(); Colunas.AddColumn("totalamount"); Colunas.AddColumn("statecode"); Colunas.AddColumn("exchangerate"); Colunas.AddColumn("createdby"); Microsoft.Crm.SdkTypeProxy.quote CurrenQuote = (Microsoft.Crm.SdkTypeProxy.quote)serviceCon.Retrieve(Microsoft.Crm.SdkTypeProxy.EntityName.quote.ToString(), QuoteID, Colunas); Log(CurrenQuote.statecode.Value.ToString()); Log(CurrenQuote.totalamount.Value.ToString()); Log(CurrenQuote.createdby.Value.ToString());
- Marcado como Resposta RicardoAlves sexta-feira, 21 de janeiro de 2011 18:39
-
Boa Maicon,
É que em alguns eventos não vem DynamicEntity no context, mas um Moniker. Como por exemplo no evento Delete.
Abs,
Ricardo Alves
www.ricardoalves.me