public async Task <JsonResult> PostAsync([FromBody] CreateStatusVM vm) { if (vm == null) { return(this.JsonFormat(false, JsonStatus.BodyFormIsNull)); } var user = this.GetUser(); if (user.UUID == null) { return(this.JsonFormat(false, JsonStatus.UserNotLogin)); } if (user.UUID != vm.UserID) { return(this.JsonFormat(false, JsonStatus.UserNotMatched)); } if (vm.UserName == null) { vm.UserName = user.UserName; } var md = default(Status); var(status, succeed, error) = await this.status.InsertOneAsync(md = ModelCreator.CreateStatus(vm, user.AvatarUrl)); if (!succeed) { return(this.JsonFormat(false, JsonStatus.StatusInsertFailed, error.Read())); } await this.logger.Info( new Agent(user.UUID, user.UserName, user.AvatarUrl), new Target(md.ID, vm.Content, $"image_count : {vm.Images.Count}"), ModelType.Status, LogAction.Insert, this.GetRole()); return(this.JsonFormat(true, content: status.ID)); }