// Path: bst/src/main/java/ru/redsolution/bst/data/table/ContractTable.java
// public class ContractTable extends NamedTable {
// 	public static final class Fields implements NamedTable.Fields {
// 		private Fields() {
// 		}
// 
// 		public static final String COMPANY = "company";
// 		public static final String MY_COMPANY = "my_company";
// 	}
// 
// 	private static final String NAME = "contract";
// 
// 	private final static ContractTable instance;
// 
// 	static {
// 		instance = new ContractTable();
// 		DatabaseHelper.getInstance().addTable(instance);
// 	}
// 
// 	public static ContractTable getInstance() {
// 		return instance;
// 	}
// 
// 	private ContractTable() {
// 	}
// 
// 	@Override
// 	protected String getTableName() {
// 		return NAME;
// 	}
// 
// 	@Override
// 	protected Collection<String> getFields() {
// 		Collection<String> collection = new ArrayList<String>(super.getFields());
// 		collection.add(Fields.COMPANY);
// 		collection.add(Fields.MY_COMPANY);
// 		return collection;
// 	}
// 
// 	@Override
// 	public Cursor list() {
// 		throw new UnsupportedOperationException();
// 	}
// 
// 	/**
// 	 * @param company
// 	 * @param myCompany
// 	 * @return Список объетов.
// 	 */
// 	public Cursor list(String company, String myCompany) {
// 		return filter(
// 				Fields.COMPANY + " = ? AND " + Fields.MY_COMPANY + " = ?",
// 				new String[] { company, myCompany }, null);
// 	}
// 
// 	/**
// 	 * @param id
// 	 * @param company
// 	 * @param myCompany
// 	 * @return Относится ли контракт к указанному контрагенту и организации.
// 	 */
// 	public boolean acceptable(String id, String company, String myCompany) {
// 		ContentValues values;
// 		try {
// 			values = getById(id);
// 		} catch (BaseDatabaseException e) {
// 			return false;
// 		}
// 		return values.getAsString(Fields.COMPANY).equals(company)
// 				&& values.getAsString(Fields.MY_COMPANY).equals(myCompany);
// 	}
// 
// 	@Override
// 	public void add(String id, String name) {
// 		throw new UnsupportedOperationException();
// 	}
// 
// 	/**
// 	 * Добавить элемент.
// 	 * 
// 	 * @param id
// 	 * @param name
// 	 * @param company
// 	 * @param myCompany
// 	 */
// 	public void add(String id, String name, String company, String myCompany) {
// 		ContentValues values = getValues(id, name);
// 		values.put(Fields.COMPANY, company);
// 		values.put(Fields.MY_COMPANY, myCompany);
// 		add(values);
// 	}
// }


import org.xmlpull.v1.XmlPullParser;
import ru.redsolution.bst.data.table.ContractTable;
import android.util.Log;
/**
 * Copyright (c) 2013, Redsolution LTD. All rights reserved.
 *
 * This file is part of Barcode Scanner Terminal project;
 * you can redistribute it and/or modify it under the terms of
 *
 * Barcode Scanner Terminal is distributed in the hope that it will be
 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License,
 * along with this program. If not, see http://www.gnu.org/licenses/.
 */
package ru.redsolution.bst.data.parse;



public class ContractImporter extends NamedImporter {

	protected String company = null;
	protected String myCompany = null;

	@Override
	protected void preProcess(XmlPullParser parser) {
		super.preProcess(parser);
		company = parser.getAttributeValue(null, "agentUuid");
		myCompany = parser.getAttributeValue(null, "ownCompanyUuid");
	}

	@Override
	public boolean isValid() {
		if (!super.isValid())
			return false;
		if (company == null) {
			Log.w(this.getClass().toString(), "company is null ");
			return false;
		}
		if (myCompany == null) {
			Log.w(this.getClass().toString(), "my company is null ");
			return false;
		}
		return true;
	}

