public async Task <MessageOutputBase> UpdatePublished([FromBody] UpdatePublishedRequest request) { MessageOutputBase result = null; request.UserName = GetCurrentUser(); await Execute(flow => { flow.StartRegisterFlow() .Add <CheckUserExistsStep>() .Add <CheckUserListExistsStep>() .Add <UpdatePublishedStep>(); flow. When <UserNotFoundStep, UserNotFoundParams>(notFound => { result = notFound.Response; }) . When <UserListNotFoundStep, UserListNotFoundParams>(notFound => { result = notFound.Response; }) .When <UpdatePublishedStep, UpdatePublishedParams>(update => { result = update.Response; }); }, request, error => { result = error; }); return(result); }
public override async Task <Reply> UpdatePublished(UpdatePublishedRequest request, ServerCallContext context) { var reply = new Reply(); var user = await _userService.GetUser(context.GetHttpContext()); if (user == null) { reply.Error = Error.NeedLogin; return(reply); } if (!user.HasWritePermission()) { reply.Error = Error.NoPermission; return(reply); } if (!Guid.TryParse(request.Id, out var id)) { reply.Error = Error.InvalidArguments; return(reply); } var item = await _service.All().Where(i => i.Id == id).Include(i => i.FileTags).ThenInclude(t => t.Tag) .FirstOrDefaultAsync(); if (item == null) { reply.Error = Error.NoSuchEntity; return(reply); } item.Published = request.Published.ToDateTime().ToUniversalTime(); await _service.Update(item); return(reply); }