Package com.google.appengine.codelab

Source Code of com.google.appengine.codelab.Transacao

/**
* Copyright 2011 Google
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.appengine.codelab;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;
import com.google.appengine.api.datastore.PropertyProjection;
import com.google.appengine.api.datastore.Query;

/**
* This class defines the methods for basic operations of create, update &
* retrieve
*
* @author
*
*/
public class Transacao {
  // private static final Logger logger = Logger.getLogger(Transacao.class.getCanonicalName());

  /**
   * Create or update Transacao
   *
   * @param trans_type
   *            : type of the transacao
   * @param trans_price
   *            : price of the transacao
   * @param trans_data
   *            : date of the transacao
   * @param trans_hora
   *            : hours of the transacao
   * @return
   */
  public static Entity createOrUpdateTransacao(String trans_id,
      String trans_type, Double trans_price, String trans_data,
      String trans_hora, String estabelecimento_id, String cliente_id,
      String midia_id, String localidade_id) {
    Entity transacao = getSingleTransacao(trans_id);
    Entity cliente = Cliente.getSingleCliente(cliente_id);
    Entity estabelecimento = Estabelecimento
        .getSingleEstabelecimento(estabelecimento_id);
    Entity midia = Midia.getSingleMidia(midia_id);
    Entity localidade = Localidade.getSingleLocalidade(localidade_id);

    if (transacao == null) {
      transacao = new Entity("Transacao", trans_id);
      transacao.setProperty("trans_id", trans_id);
      transacao.setProperty("trans_type", trans_type);
      transacao.setProperty("trans_price", trans_price);
      transacao.setProperty("trans_data", trans_data);
      transacao.setProperty("trans_hora", trans_hora);
      transacao.setProperty("estabelecimento_id", estabelecimento
          .getProperty("estabelecimento_id").toString());
      transacao.setProperty("cliente_id",
          cliente.getProperty("cliente_id").toString());
      transacao.setProperty("midia_id", midia.getProperty("midia_id")
          .toString());
      transacao.setProperty("localidade_id",
          localidade.getProperty("localidade_id").toString());

    } else {
      if (trans_type != null && !"".equals(trans_type)) {
        transacao.setProperty("trans_type", trans_type);
      }
      if (trans_price != null) {
        transacao.setProperty("trans_price", trans_price);
      }
      if (trans_data != null) {
        transacao.setProperty("trans_data", trans_data);
      }
      if (trans_hora != null && !"".equals(trans_hora)) {
        transacao.setProperty("trans_hora", trans_hora);
      }
    }
    Util.persistEntity(transacao);
    return transacao;
  }

  public static List<String> listarTiposTransacao() {
    Query query = new Query("Transacao");
    query.addProjection(new PropertyProjection("trans_type", String.class));
    query.setDistinct(true);

    Iterable<Entity> iterable = DatastoreServiceFactory
        .getDatastoreService().prepare(query).asIterable();
    List<String> tipos = new ArrayList<String>();

    for (Entity entity : iterable) {
      tipos.add((String) entity.getProperty("trans_type"));
    }

    return tipos;
  }

  /**
   * get All the transacaos in the list
   *
   * @param kind
   *            : transacao kind
   * @return all the transacaos
   */
  public static Iterable<Entity> getAllTransacoes() {
    Iterable<Entity> entities = Util.listEntities("Transacao", null, null);
    return entities;
  }

  /**
   * Get the transacao given the name
   *
   * @param transacaoName
   *            : transacao name
   * @return Transacao Entity
   */
  public static Iterable<Entity> getTransacao(String trans_id) {
    Iterable<Entity> entities = Util.listEntities("Transacao", "trans_id",
        trans_id);
    return entities;
  }

  /**
   * Get all the transacoes for a midia
   *
   * @param kind
   *            : transacao kind
   * @param midiaName
   *            : midia name
   * @return: all transacaos of type midia
   */
  public static Iterable<Entity> getTransacaoForMidia(String kind,
      String midiaName) {
    Key ancestorKey = KeyFactory.createKey("Midia", midiaName);
    return Util.listChildren("Transacao", ancestorKey);
  }

