package com.sun.bingo.control;
import android.content.Context;
import com.sun.bingo.model.BingoEntity;
import com.sun.bingo.model.UserEntity;
import java.util.ArrayList;
import java.util.List;
import cn.bmob.v3.listener.UpdateListener;
/**
* Created by sunfusheng on 16/5/27.
*/
public class BmobControl {
private Context mContext;
private UserEntity mineEntity;
public BmobControl(Context context, UserEntity mineEntity) {
this.mContext = context;
this.mineEntity = mineEntity;
}
// 收藏、取消收藏操作
public void favoriteBingo(final BingoEntity bingo, final UpdateListener listener) {
final String bingoId = bingo.getObjectId();
String mineId = mineEntity.getObjectId();
List<String> favoriteUserIds = bingo.getFavoriteUserIds();
List<String> myFavoriteList = mineEntity.getFavoriteList();
if (favoriteUserIds == null) favoriteUserIds = new ArrayList<>();
if (myFavoriteList == null) myFavoriteList = new ArrayList<>();
if (myFavoriteList.indexOf(bingoId) >= 0) {
// 取消收藏
myFavoriteList.remove(bingoId);
if (favoriteUserIds.indexOf(mineId) >= 0) {
favoriteUserIds.remove(mineId);
}
} else {
// 收藏
myFavoriteList.add(bingoId);
favoriteUserIds.add(mineId);
}
mineEntity.setFavoriteList(myFavoriteList);
bingo.setFavoriteUserIds(favoriteUserIds);
mineEntity.update(mContext, mineId, new UpdateListener() {
@Override
public void onSuccess() {
bingo.update(mContext, bingoId, listener);
}
@Override
public void onFailure(int i, String s) {
}
});
}
}