public virtual void Execute(ExecutingProcess executingProcess) { PackageEntity package = (PackageEntity)executingProcess.Data; var args = package.OperationArgs; executingProcess.ForEachLine(package.Lines().Where(a => a.FinishTime == null), line => { ((T)(object)line.Target).Execute(Symbol, args); line.FinishTime = TimeZoneManager.Now; line.Save(); }); }
public virtual void Execute(ExecutingProcess executingProcess) { PackageEntity package = (PackageEntity)executingProcess.Data !; var args = package.GetOperationArgs(); using (OperationLogic.AllowSave <T>()) executingProcess.ForEachLine(package.Lines().Where(a => a.FinishTime == null), line => { ((T)(object)line.Target).Save(); line.FinishTime = TimeZoneManager.Now; line.Save(); }); }
public virtual void Execute(ExecutingProcess executingProcess) { PackageEntity package = (PackageEntity)executingProcess.Data; var args = package.OperationArgs; executingProcess.ForEachLine(package.Lines().Where(a => a.FinishTime == null), line => { var result = ((F)(object)line.Target).ConstructFrom(Symbol, args); if (result.IsNew) { result.Save(); } line.Result = ((Entity)(IEntity)result).ToLite(); line.FinishTime = TimeZoneManager.Now; line.Save(); }); }
public void Execute(ExecutingProcess executingProcess) { PackageOperationEntity package = (PackageOperationEntity)executingProcess.Data; OperationSymbol operationSymbol = package.Operation; var args = package.OperationArgs; executingProcess.ForEachLine(package.Lines().Where(a => a.FinishTime == null), line => { OperationType operationType = OperationLogic.OperationType(line.Target.GetType(), operationSymbol); switch (operationType) { case OperationType.Execute: OperationLogic.ServiceExecute(line.Target, operationSymbol, args); break; case OperationType.Delete: OperationLogic.ServiceDelete(line.Target, operationSymbol, args); break; case OperationType.ConstructorFrom: { var result = OperationLogic.ServiceConstructFrom(line.Target, operationSymbol, args); line.Result = result.ToLite(); } break; default: throw new InvalidOperationException("Unexpected operation type {0}".FormatWith(operationType)); } line.FinishTime = TimeZoneManager.Now; line.Save(); }); }