本文整理汇总了C#中BusinessContext.GetTargetMetaClassName方法的典型用法代码示例。如果您正苦于以下问题:C# BusinessContext.GetTargetMetaClassName方法的具体用法?C# BusinessContext.GetTargetMetaClassName怎么用?C# BusinessContext.GetTargetMetaClassName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BusinessContext
的用法示例。
在下文中一共展示了BusinessContext.GetTargetMetaClassName方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InitializeMappingDocument
/// <summary>
/// Initializes the mapping document.
/// </summary>
/// <param name="context">The context.</param>
protected override void InitializeMappingDocument(BusinessContext context)
{
InitializeMappingDocumentRequest request = ((InitializeMappingDocumentRequest)context.Request);
MetaClass metaClass = DataContext.Current.GetMetaClass(context.GetTargetMetaClassName());
List<PrimaryKeyId> primaryKeyIds = new List<PrimaryKeyId>();
// Create Default Mapping
MappingDocument retVal = new MappingDocument();
DataTable dataTable = request.Data.Tables[request.TableIndex];
MappingElement mapping = new MappingElement(dataTable.TableName, metaClass.Name);
retVal.Add(mapping);
MappingElementBuilder builder = new MappingElementBuilder(retVal);
//Call creation mapping document by saved patterns
DefaultMappingHelper.CreateMapingByPatternComparision(dataTable, metaClass, builder);
// Write Response
InitializeMappingDocumentResponse response = new InitializeMappingDocumentResponse();
response.MappingDocument = retVal;
context.SetResponse(response);
}
示例2: ResetDeliveryAttempts
/// <summary>
/// Resets the delivery attempts.
/// </summary>
/// <param name="context">The context.</param>
protected virtual void ResetDeliveryAttempts(BusinessContext context)
{
MetaObject metaObject = MetaObjectActivator.CreateInstance(context.GetTargetMetaClassName(), context.GetTargetPrimaryKeyId().Value);
metaObject[OutgoingMessageQueueEntity.FieldDeliveryAttempts] = 0;
metaObject.Save();
}
示例3: Execute
public void Execute(BusinessContext context)
{
_log.Debug("Execute (IPlugin) for {0}. Metaclass: {1}. PrimaryKey: {2}. Plugin Stage: {3}",
context.GetMethod(),
context.GetTargetMetaClassName(),
context.GetTargetPrimaryKeyId().HasValue ? context.GetTargetPrimaryKeyId().Value.ToString() : "null",
context.PluginStage);
}
示例4: Execute
/// <summary>
/// Executes the specified context.
/// </summary>
/// <param name="context">The context.</param>
protected virtual void Execute(BusinessContext context)
{
if (context.Request.Parameters.Contains(OutgoingMessageQueuePlugin.AddToQueue))
{
PrimaryKeyId primaryKeyId = ResolvePrimaryKey(context);
if (primaryKeyId != PrimaryKeyId.Empty)
{
string referenceFieldName = GetReferenceFieldName(context.GetTargetMetaClassName());
if (!string.IsNullOrEmpty(referenceFieldName))
{
string source = context.Request.Parameters.GetValue<string>(OutgoingMessageQueuePlugin.SourceName, string.Empty);
PrimaryKeyId queuePk = AddMessageToOutgoingQueue(context.GetTargetMetaClassName(), referenceFieldName, primaryKeyId, source);
}
}
}
}
示例5: Execute
/// <summary>
/// Executes the specified context.
/// </summary>
/// <param name="context">The context.</param>
public void Execute(BusinessContext context)
{
switch (context.GetMethod())
{
case RequestMethod.Load:
if (context.GetTargetPrimaryKeyId().HasValue)
{
EntityObject item = LoadEntityObject(context.GetTargetMetaClassName(), context.GetTargetPrimaryKeyId().Value);
if (item != null)
{
LoadResponse response = new LoadResponse(item);
context.SetResponse(response);
}
}
break;
case RequestMethod.List:
{
// Filters Not Implemented
ListResponse response = context.Response as ListResponse;
if (response != null)
{
EntityObject[] items = LoadEntityObjects(context.GetTargetMetaClassName(), ((ListRequest)context.Request).Filters);
if (items.Length > 0)
{
List<EntityObject> newArray = new List<EntityObject>(response.EntityObjects.Length + items.Length);
newArray.AddRange(response.EntityObjects);
newArray.AddRange(items);
// TODO: Sorting Not Implemented
response.EntityObjects = newArray.ToArray();
}
}
}
break;
}
}
示例6: PreDeleteInsideTransaction
/// <summary>
/// Pres the delete inside transaction.
/// </summary>
/// <param name="context">The context.</param>
protected override void PreDeleteInsideTransaction(BusinessContext context)
{
base.PreDeleteInsideTransaction(context);
#region Remove references from IBN 4.7 objects
SqlHelper.ExecuteNonQuery(SqlContext.Current, System.Data.CommandType.StoredProcedure,
"bus_cls_ListObject_Delete",
SqlHelper.SqlParameter("@ClassName", SqlDbType.NVarChar, 250, context.GetTargetMetaClassName()),
SqlHelper.SqlParameter("@ObjectId", SqlDbType.VarChar, 36, context.GetTargetPrimaryKeyId().Value.ToString()));
#endregion
}
示例7: Execute
/// <summary>
/// Executes the specified context.
/// </summary>
/// <param name="context">The context.</param>
public virtual void Execute(BusinessContext context)
{
WorkflowInstanceEntity entityObject = (WorkflowInstanceEntity)BusinessManager.Load(context.GetTargetMetaClassName(), context.GetTargetPrimaryKeyId().Value);
if (entityObject.OwnerDocumentId.HasValue)
{
Document.SetReadOnly(
entityObject.OwnerDocumentId.Value,
false);
}
// TODO: Add New Owner Here
}
示例8: Execute
/// <summary>
/// Executes the specified context.
/// </summary>
/// <param name="context">The context.</param>
public virtual void Execute(BusinessContext context)
{
WorkflowInstanceEntity entityObject = (WorkflowInstanceEntity)BusinessManager.Load(context.GetTargetMetaClassName(), context.GetTargetPrimaryKeyId().Value);
if (entityObject.State == (int)BusinessProcessState.Closed &&
entityObject.ExecutionResult == (int)BusinessProcessExecutionResult.Accepted)
{
if (entityObject.OwnerDocumentId.HasValue)
{
Document.SetReadOnly(
entityObject.OwnerDocumentId.Value,
WorkflowParameters.GetOwnerReadOnly(entityObject));
}
// TODO: Add New Owner Here
}
}
示例9: foreach
/// <summary>
/// Executes the specified context.
/// </summary>
/// <param name="context">The context.</param>
void IPlugin.Execute(BusinessContext context)
{
if (context.GetMethod() == RequestMethod.Delete &&
context.GetTargetPrimaryKeyId().HasValue)
{
MetaClass currentMetaClass = DataContext.Current.GetMetaClass(context.GetTargetMetaClassName());
foreach (MetaField mf in currentMetaClass.FindReferencesTo())
{
if (mf.Owner.IsBridge)
{
foreach(EntityObject entity in BusinessManager.List(mf.Owner.Name,
new FilterElement[] { FilterElement.EqualElement(mf.Name, context.GetTargetPrimaryKeyId().Value) }))
{
BusinessManager.Delete(entity);
}
}
}
}
}
示例10: Execute
/// <summary>
/// Регестрирует все изменения над событиями в хранилище метаданных
/// Данный plugin должен быть подписан на все post события производимые над всеми метаклассами событий
/// В хранилище метаданных отслеживаться будет только события (в случаи наличия рекрсии только базовое зобытие рекрсии).
/// Например: 1. Если мы изменяем ресурсы события то в хранилище метаданных изменится версия связанного с данным ресурсом события.
/// 2. Если мы создаем exception то обновиться метаданные только базовго события, а новые метаданные для exception созданы не будут.
/// </summary>
/// <param name="context">The context.</param>
public void Execute(BusinessContext context)
{
bool needTracking = false;
//Отмлеживаем только во время отсутствия прцесса синхронизации
if (!CalendarEventSyncProvider.SyncSessionInProcess(Provider.ReplicaId))
{
//Регистрируем только вызовы BusinessObjectRequestHandler, все вызовы перехватываемые обработчиком
//отслеживать не нужно.
bool origRequestInvoked = context.Request.Parameters.GetValue<bool>(Mediachase.Ibn.Events.CustomMethods.EventHelper.FORCE_BASE_PARAM, false);
if (origRequestInvoked)
{
//перечисление методов
switch (context.GetMethod())
{
case RequestMethod.Create:
case RequestMethod.Delete:
case RequestMethod.Update:
case CalendarResourcesUpdateMethod.METHOD_NAME:
case ChangeTrackingMethod.METHOD_NAME:
needTracking = true;
break;
}
}
}
if (needTracking)
{
PrimaryKeyId? eventId = null;
//Пытаемся получить event pk из запроса или ответа
if (context.GetTargetMetaClassName() == CalendarEventEntity.ClassName)
{
eventId = context.Request.Target.PrimaryKeyId;
if (eventId == null)
{
eventId = ((CreateResponse)context.Response).PrimaryKeyId;
}
}
else if (context.GetTargetMetaClassName() == CalendarEventRecurrenceEntity.ClassName)
{
eventId = (PrimaryKeyId?)context.Request.Target[CalendarEventRecurrenceEntity.FieldEventId];
}
else if (context.GetTargetMetaClassName() == CalendarEventResourceEntity.ClassName)
{
eventId = (PrimaryKeyId?)context.Request.Target[CalendarEventResourceEntity.FieldEventId];
}
VirtualEventId vEventId = (VirtualEventId)eventId.Value;
eventId = vEventId.RealEventId;
//для события (виртуального или exception) необходимо произвести обновление только метаданных
//родительского события
if (vEventId.IsRecurrence)
{
ChangeVersionMetadataItem(eventId);
}
else
{
//только для методов касающихся события выполняются операции создания и удаления метаданных
if (context.GetTargetMetaClassName() == CalendarEventEntity.ClassName &&
context.Request.Method == RequestMethod.Create)
{
CreateMetadataItem(eventId.Value);
}
else if (context.GetTargetMetaClassName() == CalendarEventEntity.ClassName &&
context.Request.Method == RequestMethod.Delete)
{
MarkAsTombstoneMetadataItem(eventId);
}
else
{
ChangeVersionMetadataItem(eventId);
}
}
}
}