Example #1
0
        /// <summary>
        /// 修改单个楼盘收藏信息
        /// </summary>
        /// <param name="userId">请求者Id</param>
        /// <param name="buildingFavoriteRequest">请求数据</param>
        /// <param name="cancellationToken">验证</param>
        /// <returns></returns>
        public virtual async Task UpdateAsync(string userId, BuildingFavoriteRequest buildingFavoriteRequest, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (buildingFavoriteRequest == null)
            {
                throw new ArgumentNullException(nameof(buildingFavoriteRequest));
            }
            var buildingFavorite = await _ibuildingFavoritesStore.GetAsync(a => a.Where(b => b.Id == buildingFavoriteRequest.Id && !b.IsDeleted));

            if (buildingFavorite == null)
            {
                return;
            }
            var newbuildingFavorite = _mapper.Map <BuildingFavorite>(buildingFavoriteRequest);

            newbuildingFavorite.IsDeleted  = buildingFavorite.IsDeleted;
            newbuildingFavorite.CreateTime = buildingFavorite.CreateTime;
            newbuildingFavorite.CreateUser = buildingFavorite.CreateUser;
            newbuildingFavorite.UpdateTime = DateTime.Now;
            newbuildingFavorite.UpdateUser = userId;
            newbuildingFavorite.UserId     = buildingFavorite.UserId;
            try
            {
                await _ibuildingFavoritesStore.UpdateAsync(newbuildingFavorite, cancellationToken);
            }
            catch { }
        }
        public async Task <ResponseMessage> PutBuildingFavorite(UserInfo user, [FromBody] BuildingFavoriteRequest buildingFavoriteRequest)
        {
            Logger.Trace($"用户{user?.UserName ?? ""}({user?.Id ?? ""})更新楼盘收藏信息(PutBuildingFavorite):\r\n请求的参数为:\r\n" + (buildingFavoriteRequest != null ? JsonHelper.ToJson(buildingFavoriteRequest) : ""));

            var response = new ResponseMessage();

            if (!ModelState.IsValid)
            {
                var error  = "";
                var errors = ModelState.Values.ToList();
                foreach (var item in errors)
                {
                    foreach (var e in item.Errors)
                    {
                        error += e.ErrorMessage + "  ";
                    }
                }
                response.Code    = ResponseCodeDefines.ModelStateInvalid;
                response.Message = error;
                Logger.Warn($"用户{user?.UserName ?? ""}({user?.Id ?? ""})更新楼盘收藏信息(PutBuildingFavorite)模型验证失败:\r\n{error},\r\n请求的参数为:\r\n" + (buildingFavoriteRequest != null ? JsonHelper.ToJson(buildingFavoriteRequest) : ""));
                return(response);
            }
            try
            {
                var dictionaryGroup = await _buildingFavoriteManager.FindByIdAsync(buildingFavoriteRequest.Id, HttpContext.RequestAborted);

                if (dictionaryGroup == null)
                {
                    await _buildingFavoriteManager.CreateAsync(user, buildingFavoriteRequest, HttpContext.RequestAborted);
                }
                else
                {
                    await _buildingFavoriteManager.UpdateAsync(user.Id, buildingFavoriteRequest, HttpContext.RequestAborted);
                }
                response.Code    = ResponseCodeDefines.SuccessCode;
                response.Message = "修改成功";
            }
            catch (Exception e)
            {
                response.Code    = ResponseCodeDefines.ServiceError;
                response.Message = e.ToString();
                Logger.Error($"用户{user?.UserName ?? ""}({user?.Id ?? ""})更新楼盘收藏信息(PutBuildingFavorite)报错:\r\n{e.ToString()},\r\n请求的参数为:\r\n" + (buildingFavoriteRequest != null ? JsonHelper.ToJson(buildingFavoriteRequest) : ""));
            }
            return(response);
        }
        public async Task <ResponseMessage <BuildingFavoriteResponse> > PostBuildingFavorite(UserInfo user, [FromBody] BuildingFavoriteRequest buildingFavoriteRequest)
        {
            Logger.Trace($"用户{user?.UserName ?? ""}({user?.Id ?? ""})保存楼盘收藏信息(PostBuildingFavorite):\r\n请求的参数为:\r\n" + (buildingFavoriteRequest != null ? JsonHelper.ToJson(buildingFavoriteRequest) : ""));

            var response = new ResponseMessage <BuildingFavoriteResponse>();

            if (!ModelState.IsValid)
            {
                var error  = "";
                var errors = ModelState.Values.ToList();
                foreach (var item in errors)
                {
                    foreach (var e in item.Errors)
                    {
                        error += e.ErrorMessage + "  ";
                    }
                }
                response.Code    = ResponseCodeDefines.ModelStateInvalid;
                response.Message = error;
                Logger.Warn($"用户{user?.UserName ?? ""}({user?.Id ?? ""})保存楼盘收藏信息(PostBuildingFavorite)模型验证失败:\r\n{error},\r\n请求的参数为:\r\n" + (buildingFavoriteRequest != null ? JsonHelper.ToJson(buildingFavoriteRequest) : ""));
                return(response);
            }
            try
            {
                if (await _buildingFavoriteManager.FindByUserIdAndBuildingIdAsync(user.Id, buildingFavoriteRequest.BuildingId) != null)
                {
                    response.Code    = ResponseCodeDefines.NotAllow;
                    response.Message = "当前已收藏该楼盘";
                    Logger.Info($"用户{user?.UserName ?? ""}({user?.Id ?? ""})保存楼盘收藏信息(PostBuildingFavorite)失败:该楼盘已经被收藏,\r\n请求的参数为:\r\n" + (buildingFavoriteRequest != null ? JsonHelper.ToJson(buildingFavoriteRequest) : ""));
                    return(response);
                }
                response.Extension = await _buildingFavoriteManager.CreateAsync(user, buildingFavoriteRequest, HttpContext.RequestAborted);
            }
            catch (Exception e)
            {
                response.Code    = ResponseCodeDefines.ServiceError;
                response.Message = e.ToString();
                Logger.Error($"用户{user?.UserName ?? ""}({user?.Id ?? ""})保存楼盘收藏信息(PostBuildingFavorite)报错:\r\n{e.ToString()},\r\n请求的参数为:\r\n" + (buildingFavoriteRequest != null ? JsonHelper.ToJson(buildingFavoriteRequest) : ""));
            }
            return(response);
        }
Example #4
0
        /// <summary>
        /// 新增楼盘收藏信息
        /// </summary>
        /// <param name="user">创建者</param>
        /// <param name="buildingFavoriteRequest">请求实体</param>
        /// <param name="cancellationToken">验证</param>
        /// <returns></returns>
        public virtual async Task <BuildingFavoriteResponse> CreateAsync(UserInfo user, BuildingFavoriteRequest buildingFavoriteRequest, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (buildingFavoriteRequest == null)
            {
                throw new ArgumentNullException(nameof(buildingFavoriteRequest));
            }
            var buildingFavorite = _mapper.Map <BuildingFavorite>(buildingFavoriteRequest);

            buildingFavorite.Id         = Guid.NewGuid().ToString();
            buildingFavorite.CreateUser = user.Id;
            buildingFavorite.CreateTime = DateTime.Now;
            buildingFavorite.UserId     = user.Id;
            try
            {
                await _ibuildingFavoritesStore.CreateAsync(buildingFavorite, cancellationToken);
            }
            catch
            {
            }
            return(_mapper.Map <BuildingFavoriteResponse>(buildingFavorite));
        }