	@Override
	protected void save() {
// Path: bst/src/main/java/ru/redsolution/bst/data/table/ContractTable.java
// public class ContractTable extends NamedTable {
// 	public static final class Fields implements NamedTable.Fields {
// 		private Fields() {
// 		}
// 
// 		public static final String COMPANY = "company";
// 		public static final String MY_COMPANY = "my_company";
// 	}
// 
// 	private static final String NAME = "contract";
// 
// 	private final static ContractTable instance;
// 
// 	static {
// 		instance = new ContractTable();
// 		DatabaseHelper.getInstance().addTable(instance);
// 	}
// 
// 	public static ContractTable getInstance() {
// 		return instance;
// 	}
// 
// 	private ContractTable() {
// 	}
// 
// 	@Override
// 	protected String getTableName() {
// 		return NAME;
// 	}
// 
// 	@Override
// 	protected Collection<String> getFields() {
// 		Collection<String> collection = new ArrayList<String>(super.getFields());
// 		collection.add(Fields.COMPANY);
// 		collection.add(Fields.MY_COMPANY);
// 		return collection;
// 	}
// 
// 	@Override
// 	public Cursor list() {
// 		throw new UnsupportedOperationException();
// 	}
// 
// 	/**
// 	 * @param company
// 	 * @param myCompany
// 	 * @return Список объетов.
// 	 */
// 	public Cursor list(String company, String myCompany) {
// 		return filter(
// 				Fields.COMPANY + " = ? AND " + Fields.MY_COMPANY + " = ?",
// 				new String[] { company, myCompany }, null);
// 	}
// 
// 	/**
// 	 * @param id
// 	 * @param company
// 	 * @param myCompany
// 	 * @return Относится ли контракт к указанному контрагенту и организации.
// 	 */
// 	public boolean acceptable(String id, String company, String myCompany) {
// 		ContentValues values;
// 		try {
// 			values = getById(id);
// 		} catch (BaseDatabaseException e) {
// 			return false;
// 		}
// 		return values.getAsString(Fields.COMPANY).equals(company)
// 				&& values.getAsString(Fields.MY_COMPANY).equals(myCompany);
// 	}
// 
// 	@Override
// 	public void add(String id, String name) {
// 		throw new UnsupportedOperationException();
// 	}
// 
// 	/**
// 	 * Добавить элемент.
// 	 * 
// 	 * @param id
// 	 * @param name
// 	 * @param company
// 	 * @param myCompany
// 	 */
// 	public void add(String id, String name, String company, String myCompany) {
// 		ContentValues values = getValues(id, name);
// 		values.put(Fields.COMPANY, company);
// 		values.put(Fields.MY_COMPANY, myCompany);
// 		add(values);
// 	}
// }


// Path: bst/src/main/java/ru/redsolution/bst/data/parse/ContractImporter.java
import org.xmlpull.v1.XmlPullParser;
import ru.redsolution.bst.data.table.ContractTable;
import android.util.Log;

/**
 * Copyright (c) 2013, Redsolution LTD. All rights reserved.
 *
 * This file is part of Barcode Scanner Terminal project;
 * you can redistribute it and/or modify it under the terms of
 *
 * Barcode Scanner Terminal is distributed in the hope that it will be
 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License,
 * along with this program. If not, see http://www.gnu.org/licenses/.
 */
package ru.redsolution.bst.data.parse;



public class ContractImporter extends NamedImporter {

	protected String company = null;
	protected String myCompany = null;

	@Override
	protected void preProcess(XmlPullParser parser) {
		super.preProcess(parser);
		company = parser.getAttributeValue(null, "agentUuid");
		myCompany = parser.getAttributeValue(null, "ownCompanyUuid");
	}

	@Override
	public boolean isValid() {
		if (!super.isValid())
			return false;
		if (company == null) {
			Log.w(this.getClass().toString(), "company is null ");
			return false;
		}
		if (myCompany == null) {
			Log.w(this.getClass().toString(), "my company is null ");
			return false;
		}
		return true;
	}

	@Override
	protected void save() {
		ContractTable.getInstance().add(id, name, company, myCompany);