Quantcast
Channel: CRM Development forum
Viewing all articles
Browse latest Browse all 8223

Get the following error if I try to get related entity: Object reference not set to an instance of an object.

$
0
0

I try to get a related entity and get this error: Object reference not set to an instance of an object.

See below my code:

public IEnumerable<RUBAnnotation> GetAnnotationsByServiceRequestId(string serviceRequestId)
        {
            List<Annotation> annotationList = new List<Annotation>();

            try
            {
                using (OrganizationServiceProxy organizationProxy = new OrganizationServiceProxy(organisationWebServiceUri, null, userCredentials, deviceCredentials))
                {
                    organizationProxy.EnableProxyTypes();

                    var service = (IOrganizationService)organizationProxy;
                    OrganizationServiceContext orgContext = new OrganizationServiceContext(service);

                    Relationship rel = new Relationship("Incident_Annotation");

                    // get all incidents by incidentId
                    IEnumerable<Incident> incidents = from c in orgContext.CreateQuery<Incident>()
                                         where c.Id == new Guid(serviceRequestId)
                                         select c;

                    return GetAnnotationsEntities(incidents);
                }

            }
            catch (Exception)
            {
                throw;
            }

            return null;
        }

private List<RUBAnnotation> GetAnnotationsEntities(IEnumerable<Incident> incidents)
        {
            List<RUBAnnotation> annotationsList = new List<RUBAnnotation>();

            try
            {
              
                    foreach (Incident incident in incidents)
                    {
                        foreach (var annotation in incident.Incident_Annotation) // HERE OCCURS THE EXCEPTION!!
                        {
                            if (!string.IsNullOrEmpty(annotation.NoteText))
                            {
                                var customAnnotation = new RUBAnnotation();

                                customAnnotation.Id = annotation.Id.ToString();

                                if (annotation.Incident_Annotation != null)
                                {
                                    customAnnotation.ServiceRequestId = annotation.Incident_Annotation.Id.ToString();
                                }

                                customAnnotation.Message = annotation.NoteText;
                                customAnnotation.CreatedOn = (DateTime)annotation.CreatedOn;
                                customAnnotation.UserId = annotation.CreatedBy.Id.ToString();

                                annotationsList.Add(customAnnotation);
                            }
                        }
                    }
            }
            catch (Exception e)
            {
                throw e;
            }

            return annotationsList;
        }

Why do I get this error when I try to get incident.Incident_Annotation ? I think incident.Incident_Annotation is NULL, but why? Al my incidents have minimal 1  or more annotations.

Viewing all articles
Browse latest Browse all 8223

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>