﻿
var CatalogueClient = (function () {

    var _resettingCategories = false;
    var _resettingEquivalences = false;

    function ResetEquivalencesActives_Complete(args) {

        _resettingEquivalences = false;
    }

    function ResetCategoriesActives_Complete(args) {
        _resettingCategories = false;
    }

    // public members
    return {

        Resultats: {
            ProduitDejaExistant: "ProduitDejaExistant",
            ErreurInattendue: "ErreurInattendue",

            Succes: "Succes"
        },

        GetPileByUniqueKey: function (uniqueKey, callbackMethod) {
            CatalogService.GetPileByUniqueKey(uniqueKey, callbackMethod);

        },


        GetBatterieScelleeAcideByUniqueKey: function (uniqueKey, callbackMethod) {

            CatalogService.GetBatterieScelleeAcideByUniqueKey(uniqueKey, callbackMethod);

        },

        GetBatterieCelluleBlocByUniqueKey: function (uniqueKey, callbackMethod) {

            CatalogService.GetBatterieCelluleBlocByUniqueKey(uniqueKey, callbackMethod);

        },

        GetBatterieDemarrageByUniqueKey: function (uniqueKey, callbackMethod) {

            CatalogService.GetBatterieDemarrageByUniqueKey(uniqueKey, callbackMethod);

        },

        GetBatterieIndustrielleByUniqueKey: function (uniqueKey, callbackMethod) {

            CatalogService.GetBatterieIndustrielleByUniqueKey(uniqueKey, callbackMethod);

        },

        GetBatterieMotoriseByUniqueKey: function (uniqueKey, callbackMethod) {

            CatalogService.GetBatterieMotoriseByUniqueKey(uniqueKey, callbackMethod);

        },

        GetChargeurByUniqueKey: function (uniqueKey, callbackMethod) {

            CatalogService.GetChargeurByUniqueKey(uniqueKey, callbackMethod);

        },

        AssociateManufacturier: function (uniqueKey, callbackMethod) {

            CatalogService.AssociateManufacturier(uniqueKey, callbackMethod);

        },

        DissociateManufacturier: function (uniqueKey, callbackMethod) {

            CatalogService.DissociateManufacturier(uniqueKey, callbackMethod);

        },

        DissociateCategorie: function (uniqueKey, callbackMethod) {

            CatalogService.DissociateCategorie(uniqueKey, callbackMethod);

        },

        DissociateEquivalence: function (uniqueKey, name, callbackMethod) {

            CatalogService.DissociateEquivalence(uniqueKey, name, callbackMethod);

        },


        ResetManufacturiersActifs: function (callbackMethod) {

            CatalogService.ResetManufacturiersActifs(callbackMethod);

        },

        ResetCategoriesActives: function (callbackMethod) {
            if (!_resettingCategories) {
                _resettingCategories = true;
                CatalogService.ResetCategoriesActives(function (args) { callbackMethod(args); ResetCategoriesActives_Complete(args); });
            }

        },

        ResetEquivalencesActives: function (callbackMethod) {
            if (!_resettingEquivalences) {
                _resettingEquivalences = true;
                CatalogService.ResetEquivalencesActives(function (args) { callbackMethod(args); ResetEquivalencesActives_Complete(args); });
            }

        },


        AddPile: function (uniqueKey, categoriePile, familleId, manufacturier, dimensions, dimensionsReelles, redirectionExterne, empaquetageId, voltage, callbackMethod) {

            CatalogService.AddPile(
                uniqueKey,
                categoriePile,
                familleId,
                manufacturier,
                dimensions.dimGabarit,
                dimensions.dimLongueur,
                dimensions.dimLargeur,
                dimensions.dimHauteur,
                dimensions.dimDiametre,
                dimensionsReelles.dimLongueur,
                dimensionsReelles.dimLargeur,
                dimensionsReelles.dimHauteur,
                dimensionsReelles.dimDiametre,
                dimensions.dimUnite,
                redirectionExterne,
                empaquetageId,
                voltage,
                callbackMethod
            );

        },

        UpdatePile: function (uniqueKey, manufacturierId, dimensions, dimensionsReelles, redirectionExterne, empaquetageId, voltage, callbackMethod) {

            CatalogService.UpdatePile(
                uniqueKey,
                manufacturierId,
                dimensions.dimId,
                dimensions.dimGabarit,
                dimensions.dimLongueur,
                dimensions.dimLargeur,
                dimensions.dimHauteur,
                dimensions.dimDiametre,
                dimensionsReelles.dimLongueur,
                dimensionsReelles.dimLargeur,
                dimensionsReelles.dimHauteur,
                dimensionsReelles.dimDiametre,
                dimensions.dimUnite,
                redirectionExterne,
                empaquetageId,
                voltage,
                callbackMethod
            );

        },

        DeletePile: function (uniqueKey, callbackMethod) {
            CatalogService.DeletePile(uniqueKey, callbackMethod);
        },


        AddPileLithium: function (uniqueKey, categoriePile, familleId, manufacturierId, dimensions, dimensionsReelles, redirectionExterne, empaquetageId, voltage, capacite, callbackMethod) {

            CatalogService.AddPileLithium(
                uniqueKey,
                categoriePile,
                familleId,
                manufacturierId,
                dimensions.dimGabarit,
                dimensions.dimLongueur,
                dimensions.dimLargeur,
                dimensions.dimHauteur,
                dimensions.dimDiametre,
                dimensionsReelles.dimLongueur,
                dimensionsReelles.dimLargeur,
                dimensionsReelles.dimHauteur,
                dimensionsReelles.dimDiametre,
                dimensions.dimUnite,
                redirectionExterne,
                empaquetageId,
                voltage,
                capacite,
                callbackMethod
            );

        },
        UpdatePileLithium: function (uniqueKey, manufacturierId, dimensions, dimensionsReelles, redirectionExterne, empaquetageId, voltage, capacite, callbackMethod) {

            CatalogService.UpdatePileLithium(
                uniqueKey,
                manufacturierId,
                dimensions.dimId,
                dimensions.dimGabarit,
                dimensions.dimLongueur,
                dimensions.dimLargeur,
                dimensions.dimHauteur,
                dimensions.dimDiametre,
                dimensionsReelles.dimLongueur,
                dimensionsReelles.dimLargeur,
                dimensionsReelles.dimHauteur,
                dimensionsReelles.dimDiametre,
                dimensions.dimUnite,
                redirectionExterne,
                empaquetageId,
                voltage,
                capacite,
                callbackMethod
            );

        },

        DeletePileLithium: function (uniqueKey, callbackMethod) {
            CatalogService.DeletePileLithium(uniqueKey, callbackMethod);
        },


        AddBatterieDemarrageAuto: function (uniqueKey, categorieBatterie, familleId, manufacturierId, dimensions, dimensionsReelles, redirectionExterne, BCI, CA, CCA, CR, poidsLbs, poidsKg, callbackMethod) {

            CatalogService.AddBatterieDemarrageAuto(
                uniqueKey,
                categorieBatterie,
                familleId,
                manufacturierId,
                dimensions.dimGabarit,
                dimensions.dimLongueur,
                dimensions.dimLargeur,
                dimensions.dimHauteur,
                dimensionsReelles.dimLongueur,
                dimensionsReelles.dimLargeur,
                dimensionsReelles.dimHauteur,
                dimensionsReelles.dimDiametre,
                dimensions.dimDiametre,
                dimensions.dimUnite,
                redirectionExterne,
                BCI,
                CA,
                CCA,
                CR,
                poidsLbs,
                poidsKg,
                callbackMethod
            );

        },

        UpdateBatterieDemarrageAuto: function (uniqueKey, manufacturierId, dimensions, dimensionsReelles, redirectionExterne, BCI, CA, CCA, CR, poidsLbs, poidsKg, callbackMethod) {

            CatalogService.UpdateBatterieDemarrageAuto(
                uniqueKey,
                manufacturierId,
                dimensions.dimId,
                dimensions.dimGabarit,
                dimensions.dimLongueur,
                dimensions.dimLargeur,
                dimensions.dimHauteur,
                dimensions.dimDiametre,
                dimensionsReelles.dimLongueur,
                dimensionsReelles.dimLargeur,
                dimensionsReelles.dimHauteur,
                dimensionsReelles.dimDiametre,
                dimensions.dimUnite,
                redirectionExterne,
                BCI,
                CA,
                CCA,
                CR,
                poidsLbs,
                poidsKg,
                callbackMethod
            );

        },

        DeleteBatterieDemarrageAuto: function (uniqueKey, callbackMethod) {

            CatalogService.DeleteBatterieDemarrageAuto(uniqueKey, callbackMethod);

        },

        AddBatterieDemarrageMarine: function (uniqueKey, categorieBatterie, familleId, manufacturierId, dimensions, dimensionsReelles, redirectionExterne, BCI, MCA, CR, AH, poidsLbs, poidsKg, callbackMethod) {

            CatalogService.AddBatterieDemarrageMarine(
                uniqueKey,
                categorieBatterie,
                familleId,
                manufacturierId,
                dimensions.dimGabarit,
                dimensions.dimLongueur,
                dimensions.dimLargeur,
                dimensions.dimHauteur,
                dimensions.dimDiametre,
                dimensionsReelles.dimLongueur,
                dimensionsReelles.dimLargeur,
                dimensionsReelles.dimHauteur,
                dimensionsReelles.dimDiametre,
                dimensions.dimUnite,
                redirectionExterne,
                BCI,
                MCA,
                CR,
                AH,
                poidsLbs,
                poidsKg,
                callbackMethod
            );

        },

        UpdateBatterieDemarrageMarine: function (uniqueKey, manufacturierId, dimensions, dimensionsReelles, redirectionExterne, BCI, MCA, CR, AH, poidsLbs, poidsKg, callbackMethod) {

            CatalogService.UpdateBatterieDemarrageMarine(
                uniqueKey,
                manufacturierId,
                dimensions.dimId,
                dimensions.dimGabarit,
                dimensions.dimLongueur,
                dimensions.dimLargeur,
                dimensions.dimHauteur,
                dimensions.dimDiametre,
                dimensionsReelles.dimLongueur,
                dimensionsReelles.dimLargeur,
                dimensionsReelles.dimHauteur,
                dimensionsReelles.dimDiametre,
                dimensions.dimUnite,
                redirectionExterne,
                BCI,
                MCA,
                CR,
                AH,
                poidsLbs,
                poidsKg,
                callbackMethod
            );

        },

        DeleteBatterieDemarrageMarine: function (uniqueKey, callbackMethod) {

            CatalogService.DeleteBatterieDemarrageMarine(uniqueKey, callbackMethod);

        },

        AddBatterieCelluleBloc: function (uniqueKey, categorieBatterie, famille, manufacturierId, redirectionExterne, empaquetageId, voltage, capacite, callbackMethod) {

            CatalogService.AddBatterieCelluleBloc(uniqueKey, categorieBatterie, famille, manufacturierId, redirectionExterne, empaquetageId, voltage, capacite, callbackMethod);

        },

        UpdateBatterieCelluleBloc: function (uniqueKey, manufacturierId, redirectionExterne, empaquetageId, voltage, capacite, callbackMethod) {

            CatalogService.UpdateBatterieCelluleBloc(
                uniqueKey,
                manufacturierId,
                redirectionExterne,
                empaquetageId,
                voltage,
                capacite,
                callbackMethod
            );
        },

        DeleteBatterieCelluleBloc: function (uniqueKey, callbackMethod) {
            CatalogService.DeleteBatterieCelluleBloc(uniqueKey, callbackMethod);
        },


        AddBatterieScelleeAcide: function (uniqueKey, categorieBatterie, famille, manufacturierId, dimensions, dimensionsReelles, redirectionExterne, empaquetageId, voltage, capacite, terminal, callbackMethod) {

            CatalogService.AddBatterieScelleeAcide(
                uniqueKey,
                categorieBatterie,
                famille,
                manufacturierId,
                dimensions.dimGabarit,
                dimensions.dimLongueur,
                dimensions.dimLargeur,
                dimensions.dimHauteur,
                dimensions.dimDiametre,
                dimensionsReelles.dimLongueur,
                dimensionsReelles.dimLargeur,
                dimensionsReelles.dimHauteur,
                dimensionsReelles.dimDiametre,
                dimensions.dimUnite,
                redirectionExterne,
                empaquetageId,
                voltage,
                capacite,
                terminal,
                callbackMethod);

        },

        UpdateBatterieScelleeAcide: function (uniqueKey, manufacturierId, dimensions, dimensionsReelles, redirectionExterne, empaquetageId, voltage, capacite, terminal, callbackMethod) {

            CatalogService.UpdateBatterieScelleeAcide(
                uniqueKey,
                manufacturierId,
                dimensions.dimId,
                dimensions.dimGabarit,
                dimensions.dimLongueur,
                dimensions.dimLargeur,
                dimensions.dimHauteur,
                dimensions.dimDiametre,
                dimensionsReelles.dimLongueur,
                dimensionsReelles.dimLargeur,
                dimensionsReelles.dimHauteur,
                dimensionsReelles.dimDiametre,
                dimensions.dimUnite,
                redirectionExterne,
                empaquetageId,
                voltage,
                capacite,
                terminal,
                callbackMethod);
        },

        DeleteBatterieScelleeAcide: function (uniqueKey, callbackMethod) {
            CatalogService.DeleteBatterieScelleeAcide(uniqueKey, callbackMethod);
        },



        AddBatterieIndustrielle: function (uniqueKey, categorieBatterie, famille, manufacturierId, dimensions, dimensionsReelles, redirectionExterne, voltage, CR25Amp, CR75Amp, rendement20h, rendement5h, poidsLbs, poidsKg, callbackMethod) {

            CatalogService.AddBatterieIndustrielle(
                uniqueKey,
                categorieBatterie,
                famille,
                manufacturierId,
                dimensions.dimGabarit,
                dimensions.dimLongueur,
                dimensions.dimLargeur,
                dimensions.dimHauteur,
                dimensions.dimDiametre,
                dimensionsReelles.dimLongueur,
                dimensionsReelles.dimLargeur,
                dimensionsReelles.dimHauteur,
                dimensionsReelles.dimDiametre,
                dimensions.dimUnite,
                redirectionExterne,
                voltage,
                CR25Amp,
                CR75Amp,
                rendement20h,
                rendement5h,
                poidsLbs,
                poidsKg,
                callbackMethod);

        },

        UpdateBatterieIndustrielle: function (uniqueKey, manufacturierId, dimensions, dimensionsReelles, redirectionExterne, voltage, CR25Amp, CR75Amp, rendement20h, rendement5h, poidsLbs, poidsKg, callbackMethod) {

            CatalogService.UpdateBatterieIndustrielle(
                uniqueKey,
                manufacturierId,
                dimensions.dimId,
                dimensions.dimGabarit,
                dimensions.dimLongueur,
                dimensions.dimLargeur,
                dimensions.dimHauteur,
                dimensions.dimDiametre,
                dimensionsReelles.dimLongueur,
                dimensionsReelles.dimLargeur,
                dimensionsReelles.dimHauteur,
                dimensionsReelles.dimDiametre,
                dimensions.dimUnite,
                redirectionExterne,
                voltage,
                CR25Amp,
                CR75Amp,
                rendement20h,
                rendement5h,
                poidsLbs,
                poidsKg,
                callbackMethod);
        },

        DeleteBatterieIndustrielle: function (uniqueKey, callbackMethod) {
            CatalogService.DeleteBatterieIndustrielle(uniqueKey, callbackMethod);
        },


        AddBatterieMotorise: function (uniqueKey, categorieBatterie, famille, manufacturierId, redirectionExterne, callbackMethod) {

            CatalogService.AddBatterieMotorise(
                uniqueKey,
                categorieBatterie,
                famille,
                manufacturierId,
                redirectionExterne,
                callbackMethod);

        },

        UpdateBatterieMotorise: function (uniqueKey, manufacturierId, redirectionExterne, callbackMethod) {

            CatalogService.UpdateBatterieMotorise(
                uniqueKey,
                manufacturierId,
                redirectionExterne,
                callbackMethod);
        },

        DeleteBatterieMotorise: function (uniqueKey, callbackMethod) {
            CatalogService.DeleteBatterieMotorise(uniqueKey, callbackMethod);
        },


        AddChargeur: function (uniqueKey, famille, manufacturier, redirectionExterne, voltage, description, amperage, applicationRecommandee, callbackMethod) {

            CatalogService.AddChargeur(uniqueKey,
                            famille,
                            manufacturier,
                            redirectionExterne,
                            voltage,
                            description,
                            amperage,
                            applicationRecommandee,
                            callbackMethod);
        },

        UpdateChargeur: function (uniqueKey, manufacturier, redirectionExterne, voltage, description, amperage, applicationRecommandee, callbackMethod) {


            CatalogService.UpdateChargeur(
                uniqueKey,
                manufacturier,
                redirectionExterne,
                voltage,
                description,
                amperage,
                applicationRecommandee,
                callbackMethod);
        },

        DeleteChargeur: function (uniqueKey, callbackMethod) {
            CatalogService.DeleteChargeur(uniqueKey, callbackMethod);
        }


    };

} ()); 

