With the line:
Guid AlertsId = service.Create(NewAlert);
NewAlert["new_alertguid"] = "Spennende: " + AlertsId.ToString();
I am trying to get the newly created GUID. But nothing happens. I dont get the GUID and the workflow does not fail. It does not write "Spennende" in the field neither. But I cant see how to find out what I am doing wrong.
What can I do to solve this. Do you guys see anything wrong?
Tried to insert other values in the same field.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Activities;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Workflow;
namespace WordCountWorkflow
{
public class WordCount : CodeActivity
{
[Input("Hvilket felt skal endres")]
public InArgument<string> FieldToChange { get; set; }
[RequiredArgument]
[Input("Tekst som skal telles")]
public InArgument<string> InputText { get; set; }
[Output("Antall tegn")]
public OutArgument<int> CountOfWords { get; set; }
protected override void Execute(CodeActivityContext context)
{
this.CountOfWords.Set(
context,
this.InputText.Get<string>(context).Split(
new char[] { ' ', '\r', '\n' },
StringSplitOptions.RemoveEmptyEntries).Length);
//------------------
ITracingService tracingService = context.GetExtension<ITracingService>();
IWorkflowContext workflowContext = context.GetExtension<IWorkflowContext>();
IOrganizationServiceFactory serviceFactory = context.GetExtension<IOrganizationServiceFactory>();
IOrganizationService service = serviceFactory.CreateOrganizationService(workflowContext.UserId);
Entity NewAlert = new Entity("new_alerts");
NewAlert["new_name"] = "Navn på alert";
NewAlert["new_message"] = "Her er beskjed";
Guid AlertsId = service.Create(NewAlert);
NewAlert["new_alertguid"] = "Spennende: " + AlertsId.ToString();
}
}
}
I tried to change to this:
ITracingService tracingService = context.GetExtension<ITracingService>();
IWorkflowContext workflowContext = context.GetExtension<IWorkflowContext>();
IOrganizationServiceFactory serviceFactory = context.GetExtension<IOrganizationServiceFactory>();
IOrganizationService service = serviceFactory.CreateOrganizationService(workflowContext.UserId);
Entity NewAlert = new Entity("new_alerts");
Guid AlertsId = service.Create(NewAlert);
NewAlert["new_name"] = "Navn på alert";
NewAlert["new_message"] = "Her er beskjed " + AlertsId.ToString();
NewAlert["new_shortmessage"] = "Spennende: " + AlertsId.ToString();
But then everything stopped. And none of the fields where filled out.
You can use below code with you creating guid for a record
Entity NewAlert = new Entity("new_alerts");
NewAlert.Id = Guid.NewGuid();
NewAlert["new_name"] = "Navn på alert";
NewAlert["new_message"] = "Her er beskjed";
NewAlert["new_alertguid"] = "Spennende: " + NewAlert.Id.ToString();
Guid AlertsId = service.Create(NewAlert);
OR you can create new Object and then update it.
Entity NewAlert = new Entity("new_alerts");
NewAlert["new_name"] = "Navn på alert";
NewAlert["new_message"] = "Her er beskjed";
Guid AlertsId = service.Create(NewAlert);
Entity CompleteNewAlert = new Entity("new_alerts",AlertsId );
CompleteNewAlert ["new_alertguid"] = "Spennende: " + AlertsId.ToString();
service.Update(CompleteNewAlert );