internal static object ConvertToDbValue(object value, XrmDb db) { if (value is OptionSetValue osv) { return(osv.Value); } if (value is Money money) { return(money.Value); } if (value is EntityReference reference && db.IsValidEntity(reference.LogicalName)) { return(db.GetDbRow(reference, false)); } if (value is IEnumerable <Entity> entities) { return(entities .Where(e => db.IsValidEntity(e.LogicalName)) .Select(e => db.GetDbRow(e)) .ToArray()); } #if XRM_MOCKUP_365 if (value is OptionSetValueCollection optionsets) { return(new OptionSetValueCollection(optionsets)); } #endif return(value); }
internal static object ConvertToDbValue(object value, XrmDb db) { if (value is OptionSetValue osv) { return(osv.Value); } if (value is Money money) { return(money.Value); } if (value is EntityReference reference) { return(db.GetDbRow(reference)); } return(value); }