public async Task <MessageOutputBase> UpdateListCheckItemKind([FromBody] UpdateListCheckItemKindRequest request) { MessageOutputBase result = null; request.UserName = GetCurrentUser(); await Execute(flow => { flow.StartRegisterFlow() .Add <CheckUserExistsStep>() .Add <CheckUserListExistsStep>() .Add <UpdateListCheckItemKindStep>(); flow. When <UserNotFoundStep, UserNotFoundParams>(notFound => { result = notFound.Response; }) . When <UserListNotFoundStep, UserListNotFoundParams>(notFound => { result = notFound.Response; }) .When <UpdateListCheckItemKindStep, UpdateListCheckItemKindParams>(update => { result = update.Response; }); }, request, error => { result = error; }); return(result); }
public async Task <MessageOutputBase> Feed(GetUserFeedRequest request) { MessageOutputBase result = null; request.UserName = GetCurrentUser(); await Execute(flow => { flow.StartRegisterFlow() .Add <CheckUserExistsStep>() .Add <GetUserFeedStep>(); flow. When <UserNotFoundStep, UserNotFoundParams>((notFound) => { result = notFound.Response; }) .When <GetUserFeedStep, GetUserFeedParams>((fetch) => { result = fetch.ListsResponse; }); }, request, error => { result = error; }); return(result); }
/// <summary> /// Производит резолвинг данных с текущим контекстом. /// </summary> /// <param name="context">Контекст.</param> /// <returns>Данные.</returns> public override async Task <object> Resolve(ResolveFieldContext <object> context) { var request = new GetUserListsRequest(); request.UserName = context.GetArgument <string>("userName"); request.LastListId = context.GetArgument <string>("lastListId"); request.SelectedListNumber = context.GetArgument <string>("selectedListNumber"); request.ForUserName = context.UserContext.As <UserContext>().UserName; request.ForUserId = context.UserContext.As <UserContext>().UserId; MessageOutputBase outputMessage = null; await Execute(flow => { flow.StartRegisterFlow() .Add <CheckUserExistsStep>() .Add <FetchUserListsStep>(); flow. When <UserNotFoundStep, UserNotFoundParams>((notFound) => { outputMessage = notFound.Response; }) .When <FetchUserListsStep, FetchUserListsParams>((fetch) => { outputMessage = fetch.ListsResponse; }); }, request, context); ProcessErrors(context, outputMessage); return(outputMessage); }
public async Task <MessageOutputBase> RemoveList([FromBody] RemoveListRequest request) { MessageOutputBase result = null; request.UserName = GetCurrentUser(); await Execute(flow => { flow.StartRegisterFlow() .Add <CheckUserExistsStep>() .Add <CheckListExistsStep>() .Add <RemoveListStep>(); flow. When <UserNotFoundStep, UserNotFoundParams>(notFound => { result = notFound.Response; }) . When <ListNotFoundStep, ListNotFoundParams>(notFound => { result = notFound.Response; }) .When <RemoveListStep, RemoveListParams>(remove => { result = remove.Response; }); }, request, error => { result = error; }); return(result); }
/// <summary> /// Производит резолвинг данных с текущим контекстом. /// </summary> /// <param name="context">Контекст.</param> /// <returns>Данные.</returns> public override async Task <object> Resolve(ResolveFieldContext <object> context) { var input = context.GetArgument <AddNewListRequest>("list"); input.UserName = context.UserContext.As <UserContext>().UserName; MessageOutputBase outputMessage = null; object result = null; await Execute(flow => { flow.StartRegisterFlow() .Add <CheckUserExistsStep>() .Add <AddNewListStep>(); flow. When <UserNotFoundStep, UserNotFoundParams>((notFound) => { outputMessage = notFound.Response; }) .When <AddNewListStep, AddNewListParams>((add) => { outputMessage = add.Response; result = add.Response.List; }); }, input, context); ProcessErrors(context, outputMessage); return(result); }
public async Task <MessageOutputBase> StartFollowing([FromBody] StartFollowingRequest request) { MessageOutputBase result = null; request.UserName = GetCurrentUser(); await Execute(flow => { flow.StartRegisterFlow() .Add <CheckUserExistsStep>() .Add <StartFollowingStep>(); flow. When <UserNotFoundStep, UserNotFoundParams>(notFound => { result = notFound.Response; }) .When <StartFollowingStep, StartFollowingParams>(start => { result = start.Response; }); }, request, error => { result = error; }); return(result); }
public async Task <MessageOutputBase> RecoverPassword([FromBody] RecoverPasswordRequest request) { MessageOutputBase result = null; request.ClientIp = GetClientIp(); await Execute(flow => { flow.StartRegisterFlow() .Add <CheckRecaptchaStep>() .Add <CheckUserExistsStep>() .Add <RecoverPasswordStep>(); flow. When <CheckRecaptchaStep, CheckRecaptchaParams>(recaptcha => { result = recaptcha.Response; }). When <UserNotFoundStep, UserNotFoundParams>(notFound => { result = notFound.Response; }) .When <RecoverPasswordStep, RecoverPasswordParams>(recover => { result = recover.Response; }); }, request, error => { result = error; }); return(result); }
public async Task <MessageOutputBase> AddListItem([FromBody] AddNewListItemRequest request) { MessageOutputBase result = null; request.UserName = GetCurrentUser(); await Execute(flow => { flow.StartRegisterFlow() .Add <CheckUserExistsStep>() .Add <CheckListExistsStep>() .Add <AddNewListItemStep>(); flow. When <UserNotFoundStep, UserNotFoundParams>(notFound => { result = notFound.Response; }) .When <ListNotFoundStep, ListNotFoundParams>(notFound => { result = notFound.Response; }) .When <AddNewListItemStep, AddNewListItemParams>(add => { result = add.Response; }); }, request, error => { result = error; }); return(result); }
public async Task <MessageOutputBase> ChangeStatusText([FromBody] ChangeStatusTextRequest request) { MessageOutputBase result = null; request.UserName = GetCurrentUser(); await Execute(flow => { flow.StartRegisterFlow() .Add <CheckUserExistsStep>() .Add <ChangeStatusTextStep>(); flow. When <UserNotFoundStep, UserNotFoundParams>(notFound => { result = notFound.Response; }) .When <ChangeStatusTextStep, ChangeStatusTextParams>(change => { result = change.Response; }); }, request, error => { result = error; }); return(result); }
/// <summary> /// Производит резолвинг данных с текущим контекстом. /// </summary> /// <param name="context">Контекст.</param> /// <returns>Данные.</returns> public override async Task <object> Resolve(ResolveFieldContext <object> context) { var request = new FindUsersRequest(); request.Name = context.GetArgument <string>("name"); request.CurrentUserName = context.UserContext.As <UserContext>().UserName; MessageOutputBase outputMessage = null; object result = null; await Execute(flow => { flow.StartRegisterFlow() .Add <FindUsersStep>(); flow.When <FindUsersStep, FindUsersParams>(fetch => { outputMessage = fetch.Response; result = fetch.Response.Profiles; }); }, request, context); ProcessErrors(context, outputMessage); return(result); }
/// <summary> /// Создает сообщение с ошибкой при возникновении исключения. /// </summary> /// <param name="ex">Возникшее исключение.</param> /// <returns>Сообщение с ошибкой.</returns> protected virtual MessageOutputBase CreateErrorMessage(Exception ex) { var error = new MessageOutputBase(); error.Errors.Add(new ErrorInfo(CommonErrors.SystemError, "Произошла ошибка системы")); return(error); }
/// <summary> /// 实例化数据库访问对象 /// </summary> internal DataBaseOperate(DBInfo db, bool isAutoClose) { _db = db; _dbAdapter = db.CurrentDbAdapter; if (!isAutoClose) { _commitState = CommitState.UserCommit; } _outputer = db.SqlOutputer.CreateOutput(this); }
/// <summary> /// Обработка ошибок сообщения. /// </summary> /// <param name="context">Контекст.</param> /// <param name="message">Сообщение.</param> protected void ProcessErrors(ResolveFieldContext <TSourceType> context, MessageOutputBase message) { if (message == null) { return; } foreach (var messageError in message.Errors) { context.Errors.Add(CreateValidationError(context, messageError.Code, messageError.Text)); } }
/// <summary> /// 获取param里边的值的显示字符串 /// </summary> /// <returns></returns> public string GetParamString(DBInfo db, DataBaseOperate oper) { bool showBinary = false; int hideTextLength = 0; MessageOutputBase msg = oper.MessageOutputer; if (msg != null) { showBinary = msg.ShowBinary; hideTextLength = msg.HideTextLength; } return(GetParamString(db, showBinary, hideTextLength)); }
public async Task <MessageOutputBase> ChangeAvatar() { MessageOutputBase result = null; UpdateAccountAvatarRequest request = new UpdateAccountAvatarRequest(); request.ClientIp = GetClientIp(); request.RootPath = GetRootPath(); if (Request.Form.Files.Count > 0) { request.FileName = Request.Form.Files[0].FileName; request.Data = await ReadFully(Request.Form.Files[0].OpenReadStream()); } request.UserName = GetCurrentUser(); await Execute(flow => { flow.StartRegisterFlow() .Add <CheckUserExistsStep>() .Add <UpdateAccountAvatarStep>(); flow. When <UserNotFoundStep, UserNotFoundParams>(notFound => { result = notFound.Response; }) .When <UpdateAccountAvatarStep, UpdateAccountAvatarParams>(change => { result = change.Response; }); }, request, error => { result = error; }); return(result); }
public async Task <MessageOutputBase> Register([FromBody] AccountRegisterRequest request) { MessageOutputBase result = null; request.Ip = GetClientIp(); await Execute(flow => { flow.StartRegisterFlow() .Add <AccountRegisterStep>(); flow. When <AccountRegisterStep, AccountRegisterParams>(register => { result = register.Response; }); }, request, error => { result = error; }); return(result); }
public async Task <MessageOutputBase> FindUsers(FindUsersRequest request) { MessageOutputBase result = null; request.CurrentUserName = GetCurrentUser(); await Execute(flow => { flow.StartRegisterFlow() .Add <FindUsersStep>(); flow.When <FindUsersStep, FindUsersParams>(fetch => { result = fetch.Response; }); }, request, error => { result = error; }); return(result); }