app.factory('localizacaoFactory', function ($http) {
    var url_edificio = '../api/edificio/';
    var url_piso = '../api/piso/';
    var url_sala = '../api/sala/';

    return {
        guardarConferencias: function (lst) {


            return $http({
                cache: false,
                url: '../api/conferencias',
                method: "POST",
                data: lst,

            })
        },

        trancarConferencias: function (id) {
            return $http.put('../api/conferencias/trancar/' + id);
        },

        desbloquearConferencias: function (id) {
            return $http.put('../api/conferencias/desbloquear/' + id);
        },

        getCadastroEAN13: function (cod, idEnt, e, p, s) {
            if (e == null)
                e = 0;
            if (p == null)
                p = 0;
            if (s == null)
                s = 0;
            if (idEnt == null)
                idEnt = 0;
            

            return $http({
                url: '../api/conferencias/EAN13/' + cod,
                method: "GET",
                params: { ed: e, pi: p, sa: s, ent: idEnt },
            })
            
        },

        getConferencias: function (e, p, s, locCompleto, pos) {

            if (e == null)
                e = 0;
            if (p == null)
                p = 0;
            if (s == null)
                s = 0;
            if (pos == null)
                pos = 0;
            if (locCompleto == null)
                locCompleto = true;

            return $http({
                url: '../api/conferencias',
                method: "GET",
                params: { ed: e, pi: p, sa: s, lcomp: locCompleto, pos: pos, n: -1 },
            })
        },

        getConferenciasErros: function () {

            return $http({
                url: '../api/conferencias/erros',
                method: "GET",
                params: {  },
            })
        },

        deleteErrosConferencias: function (id) {
            return $http.delete('../api/conferencias/erros/'+id);
        },

        updateLocal: function (inv) {
            return $http.put('../api/cadastroloc/mudar/'+ inv.Pk_Inventario, inv);
        },

        getEdificios: function () {
            return $http.get(url_edificio);
        },
        addEdificio: function (edificio) {


            return $http({
                cache: false,
                url: url_edificio,
                method: "POST",
                data: edificio,

            })
        },
        deleteEdificio: function (edificio) {
            return $http.delete(url_edificio + edificio.PK_Edificio);
        },
        updateEdificio: function (edificio) {
            return $http.put(url_edificio + edificio.PK_Edificio, edificio);
        },


        //Pisos
        getPisos: function () {
            return $http.get(url_piso);
        },
        getPisosEdificio: function (id) {
            return $http.get(url_piso+id);
        },
        addPiso: function (piso) {


            return $http({
                cache: false,
                url: url_piso,
                method: "POST",
                data: piso,

            })
        },
        deletePiso: function (piso) {
            return $http.delete(url_piso + piso.PK_Piso);
        },
        updatePiso: function (piso) {
            return $http.put(url_piso + piso.PK_Piso, piso);
        },

        //Salas
        getSalas: function () {
            return $http.get(url_sala);
        },
        addSala: function (sala) {


            return $http({
                cache: false,
                url: url_sala,
                method: "POST",
                data: sala,

            })
        },
        deleteSala: function (sala) {
            return $http.delete(url_sala + sala.PK_Sala);
        },
        updateSala: function (sala) {
            return $http.put(url_sala + sala.PK_Sala, sala);
        },
        mudalBensDeLocal: function (dados) {
            return $http({
                cache: false,
                url: '../api/locais/mudarDeLocal',
                method: "POST",
                data: dados,

            })
        },
       
    };
});