public override async Task <string> RunAsync(TaskContext context, string rawInput) { string instanceId = context.OrchestrationInstance.InstanceId; var inputContext = new DurableActivityContext(instanceId, rawInput); // TODO: Wire up the parent ID to improve dashboard logging. Guid?parentId = null; var triggerInput = new TriggeredFunctionData { ParentId = parentId, TriggerValue = inputContext }; this.config.TraceHelper.FunctionStarting( this.config.HubName, this.activityName, instanceId, this.config.GetIntputOutputTrace(rawInput), functionType: FunctionType.Activity, isReplay: false); FunctionResult result = await this.executor.TryExecuteAsync(triggerInput, CancellationToken.None); if (!result.Succeeded) { // Flow the original activity function exception to the orchestration // without the outer FunctionInvocationException. Exception exceptionToReport = StripFunctionInvocationException(result.Exception); this.config.TraceHelper.FunctionFailed( this.config.HubName, this.activityName, instanceId, exceptionToReport?.ToString() ?? string.Empty, functionType: FunctionType.Activity, isReplay: false); if (exceptionToReport != null) { throw new TaskFailureException( $"Activity function '{this.activityName}' failed: {exceptionToReport.Message}", Utils.SerializeCause(exceptionToReport, MessagePayloadDataConverter.Default)); } } string serializedOutput = inputContext.GetSerializedOutput(); this.config.TraceHelper.FunctionCompleted( this.config.HubName, this.activityName, instanceId, this.config.GetIntputOutputTrace(serializedOutput), continuedAsNew: false, functionType: FunctionType.Activity, isReplay: false); return(serializedOutput); }
public static async Task <WrappedFunctionResult> ExecuteFunctionInOrchestrationMiddleware( ITriggeredFunctionExecutor executor, TriggeredFunctionData triggerInput, CancellationToken cancellationToken) { #pragma warning disable CS0618 // InvokeHandler approved for use by this extension if (triggerInput.InvokeHandler == null) { throw new ArgumentException( $"{nameof(ExecuteFunctionInOrchestrationMiddleware)} should only be used when ${nameof(triggerInput)} has a value for ${nameof(TriggeredFunctionData.InvokeHandler)}"); } try { bool executedUserCode = false; var triggeredFunctionData = new TriggeredFunctionData() { TriggerValue = triggerInput.TriggerValue, ParentId = triggerInput.ParentId, InvokeHandler = userCodeHandler => { executedUserCode = true; return(triggerInput.InvokeHandler(userCodeHandler)); }, #if !FUNCTIONS_V1 TriggerDetails = triggerInput.TriggerDetails, #endif }; #pragma warning restore CS0618 FunctionResult result = await executor.TryExecuteAsync(triggerInput, cancellationToken); if (result.Succeeded) { return(WrappedFunctionResult.Success()); } if (cancellationToken.IsCancellationRequested) { return(WrappedFunctionResult.FunctionRuntimeFailure(result.Exception)); } if (!executedUserCode) { WrappedFunctionResult.UserCodeFailure(new InvalidOperationException( "The function failed to start executing. " + "For .NET functions, this can happen if an unhandled exception is thrown in the function's class constructor.")); } return(WrappedFunctionResult.UserCodeFailure(result.Exception)); } catch (Exception e) { return(WrappedFunctionResult.FunctionRuntimeFailure(e)); } }
/// <summary> /// 收银员台支付 /// </summary> public async Task <ActionResult> ManagerPay(Cart cart, ManagerCartAddition cartAddition) { SystemConfig system = await YummyOnlineManager.GetSystemConfig(); if (system.Token != cartAddition.Token) { return(Json(new JsonError("身份验证失败"))); } var hotel = await YummyOnlineManager.GetHotelById(cartAddition.HotelId); CurrHotel = new CurrHotelInfo(hotel.Id, hotel.ConnectionString); if (!hotel.Usable) { return(RedirectToAction("HotelUnavailable", "Error")); } cart.PayKindId = await new HotelManager(CurrHotel.ConnectionString).GetOtherPayKindId(); CartAddition addition = new CartAddition { WaiterId = cartAddition.WaiterId, DineType = cartAddition.DineType, Discount = cartAddition.Discount, DiscountName = cartAddition.DiscountName, GiftMenus = cartAddition.GiftMenus, From = DineFrom.Manager }; User user = await UserManager.FindByIdAsync(cartAddition.UserId); addition.UserId = user?.Id; // 创建新订单 FunctionResult result = await OrderManager.CreateDine(cart, addition); if (!result.Succeeded) { if (await UserManager.IsInRoleAsync(user.Id, Role.Nemo)) { await UserManager.DeleteAsync(user); await YummyOnlineManager.RecordLog(YummyOnlineDAO.Models.Log.LogProgram.Identity, YummyOnlineDAO.Models.Log.LogLevel.Warning, $"Anonymous User Deleted {user.Id}, Via Manager"); } await HotelManager.RecordLog(HotelDAO.Models.Log.LogLevel.Error, $"{result.Detail}, Host:{Request.UserHostAddress}", HttpPost.GetPostData(Request)); return(Json(new JsonError(result.Message))); } Dine dine = ((Dine)result.Data); await newDineInform(dine, "Manager"); return(Json(new JsonSuccess { Data = dine.Id })); }
private async Task ProcessMessageAsync(BrokeredMessage message, CancellationToken cancellationToken) { FunctionResult result = await _triggerExecutor.ExecuteAsync(message, cancellationToken); if (!result.Succeeded) { cancellationToken.ThrowIfCancellationRequested(); await message.AbandonAsync(); } }
public async Task <JsonResult> Insert(string name) { FunctionResult result = await ExpressCompaniesManager.Insert(name); if (result.IsSucceed) { return(Json(new JsonSucceedObj())); } return(Json(new JsonErrorObj(result.ErrorMessage))); }
public FunctionResult <Component> Create(Component info) { var r = new FunctionResult <Component>(); int id = ComponentDal.Add(info); if (id > 0) { r.Data = info; r.Data.ComponentId = id; } return(r); }
public FunctionResult <SolutionTemplate> Create(SolutionTemplate info) { var r = new FunctionResult <SolutionTemplate>(); int id = SolutionTemplateDal.Add(info); if (id > 0) { r.Data = info; r.Data.SolutionTemplateId = id; } return(r); }
public FunctionResult <SolutionTemplate> GetWithCodeTemplatesBySolutionTemplateId(int Id) { FunctionResult <SolutionTemplate> r = Get(Id); if (r.ActionResult && r.HavingData) { r.Data.SolutionTemplates = CodeTemplateDal.GetListBySolutionTemplateId(Id); } return(r); }
public void TestExecuteNoResultType( [Values(ExecuteSQLShared.ReturnModeType.RowByRow, ExecuteSQLShared.ReturnModeType.ListOfRows, ExecuteSQLShared.ReturnModeType.FirstRow, ExecuteSQLShared.ReturnModeType.FirstRowElseEmptyRow)] ExecuteSQLShared.ReturnModeType returnModeType) { string sql = "DECLARE @t TABLE ( AColumn INT )"; FunctionResult result = Execute(sql, returnModeType); Assert.IsNull(result.Value); Assert.IsNull(result.ExecutionPathResult); }
public void Creating_BeingFailure_MapsValueToDefaultObject <T>(T value) { // Act var sut = FunctionResult.CreateFailure <T>(); Debug.WriteLine(value); // Assert sut.Value.Should().Be(default(T)); }
void OnFunctionCall(FunctionResult res) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < _coile.Length; i++) { sb.AppendLine(_coile[i].ToString()); } res.Message = sb.ToString(); }
public FunctionResult <AppUser> Create(AppUser info) { var r = new FunctionResult <AppUser>(); int id = AppUserDal.Add(info); if (id > 0) { r.Data = info; r.Data.AppUserId = id; } return(r); }
public FunctionResult <AppService> Create(AppService info) { var r = new FunctionResult <AppService>(); int id = AppServiceDal.Add(info); if (id > 0) { r.Data = info; r.Data.AppServiceId = id; } return(r); }
public FunctionResult <JobToken> Create(JobToken info) { var r = new FunctionResult <JobToken>(); int id = JobTokenDal.Add(info); if (id > 0) { r.Data = info; r.Data.JobTokenId = id; } return(r); }
public FunctionResult <AppInstanceToken> Create(AppInstanceToken info) { var r = new FunctionResult <AppInstanceToken>(); int id = AppInstanceTokenDal.Add(info); if (id > 0) { r.Data = info; r.Data.AppInstanceTokenId = id; } return(r); }
public async Task <JsonResult> Update(ExpressCompanyViewModel model) { FunctionResult result = await ExpressCompaniesManager.Update(model.Id, model.Discription); if (result.IsSucceed) { return(Json(new JsonSucceedObj())); } return(Json(new JsonErrorObj(result.ErrorMessage))); }
public async Task <JsonResult> Delete(int id) { FunctionResult result = await ExpressCompaniesManager.Delete(id); if (result.IsSucceed) { return(Json(new JsonSucceedObj())); } return(Json(new JsonErrorObj(result.ErrorMessage))); }
/// <summary> /// Constructs a new instance. /// </summary> /// <param name="arguments">The function arguments.</param> /// <param name="properties">The property bag that can be used to pass information between filters.</param> /// <param name="functionInstanceId">The instance ID for the function invocation.</param> /// <param name="functionName">The name of the function.</param> /// <param name="logger"><see cref="ILogger"/> that can be used by the filter to log information.</param> /// <param name="functionResult">The function result.</param> public FunctionExecutedContext(IReadOnlyDictionary <string, object> arguments, IDictionary <string, object> properties, Guid functionInstanceId, string functionName, ILogger logger, FunctionResult functionResult) : base(arguments, properties, functionInstanceId, functionName, logger) { if (functionResult == null) { throw new ArgumentNullException(nameof(functionResult)); } FunctionResult = functionResult; }
public FunctionResult <AppGrant> Create(AppGrant info) { var r = new FunctionResult <AppGrant>(); int id = AppGrantDal.Add(info); if (id > 0) { r.Data = info; r.Data.AppGrantId = id; } return(r); }
public bool Judge(string destStr) => true; //这里判断是否能触发指令 public FunctionResult Progress(CQGroupMessageEventArgs e) //群聊处理 { FunctionResult result = new FunctionResult { Result = false, SendFlag = false, }; return(result); }
public FunctionResult <AppConfig> Create(AppConfig info) { var r = new FunctionResult <AppConfig>(); int id = AppConfigDal.Add(info); if (id > 0) { r.Data = info; r.Data.AppConfigId = id; } return(r); }
public FunctionResult <LoginInfo> Create(LoginInfo info) { var r = new FunctionResult <LoginInfo>(); int id = LoginInfoDal.Add(info); if (id > 0) { r.Data = info; r.Data.LoginInfoId = id; } return(r); }
public FunctionResult <DataConnection> Create(DataConnection info) { var r = new FunctionResult <DataConnection>(); int id = DataConnectionDal.Add(info); if (id > 0) { r.Data = info; r.Data.DataConnectionId = id; } return(r); }
public async Task ProcessFileAsync_ChangeTypeChange_Success() { FileTriggerAttribute attribute = new FileTriggerAttribute(attributeSubPath, "*.dat"); processor = CreateTestProcessor(attribute); string testFile = WriteTestFile("dat"); FunctionResult result = new FunctionResult(true); mockExecutor.Setup(p => p.TryExecuteAsync(It.IsAny <TriggeredFunctionData>(), It.IsAny <CancellationToken>())).ReturnsAsync(result); // first process a Create event string testFilePath = Path.GetDirectoryName(testFile); string testFileName = Path.GetFileName(testFile); FileSystemEventArgs eventArgs = new FileSystemEventArgs(WatcherChangeTypes.Created, testFilePath, testFileName); bool fileProcessedSuccessfully = await processor.ProcessFileAsync(eventArgs, CancellationToken.None); Assert.True(fileProcessedSuccessfully); // now process a Change event File.WriteAllText(testFile, "update"); eventArgs = new FileSystemEventArgs(WatcherChangeTypes.Changed, testFilePath, testFileName); fileProcessedSuccessfully = await processor.ProcessFileAsync(eventArgs, CancellationToken.None); Assert.True(fileProcessedSuccessfully); string expectedStatusFile = processor.GetStatusFile(testFile); Assert.True(File.Exists(testFile)); Assert.True(File.Exists(expectedStatusFile)); string[] lines = File.ReadAllLines(expectedStatusFile); Assert.Equal(4, lines.Length); StatusFileEntry entry = (StatusFileEntry)_serializer.Deserialize(new StringReader(lines[0]), typeof(StatusFileEntry)); Assert.Equal(ProcessingState.Processing, entry.State); Assert.Equal(WatcherChangeTypes.Created, entry.ChangeType); Assert.Equal(InstanceId.Substring(0, 20), entry.InstanceId); entry = (StatusFileEntry)_serializer.Deserialize(new StringReader(lines[1]), typeof(StatusFileEntry)); Assert.Equal(ProcessingState.Processed, entry.State); Assert.Equal(WatcherChangeTypes.Created, entry.ChangeType); Assert.Equal(InstanceId.Substring(0, 20), entry.InstanceId); entry = (StatusFileEntry)_serializer.Deserialize(new StringReader(lines[2]), typeof(StatusFileEntry)); Assert.Equal(ProcessingState.Processing, entry.State); Assert.Equal(WatcherChangeTypes.Changed, entry.ChangeType); Assert.Equal(InstanceId.Substring(0, 20), entry.InstanceId); entry = (StatusFileEntry)_serializer.Deserialize(new StringReader(lines[3]), typeof(StatusFileEntry)); Assert.Equal(ProcessingState.Processed, entry.State); Assert.Equal(WatcherChangeTypes.Changed, entry.ChangeType); Assert.Equal(InstanceId.Substring(0, 20), entry.InstanceId); }
public override async Task <string> RunAsync(TaskContext context, string rawInput) { string instanceId = context.OrchestrationInstance.InstanceId; var inputContext = new DurableActivityContext(instanceId, rawInput); // TODO: Wire up the parent ID to improve dashboard logging. Guid?parentId = null; var triggerInput = new TriggeredFunctionData { ParentId = parentId, TriggerValue = inputContext }; this.config.TraceHelper.FunctionStarting( this.config.HubName, this.activityName, this.activityVersion, instanceId, this.config.GetIntputOutputTrace(rawInput), isOrchestrator: false, isReplay: false); FunctionResult result = await this.executor.TryExecuteAsync(triggerInput, CancellationToken.None); if (!result.Succeeded) { this.config.TraceHelper.FunctionFailed( this.config.HubName, this.activityName, this.activityVersion, instanceId, result.Exception?.ToString() ?? string.Empty, isOrchestrator: false, isReplay: false); if (result.Exception != null) { // Preserve the original exception context so that the durable task // framework can report useful failure information. ExceptionDispatchInfo.Capture(result.Exception).Throw(); } } string serializedOutput = inputContext.GetSerializedOutput(); this.config.TraceHelper.FunctionCompleted( config.HubName, this.activityName, this.activityVersion, instanceId, this.config.GetIntputOutputTrace(serializedOutput), continuedAsNew: false, isOrchestrator: false, isReplay: false); return(serializedOutput); }
private void searchData() { FunctionResult <DataTable> fr = BLL.RetrieveZljdDtgc(rowID, befrom); if (!this.DealResult(fr)) { return; } gridView.DataSource = fr.Result; gridView.DataBind(); }
internal async Task ProcessMessageAsync(BrokeredMessage message, CancellationToken cancellationToken) { if (!await _messageProcessor.BeginProcessingMessageAsync(message, cancellationToken)) { return; } FunctionResult result = await _triggerExecutor.ExecuteAsync(message, cancellationToken); await _messageProcessor.CompleteProcessingMessageAsync(message, result, cancellationToken); }
public async Task ProcessMessageAsync_FunctionInvocationFails() { CancellationToken cancellationToken = new CancellationToken(); FunctionResult result = new FunctionResult(false); _mockQueueProcessor.Setup(p => p.BeginProcessingMessageAsync(_queueMessage, cancellationToken)).ReturnsAsync(true); _mockTriggerExecutor.Setup(p => p.ExecuteAsync(_queueMessage, cancellationToken)).ReturnsAsync(result); _mockQueueProcessor.Setup(p => p.CompleteProcessingMessageAsync(_queueMessage, result, cancellationToken)).Returns(Task.FromResult(true)); await _listener.ProcessMessageAsync(_queueMessage, TimeSpan.FromMinutes(10), cancellationToken); }
//private void searchData() //{ // FunctionResult<DataTable> fr = bll.RetrieveQyxxViewList(jsdwrowid); // if (!this.DealResult(fr)) return; // gridView.DataSource = fr.Result; // gridView.DataBind(); //} private void searchData_Aqbjxmzcy() { FunctionResult <DataTable> fr = BLL.RetrieveAqbjxmzcy(rowID, ""); if (!this.DealResult(fr)) { return; } pdg_Aqbjxmzcy.DataSource = fr.Result; pdg_Aqbjxmzcy.DataBind(); }
public void Constructor_Boolean() { FunctionResult result = new FunctionResult(true); Assert.True(result.Succeeded); Assert.Null(result.Exception); result = new FunctionResult(false); Assert.False(result.Succeeded); Assert.Null(result.Exception); }