package service;
import api.v1.User;
import api.v1.UserPreferences;
import controllers.PoseidonController;
import exceptions.PoseidonException;
import models.CoordinateFormat;
import models.UserPreferenceModel;
import play.mvc.Http;
public class UserPreferenceService extends PoseidonService {
public UserPreferenceService(String username) {
super(username);
}
public UserPreferenceModel updatePreferences(User user, UserPreferences prefs) {
auth.models.User userModel = auth.models.User.findById(Long.valueOf(user.id));
userModel.preferences.showGrid = prefs.showGrid;
switch (prefs.coordinateFormat){
case DECIMAL_DEGREES:
userModel.preferences.coordinateFormat = CoordinateFormat.DECIMAL_DEGREES;
break;
case DEGREES_MINUTES_SECONDS:
userModel.preferences.coordinateFormat = CoordinateFormat.DEGREES_MINUTES_SECONDS;
break;
case UTM:
userModel.preferences.coordinateFormat = CoordinateFormat.UTM;
break;
}
userModel.updated = PoseidonService.getNow().toDate();
userModel.updatedBy = user.username;
userModel.preferences.save();
userModel.save();
return userModel.preferences;
}
}