package com.dxjia.doubantop.datas; import android.content.Context; import com.dxjia.doubantop.DoubanTopApplication; import com.dxjia.doubantop.datas.beans.MovieMajorInfos; import com.orm.androrm.CharField; import com.orm.androrm.Filter; import com.orm.androrm.IntegerField; import com.orm.androrm.Model; import com.orm.androrm.QuerySet; import java.util.List; /** * Created by 德祥 on 2015/7/6. */ public class Favorites extends Model { protected CharField movie_id; protected CharField movie_title; protected CharField movie_image_uri; protected IntegerField casts_count; protected CharField casts_ids; protected CharField casts_image_uris; protected CharField director_id; protected CharField director_image_uri; protected CharField movie_score; public Favorites() { super(false); movie_id = new CharField(); movie_title = new CharField(); movie_image_uri = new CharField(); casts_count = new IntegerField(); casts_ids = new CharField(); casts_image_uris = new CharField(); director_id = new CharField(); director_image_uri = new CharField(); movie_score = new CharField(); } public String getMoiveId() { return movie_id.get(); } public void setMovieId(String movieId) { movie_id.set(movieId); } public String getMovieTitle() { return movie_title.get(); } public void setMovieTitle(String movieTitle) { movie_title.set(movieTitle); } public String getMovieImageUri() { return movie_image_uri.get(); } public void setMovieImageUri(String uri) { movie_image_uri.set(uri); } public Integer getCastsCount() { return casts_count.get(); } public void setCastsCount(int castsCount) { casts_count.set(castsCount); } public String[] getCastsIds() { String ids = casts_ids.get(); // 用逗号分隔合理嘛 String[] idArray = ids.split(","); return idArray; } public void setCastsIds(String[] castids) { if (castids == null || castids.length == 0) return; String ids = castids[0]; for (int i = 1; i < castids.length; i++) { ids = ids + "," + castids[i]; } casts_ids.set(ids); } public String[] getCastsImageUris() { String images = casts_image_uris.get(); String[] imagesArray = images.split(","); return imagesArray; } public void setCastsImageUris(String[] castsImageUris) { if (castsImageUris == null || castsImageUris.length == 0) return; String images = castsImageUris[0]; for (int i = 1; i < castsImageUris.length; i++) { images = images + "," + castsImageUris[i]; } casts_image_uris.set(images); } public String getDirectorId() { return director_id.get(); } public void setDirectorId(String directorId) { director_id.set(directorId); } public String getDirectorImageUri() { return director_image_uri.get(); } public void setDirectorImageUri(String directorImageUri) { director_image_uri.set(directorImageUri); } public String getMovieScore() { return movie_score.get(); } public void setMovieScore(String movieScore) { movie_score.set(movieScore); } public void fillDatas(MovieMajorInfos movieInfos) { fillDatas(movieInfos.getMovieId(), movieInfos.getMovieTitle(), movieInfos.getMovieImageUri(), movieInfos.getCastsCount(), movieInfos.getCastsIds(), movieInfos.getCastsImages(), movieInfos.getDirectorId(), movieInfos.getDirectorImage(), movieInfos.getMovieScore()); } public void fillDatas(String movieId, String movieTitle, String movieImageUri, int castsCount, String[] castsIds, String[] castsImages, String directorId, String directorImage, String movieScore) { setMovieId(movieId); setMovieTitle(movieTitle); setMovieImageUri(movieImageUri); setCastsCount(castsCount); setCastsIds(castsIds); setCastsImageUris(castsImages); setDirectorId(directorId); setDirectorImageUri(directorImage); setMovieScore(movieScore); } public boolean edit() { return this.save(getAppContext()); } public boolean delete() { return this.delete(getAppContext()); } public static List<Favorites> all() { return Favorites.objects().all().toList(); } public boolean save() { return this.save(getAppContext()); } public static List<Favorites> filterByMoiveId(String id) { Filter filter = new Filter(); filter.contains("movie_id", id); return Favorites.objects().filter(filter).orderBy("movie_id").toList(); } private static Context getAppContext() { return DoubanTopApplication.getContext(); } public static QuerySet<Favorites> objects() { return Favorites.objects(getAppContext(), Favorites.class); } }