public void Invoke (IModelContext modelContext, IEntityAction entityAction, TExtension extension) { if (modelContext.NotNull ()) { var context = TModelContext.CastTo (modelContext); var relationList = context.CategoryRelation .ToList () ; if (entityAction.NotNull ()) { var action = TEntityAction.Request (entityAction); action.CollectionAction.SetCollection (relationList); if (action.Operation.HasExtension) { switch (extension) { case TExtension.Full: { CollectionFull (context, action); } break; case TExtension.Minimum: { CollectionMinimum (context, action); } break; case TExtension.ById: case TExtension.Idle: case TExtension.Many: case TExtension.Zap: { Models.Infrastructure.THelper.FormatExtensionNotImplementedException (action); } break; } } else { Models.Infrastructure.THelper.FormatExtensionMustExistException (action); } } } }
public void Invoke (IModelContext modelContext, IEntityAction entityAction, Server.Models.Infrastructure.TExtension extension) { if (modelContext.NotNull ()) { var context = TModelContext.CastTo (modelContext); var relationList = context.CategoryRelation .ToList () ; if (entityAction.NotNull ()) { var action = TEntityAction.Request (entityAction); action.CollectionAction.SetCollection (relationList); if (action.Operation.HasExtension) { Server.Models.Infrastructure.THelper.FormatExtensionNotImplementedException (action); } else { Insert (context, action); } } } }
public Task<IEntityAction> OperationAsync (IEntityAction entityAction) { var task = Task.Factory.StartNew (() => { if (entityAction.NotNull ()) { IModelContext context = Request (entityAction.ConnectionString); if (context.NotNull ()) { try { if (ContainsOperation (entityAction)) { Invoke (context, entityAction); } else { // operation not found! string msg = $"context: {entityAction.Operation.CategoryType.Category} - operation: {entityAction.Operation.Operation} - NOT FOUND!"; entityAction.Result.CopyFrom (new rr.Library.Helper.TValidationResult (msg)); } } catch (Exception exception) { THelper.FormatException ("Operation", exception, entityAction); } } context.DisposeNow (); } return (entityAction); }, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default ); return (task); }
public void Invoke (IModelContext modelContext, IEntityAction entityAction, TExtension extension) { if (modelContext.NotNull ()) { var context = TModelContext.CastTo (modelContext); var relationList = context.CategoryRelation .ToList () ; if (entityAction.NotNull ()) { var action = TEntityAction.Request (entityAction); action.CollectionAction.SetCollection (relationList); if (action.Operation.HasExtension) { switch (extension) { case TExtension.Settings: { SelectSettings (context, action); } break; case TExtension.ById: { SelectById (context, action); } break; case TExtension.Relation: { SelectRelation (context, action); } break; case TExtension.Many: { SelectMany (context, action); } break; case TExtension.Node: { SelectNode (context, action); } break; case TExtension.Zap: { SelectZap (context, action); } break; case TExtension.Summary: { SelectSummary (context, action); } break; case TExtension.Idle: { //SelectIdle (context, action); } break; case TExtension.Full: { Server.Models.Infrastructure.THelper.FormatExtensionNotImplementedException (action); } break; } } else { Server.Models.Infrastructure.THelper.FormatExtensionMustExistException (action); } } } }