/** ** Copyright (c) 2010 Ushahidi Inc ** All rights reserved ** Contact: team@ushahidi.com ** Website: http://www.ushahidi.com ** ** GNU Lesser General Public License Usage ** This file may be used under the terms of the GNU Lesser ** General Public License version 3 as published by the Free Software ** Foundation and appearing in the file LICENSE.LGPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 3 requirements ** will be met: http://www.gnu.org/licenses/lgpl.html. ** ** ** If you have questions regarding the use of this file, please contact ** Ushahidi developers at team@ushahidi.com. ** **/ package com.ushahidi.android.app.models; import java.io.File; import java.util.List; import com.ushahidi.android.app.database.Database; import com.ushahidi.android.app.database.IMediaSchema; import com.ushahidi.android.app.entities.Checkin; import com.ushahidi.android.app.entities.MediaEntity; import com.ushahidi.android.app.entities.PhotoEntity; public class AddCheckinModel extends Model { public boolean addPendingCheckin(Checkin checkin, File[] pendingPhotos) { boolean status; // add pending reports status = Database.mCheckin.addCheckin(checkin); // int id = Database.mCheckin. int id = Database.mCheckin.fetchPendingCheckinIdByDate(checkin.getDate()); // add photos if (pendingPhotos != null && pendingPhotos.length > 0) { for (File file : pendingPhotos) { if (file.exists()) { MediaEntity media = new MediaEntity(); media.setMediaId(0); media.setLink(file.getName()); // get report ID; media.setCheckinId(id); media.setType(IMediaSchema.IMAGE); Database.mMediaDao.addMedia(media); } } } return status; } public boolean updatePendingCheckin(int checkinId, Checkin checkin, List<PhotoEntity> pendingPhotos) { boolean status; // update pending reports status = Database.mCheckin.updatePendingCheckin(checkinId, checkin); // update photos if (pendingPhotos != null && pendingPhotos.size() > 0) { // delete existing photo Database.mMediaDao.deleteReportPhoto(checkinId); for (PhotoEntity photo : pendingPhotos) { MediaEntity media = new MediaEntity(); media.setMediaId(0); // FIXME:: this is nasty. String sections[] = photo.getPhoto().split("/"); media.setLink(sections[1]); // get report ID media.setCheckinId(checkinId); media.setType(IMediaSchema.IMAGE); Database.mMediaDao.addMedia(media); } } return status; } public boolean deleteCheckin(int checkinId) { // delete checkin Database.mCheckin.deletePendingCheckinById(checkinId); // delete media Database.mMediaDao.deleteMediaByCheckinId(checkinId); return true; } public Checkin fetchPendingCheckinById(int checkinId) { return Database.mCheckin.fetchPendingCheckinById(checkinId); } public boolean load() { // TODO Auto-generated method stub return false; } public boolean save() { // TODO Auto-generated method stub return false; } }