  /**
   * Get all the transacao for a cliente
   *
   * @param kind
   *            : transacao kind
   * @param clienteName
   *            : cliente name
   * @return: all transacao of type cliente
   */
  public static Iterable<Entity> getTransacaoForCliente(String clienteName) {
    ArrayList<Entity> list = new ArrayList<Entity>();
    Iterable<Entity> entities = Util.listEntities("Transacao", null, null);
    for (Entity entity : entities) {
      String clienteId = entity.getProperty("cliente_id").toString();
      Entity cliente = Cliente.getSingleCliente(clienteId);
      if (clienteName.equals(cliente.getProperty("cliente_name")
          .toString())) {
        list.add(entity);
      }
    }
    return list;
  }

  /**
   * Get all the transacao for a midia number
   *
   * @param kind
   *            : transacao kind
   * @param midiaNumber
   *            : midia number
   * @return: all transacao of type midia
   */
  public static Iterable<Entity> getTransacaoForMidiaNumber(String midiaNumber) {
    ArrayList<Entity> list = new ArrayList<Entity>();
    Iterable<Entity> entities = Util.listEntities("Transacao", null, null);
    for (Entity entity : entities) {
      String midiaId = entity.getProperty("midia_id").toString();
      Entity midia = Midia.getSingleMidia(midiaId);
      if (midiaNumber
          .equals(midia.getProperty("midia_number").toString())) {
        list.add(entity);
      }
    }
    return list;
  }

  /**
   * Get all the transacao for a localidade_id
   *
   * @param kind
   *            : transacao kind
   * @param localidadeId
   *            : localidadeId
   * @return: all transacao of type localidade
   */
  public static Iterable<Entity> getTransacaoForLocalidade(String localidadeId) {
    ArrayList<Entity> list = new ArrayList<Entity>();
    Iterable<Entity> entities = Util.listEntities("Transacao", null, null);
    for (Entity entity : entities) {
      String localId = entity.getProperty("localidade_id").toString();
      Entity midia = Localidade.getSingleLocalidade(localId);
      if (localidadeId.equals(midia.getProperty("localidade_id")
          .toString())) {
        list.add(entity);
      }
    }
    return list;
  }

  /**
   * get Transacao with transacao name
   *
   * @param transacaoName
   *            : get transacaoName
   * @return transacao entity
   */
  public static Entity getSingleTransacao(String trans_id) {
    Iterable<Entity> results = Util.listEntities("Transacao", "trans_id",
        trans_id);
    List<Entity> entity = new ArrayList<Entity>();
    for (Entity e : results)
      if (e != null)
        entity.add(e);
    if (!entity.isEmpty()) {
      return (Entity) entity.remove(0);
    }
    return null;
  }
 
  public static void updateSessao(String trans_id, long ses_id) {
    Entity transacao = getSingleTransacao(trans_id);
    Entity sessao = new Sessao().get(ses_id);
    if (transacao != null && sessao != null) {
      transacao.setProperty("ses_id", ses_id);
    }
    Util.persistEntity(transacao);
 
  // Metodo Adicionado por Anderson - US2
   public static Iterable<Entity> getTransacaoFraudulentas(String trans_data_init,String trans_data_end) {
        Iterable<Entity> entities = Util.listEntitiesFraudulentas("Transacao", "trans_data", trans_data_init, trans_data_end);
       
        return entities;
     }
  // Metodo Adicionado por Anderson - US13
   public static Iterable<Entity> getTransacaoPeriodoTipo(String trans_data_init,String trans_data_end, String trans_type) {
        Iterable<Entity> entities = Util.listEntitiesTransacaoPeriodoTipo(trans_data_init, trans_data_end, trans_type);
       
        return entities;
     }

}
TOP

Related Classes of com.google.appengine.codelab.Transacao

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.