package com.fp.frontend.webservices;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

import com.fp.persistence.parmas.dto.ws.ArmaDto;

/**
 * Servicio en el cual se van a determinar todas las operaciones definidas para
 * un arma
 *
 * @author dcruz
 *
 */
@WebService
public interface ArmaService {

    /**
     * Retorna el arma encontrada por id
     *
     * @param carma
     * @return
     */
    @WebMethod
    public ArmaDto obtenerArmaId(@WebParam(name = "codigoarma") String carma);

    /**
     * Retorna un codigo de respuesta del servicio 0, el arma fue vinculada con
     * el tag, 1 el arma que se quiere vincular con el tag no existe
     *
     * @param codigoarma
     * @param codigotag
     * @return
     */
    @WebMethod
    public String vinculaTagArma(@WebParam(name = "codigoarma") String codigoarma, @WebParam(name = "codigotag") String codigotag);

    /**
     * Retorna un c&oacute;digo de respuesta del estado de la operaci&oacute;n
     *
     * @param codigoarma
     * @param codigotag
     * @return
     */
    @WebMethod
    public String desvinculaTagArma(@WebParam(name = "codigoarma") String codigoarma, @WebParam(name = "codigotag") String codigotag);

    /**
     * Retorna el arma encontrada por el codigo del tag
     *
     * @param codigotag
     * @return
     */
    @WebMethod
    public ArmaDto obtenerArmaPorTag(@WebParam(name = "codigotag") String codigotag);

}
