package com.mvc.kinballwc.model; import android.content.Context; import com.mvc.kinballwc.R; import com.mvc.kinballwc.application.App; import com.parse.ParseClassName; import com.parse.ParseObject; import java.util.Comparator; import java.util.Date; import java.util.List; /** * Author: Mario Velasco Casquero * Date: 28/6/15 * Email: m3ario@gmail.com */ @ParseClassName("Match") public class Match extends ParseObject{ public static final String LIVE = "LIVE"; public static final String FINISHED = "FINISHED"; public boolean isLive() { if (getState().equals(LIVE)) { return true; } else { return false; } } public String getState(){ return getString("state"); } public Team getTeam1() { return (Team) getParseObject("team1"); } public Team getTeam2() { return (Team) getParseObject("team2"); } public Team getTeam3() { return (Team) getParseObject("team3"); } public String getCategory() { return getString("category"); } public String getTitle() { return getString("title"); } public Date getDate() { return getDate("date"); } public Date getDateToShow() { return getDate("dateToShow"); } public MatchPoints getTeam1Points() { return (MatchPoints) getParseObject("team1Points"); } public MatchPoints getTeam2Points() { return (MatchPoints) getParseObject("team2Points"); } public MatchPoints getTeam3Points() { return (MatchPoints) getParseObject("team3Points"); } public List<MatchPeriod> getPeriods(){ return getList("periods"); } public int getCourt() { return getInt("court"); } public String getCourtString() { Context context = App.getAppContext(); String[] courts = context.getResources().getStringArray(R.array.courts); String court = courts[getCourt()-1]; return court; } public void setState(String state){ put("state", state); } public void setTeam1(Team team1) { put("team1", team1); } public void setTeam2(Team team1) { put("team1", team1); } public void setTeam3(Team team1) { put("team1", team1); } public void setCategory(String category) { put("category", category); } public void setTitle(String title){ put("title", title); } public void setDate(Date date) { put("date", date); } public void setDateToShow(Date date) { put("dateToShow", date); } public void setTeam1Points(MatchPoints matchPoints1) { put("team1Points", matchPoints1); } public void setTeam2Points(MatchPoints matchPoints2) { put("team2Points", matchPoints2); } public void setTeam3Points(MatchPoints matchPoints3) { put("team3Points", matchPoints3); } public void setPeriods(List<MatchPeriod> periods) { put("periods", periods); } public void setCourt(int court) { put("court", court); } public String getChannelForPush() { return "m" + getObjectId(); } public static class MatchComparator implements Comparator<Match> { @Override public int compare(Match match1, Match match2) { Date date1; Date date2; if (match1.getDateToShow() == null) { date1 = match1.getDate(); } else { date1 = match1.getDateToShow(); } if (match2.getDateToShow() == null) { date2 = match2.getDate(); } else { date2 = match2.getDateToShow(); } int result = date1.compareTo(date2); if (result == 0) { result = match1.getCourt() - match2.getCourt(); if (result == 0) { result = match1.getTitle().compareTo(match2.getTitle()); } } return result; } } }