Exemple #1
0
        public async Task <ResponseMessage> Entry([FromBody] SongInfoEntryRequest request)
        {
            // 日志输出:请求体
            Console.WriteLine("WS------ Request: \r\n" + request);
            // 创建响应体
            ResponseMessage response = new ResponseMessage();

            // 模型验证
            if (!Util.ModelValidCheck(ModelState, response))
            {
                return(response);
            }
            try
            {
                /// 业务处理,TODO:<see cref=""/>
                await _SongManager.SongEntryAsync(response, request);
            }
            catch (Exception e)
            {
                response.Code     = ResponseDefine.ServiceError;
                response.Message += "\r\n" + e.Message;
                // 日志输出:服务器错误
                Console.WriteLine("WS------ ServiceError: \r\n" + e);
            }
            // 日志输出:响应体
            Console.WriteLine("WS------ Response: \r\n" + response != null ? JsonUtil.ToJson(response) : "");
            return(response);
        }
Exemple #2
0
        /// <summary>
        /// 歌曲信息录入(OK)|更新(OK)必须要歌曲ID,该方法会根据是否有ID来判断是创建还是删除
        /// TODO:如果后面录入了一个与以前创建的歌曲一致的歌曲,如何将两者的信息合并,建议的方法调用 Merge(long extSongId, long newSongId)//合并两首歌曲 MergeIfName(SongInfo songinfo)//录入时如果有重名的就覆盖掉原有的
        /// </summary>
        /// <param name="response"></param>
        /// <param name="request"></param>
        public async Task SongEntryAsync([Required] ResponseMessage response, [Required] SongInfoEntryRequest request)
        {
            // 权限检查在Controller中验证
            // 参数检查,空检查和存在检查(操作数据是否存在于数据库)
            var songId = await Store.ReadAsync(a => a.Where(b => b.Id == request.SongInfo.Id).Select(c => c.Id), CancellationToken.None);

            // 如果没有被创建
            if (songId == null)
            {
                // 数据创建
                await Store.CreateAsync(new Models.Song
                {
                    Name          = request.SongInfo.Name,
                    Description   = request.SongInfo.Description,
                    ReleaseTime   = request.SongInfo.ReleaseTime,
                    Duration      = request.SongInfo.Duration ?? 0,
                    _CreateUserId = request.User.Id
                }, CancellationToken.None);

                response.Message += "\r\n" + ResponseDefine.CreatedMsg + "\r\n" + Def.Song.CreatedMsg;
            }
            else
            {
                // 数据更新
                await Store.UpdateAsync(new Models.Song
                {
                    Id            = songId,
                    Name          = request.SongInfo.Name,
                    Description   = request.SongInfo.Description,
                    ReleaseTime   = request.SongInfo.ReleaseTime,
                    Duration      = request.SongInfo.Duration ?? 0,
                    _UpdateUserId = request.User.Id
                }, CancellationToken.None);

                response.Message += "\r\n" + Def.Song.UpdatedMsg;
            }
        }