/*******************************************************************************
* Copyright (c) 2007-2011, 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.medikamente.bag.data;
import java.util.List;
import ch.elexis.core.data.interfaces.IOptifier;
import ch.elexis.core.data.interfaces.IVerrechenbar;
import ch.elexis.data.Konsultation;
import ch.elexis.data.Verrechnet;
import ch.rgw.tools.Result;
public class BAGOptifier implements IOptifier {
private Verrechnet newVerrechnet;
public Result<Object> optify(final Konsultation kons){
return new Result<Object>(kons);
}
public Result<IVerrechenbar> add(final IVerrechenbar code, final Konsultation kons){
if (code instanceof BAGMedi) {
List<Verrechnet> old = kons.getLeistungen();
for (Verrechnet v : old) {
IVerrechenbar vv = v.getVerrechenbar();
if (vv.getCode().equals(code.getCode())) {
v.changeAnzahl(v.getZahl() + 1);
// v.setZahl(v.getZahl()+1);
return new Result<IVerrechenbar>(code);
}
if (vv instanceof BAGMedi) {
BAGMedi bm = (BAGMedi) vv;
}
}
newVerrechnet = new Verrechnet(code, kons, 1);
old.add(newVerrechnet);
}
return new Result<IVerrechenbar>(code);
}
public Result<Verrechnet> remove(final Verrechnet v, final Konsultation kons){
List<Verrechnet> old = kons.getLeistungen();
old.remove(v);
v.delete();
return new Result<Verrechnet>(null);
}
@Override
public Verrechnet getCreatedVerrechnet(){
return newVerrechnet;
}
}