public async Task <APIResultDto> AddOrCancelFavouriteShopAsync(FavoriteEditDto input) { string coverPhoto = await _shopRepository.GetAll().Where(v => v.Id == input.ShopId).Select(v => v.CoverPhoto).FirstOrDefaultAsync(); var entity = await _favoriteRepository.GetAll().Where(v => v.ShopId == input.ShopId && v.OpenId == input.OpenId).FirstOrDefaultAsync(); string userName = await _wechatuserRepository.GetAll().Where(v => v.OpenId == input.OpenId).Select(v => v.NickName).FirstOrDefaultAsync(); if (entity != null) { if (entity.IsCancel == false) { entity.CancelTime = DateTime.Now; } entity.NickName = userName; entity.IsCancel = input.IsCancel; entity.CoverPhoto = coverPhoto; await _favoriteRepository.UpdateAsync(entity); } else { Favorite favorite = new Favorite(); favorite.OpenId = input.OpenId; favorite.ShopId = input.ShopId; favorite.ShopName = input.ShopName; favorite.NickName = userName; favorite.CoverPhoto = coverPhoto; favorite.IsCancel = false; await _favoriteRepository.InsertAsync(favorite); } return(new APIResultDto() { Code = 0, Msg = "成功" }); }
protected virtual async Task <FavoriteEditDto> CreateFavoriteAsync(FavoriteEditDto input) { //TODO:新增前的逻辑判断,是否允许新增 var entity = ObjectMapper.Map <Favorite>(input); entity = await _favoriteRepository.InsertAsync(entity); return(entity.MapTo <FavoriteEditDto>()); }
protected virtual async Task UpdateFavoriteAsync(FavoriteEditDto input) { //TODO:更新前的逻辑判断,是否允许更新 var entity = await _favoriteRepository.GetAsync(input.Id.Value); input.MapTo(entity); // ObjectMapper.Map(input, entity); await _favoriteRepository.UpdateAsync(entity); }
/// <summary> /// MPA版本才会用到的方法 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <GetFavoriteForEditOutput> GetFavoriteForEdit(NullableIdDto <Guid> input) { var output = new GetFavoriteForEditOutput(); FavoriteEditDto favoriteEditDto; if (input.Id.HasValue) { var entity = await _favoriteRepository.GetAsync(input.Id.Value); favoriteEditDto = entity.MapTo <FavoriteEditDto>(); //favoriteEditDto = ObjectMapper.Map<List <favoriteEditDto>>(entity); } else { favoriteEditDto = new FavoriteEditDto(); } output.Favorite = favoriteEditDto; return(output); }