public void DefineNativeOperations(ServiceLayerModel srvLayer) { foreach (BusinessDocModel model in this.BusinessDocsLayer.Documents) { if ((model.ParentRelations.Count == 0) && (model.ChildRelations.Count == 0)) { DataEntityModel rootEntity = model.RootEntity; ServiceModel model3 = new ServiceModel(GenerationHelper.GetServiceName(rootEntity)); srvLayer.Add(model3); model3 += new TableOperation(TableOperationType.Select, rootEntity); TraceInfoEvent.Raise(string.Format("Select operation added for '{0}'", rootEntity.MappingName)); model3 += new TableOperation(TableOperationType.SelectAll, rootEntity); TraceInfoEvent.Raise(string.Format("SelectAll operation added for '{0}'", rootEntity.MappingName)); model3 += new TableOperation(TableOperationType.Insert, rootEntity); TraceInfoEvent.Raise(string.Format("Insert operation added for '{0}'", rootEntity.MappingName)); if (rootEntity.UpdateSetFields.Count > 0) { model3 += new TableOperation(TableOperationType.Update, rootEntity); TraceInfoEvent.Raise(string.Format("Update operation added for '{0}'", rootEntity.MappingName)); } model3 += new TableOperation(TableOperationType.Delete, rootEntity); TraceInfoEvent.Raise(string.Format("Delete operation added for '{0}'", rootEntity.MappingName)); model3 += new TableOperation(TableOperationType.SelectDispsetAll, rootEntity); TraceInfoEvent.Raise(string.Format("SelectDispSetAll operation added for '{0}'", rootEntity.MappingName)); foreach (AssocModel model4 in rootEntity.ParentAssocs) { model3 += new AssocOperation(AssocOperationType.SelectBy, model4); TraceInfoEvent.Raise(string.Format("SelectBy operation added for '{0}'", model4.Name)); model3 += new AssocOperation(AssocOperationType.DeleteBy, model4); TraceInfoEvent.Raise(string.Format("DeleteBy operation added for '{0}'", model4.Name)); } continue; } ServiceModel sm = new ServiceModel(GenerationHelper.GetServiceName(model.Name)); srvLayer.Add(sm); sm += new DocumentOperation(DocOperationType.Select, model); TraceInfoEvent.Raise(string.Format("Select operation added for '{0}'", model.Name)); sm += new DocumentOperation(DocOperationType.SelectAll, model); TraceInfoEvent.Raise(string.Format("SelectAll operation added for '{0}'", model.Name)); sm += new DocumentOperation(DocOperationType.Insert, model); TraceInfoEvent.Raise(string.Format("Insert operation added for '{0}'", model.Name)); if (model.RootEntity.UpdateSetFields.Count > 0) { sm += new DocumentOperation(DocOperationType.Update, model); TraceInfoEvent.Raise(string.Format("Update operation added for '{0}'", model.Name)); } sm += new DocumentOperation(DocOperationType.Delete, model); TraceInfoEvent.Raise(string.Format("Delete operation added for '{0}'", model.Name)); } }