/*******************************************************************************
* Copyright (c) 2007, G. Weirich and Elexis
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* G. Weirich - initial implementation
*
*******************************************************************************/
package ch.elexis.core.ui.importer.div.importers;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.swt.widgets.Composite;
import ch.elexis.core.ui.util.ImporterPage;
import ch.elexis.core.ui.util.SWTHelper;
import ch.elexis.data.Kontakt;
import ch.elexis.data.Query;
public class KontaktImporter extends ImporterPage {
KontaktImporterBlatt importer;
public KontaktImporter(){
// TODO Auto-generated constructor stub
}
@Override
public Composite createPage(final Composite parent){
importer = new KontaktImporterBlatt(parent);
importer.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
return importer;
}
@Override
public IStatus doImport(final IProgressMonitor monitor) throws Exception{
if (importer.doImport(monitor)) {
return Status.OK_STATUS;
}
return new Status(Status.ERROR,
"ch.elexis.import.div", 1, Messages.KontaktImporter_ErrorImport, null); //$NON-NLS-1$
}
@Override
public String getDescription(){
return Messages.KontaktImporter_ExplanationImport;
}
@Override
public String getTitle(){
return Messages.KontaktImporter_Title;
}
static Kontakt queryKontakt(final String name, final String vorname, final String strasse,
final String plz, final String ort, final boolean createIfMissing){
Query<Kontakt> qbe = new Query<Kontakt>(Kontakt.class);
List<Kontakt> res = qbe.queryFields(new String[] {
"Bezeichnung1", "Bezeichnung2", "Strasse", "Plz", "Ort"}, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
new String[] {
name, vorname, strasse, plz, ort
}, false);
if ((res != null) && (res.size() > 0)) {
Kontakt found = res.get(0);
StringBuilder s1 = new StringBuilder();
StringBuilder s2 = new StringBuilder();
s1.append(found.get("Bezeichnung1")).append(", ").append(found.get("Bezeichnung2")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
.append(" - ").append(found.get("Strasse")).append(" ") //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
.append(found.get("Plz")).append(" ").append(found.get("Ort")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
s2.append(name).append(", ").append(vorname).append(" - ") //$NON-NLS-1$ //$NON-NLS-2$
.append(strasse).append(" ").append(plz).append(" ").append(ort); //$NON-NLS-1$ //$NON-NLS-2$
if (SWTHelper.askYesNo(Messages.KontaktImporter_AskSameTitle,
Messages.KontaktImporter_AskSameText1 + s1.toString()
+ Messages.KontaktImporter_AskSameAnd + s1.toString()
+ Messages.KontaktImporter_AskSameText2)) {
return found;
}
}
return null;
}
}