public static void ProcessSicCode(string clientIp, KickFireModel.RootObject model) { // Lets put the user into the right pattern if (string.IsNullOrWhiteSpace(model.data[0].sicCode)) { Log.Info("KickFire: No SicCode from Kickfire API call. IP is " + clientIp, "KickFire"); return; } var profileItem = Items.GetProfileItemBySicCode(model.data[0].sicCode); if (profileItem != null) { Log.Info("KickFire: Override SicCode for " + model.data[0].sicCode, "KickFire"); } // convert the response to our object var sicCodeModel = AnalyticsHelper.GetKickfireSicCodeModel(model.data[0].sicCode); if (sicCodeModel == null) { Log.Info("KickFire: Could not decode API call for " + model.data[0].sicCode, "Kickfire"); return; } // get the group by group name var groupItem = Items.GetSicGroup(sicCodeModel.Grouping); if (groupItem?.Fields[IDs.Fields.GroupParent.Profile] != null && ((LookupField)groupItem.Fields[IDs.Fields.GroupParent.Profile]).TargetItem != null) { // get profile key from group item profileItem = ((LookupField)groupItem.Fields[IDs.Fields.GroupParent.Profile]).TargetItem; } else { Log.Info("KickFire: Could not find group in Sitecore for " + sicCodeModel.Grouping, "Kickfire"); } if (profileItem == null) { Log.Info( "Profile Item is null. This is the lookup to the profile item from the Grouping item in Sitecore. ", "KickFire"); return; } ProcessProfile(profileItem); }