private JObject ProcessViewModel <T1, T2>(T1 input, JObject parent = null, MappingDelegate <T2> mapping = null) where T1 : DBObjectViewModelBase where T2 : IEntity { var mapped = Mapper.Map <T1, T2>(input); if (mapping != null) { mapped = mapping.Invoke(mapped); } var result = JObject.FromObject(mapped); var exportID = Guid.NewGuid().ToString(); result.Add("ExportID", exportID); if (parent != null) { result.Add("ParentExportID", parent["ExportID"]); } return(result); }
/// <summary> /// Changes action which is invoked for mapping /// </summary> /// <param name="mappingAction">Action which is invoked for mapping</param> public void SetMappingAction(MappingDelegate mappingAction) { this.MappingAction = mappingAction; }