// web service proxy for data file upload
webservices.factory('dataImportService', ['$http', 'apiConfig', function ($http, apiConfig) {
    'use strict';
    return {

        //getFileContent: function (tempFileName, selectedSheetIndex, topRowNumber) {
        //    return $http.get('/DataImport/FileContent/' + tempFileName + '/' + selectedSheetIndex + '/' + topRowNumber, apiConfig.create());
        //},

        importBalanceList: function (balanceList, importType) {
            return $http.post('/DataImport/ImportBalance', { balanceList: balanceList, importType: importType }, apiConfig.create());
        },

        //getBalanceList: function (period) {
        //    return $http.get('/DataImport/GetBalanceList/' + period, apiConfig.create());
        //},

        //getValidationList: function (type, period) {
        //    return $http.get('/DataImport/GetValidationList/' + type + '/' + period, apiConfig.create());
        //},

        getDuplicateResults: function () {
            return $http.get('/financeImportData/importData/getDuplicateItems', apiConfig.create());
        },

        getBasicValidationResults: function () {
            return $http.get('/financeImportData/checkData/basicCheck', apiConfig.create());
        },

        getCorrectValidationResults: function (periodId) {
            return $http.get('/financeImportData/checkData/correctCheck/' + periodId, apiConfig.create());
        },

        manageData: function (period) {
            return $http.get('/financeImportData/manageData/' + period, apiConfig.create());
        },

        getVoucherEmptyCheck: function (itemId, period, group, acctCode, summary) {
            return $http.get('/financeImportData/getCheckDetail/voucheEmpty/' + itemId + '/' + period + '/' + group + '/' + acctCode + '/' + summary, apiConfig.create());
        },

        getCompanyBalanceAcctChecks: function () {
            return $http.get('/financeImportData/getCheckDetail/getCompBalanceAcct', apiConfig.create());
        },

        getVoucherAccountChecks: function () {
            return $http.get('/financeImportData/getCheckDetail/getVoucherAcct', apiConfig.create());
        },

        getAccountsNotInVoucherDetails: function(){
            return $http.get('/financeImportData/getCheckDetail/getAccountsNotInVoucherDetails', apiConfig.create());
        },

        getAccountsNotInCompanyBalance: function(){
            return $http.get('/financeImportData/getCheckDetail/getAccountsNotInCompanyBalance', apiConfig.create());
        },

        getSingleVoucherCheck: function () {
            return $http.get('/financeImportData/getCheckDetail/getVSingle', apiConfig.create());
        },

        getAccountBegBalances: function (periodId) {
            return $http.get('/financeImportData/getCheckDetail/getAcctBegBalances/' + periodId, apiConfig.create());
        },

        getBegBalancesByPeriod: function (periodId) {
            return $http.get('/financeImportData/getCheckDetail/getBegBalances/' + periodId, apiConfig.create());
        },
         
        isComBalanceEndBalNotZero: function (periodId) {
            return $http.get('/financeImportData/getCheckDetail/getIsExistsEndBal/' + periodId, apiConfig.create());
        },

        compareCustEndCompBeg: function (compPeriodId, custPeriodId) {
            return $http.get('/financeImportData/getCheckDetail/getCompareCustEndCompBeg/' + compPeriodId + '/' + custPeriodId, apiConfig.create());
        },

        compareCompCustPeriodAmount: function (compPeriodId, custPeriodId) {
            return $http.get('/financeImportData/getCheckDetail/getCompareAmount/' + compPeriodId + '/' + custPeriodId, apiConfig.create());
        },

        getCompCustBalanceDetail: function (compPeriodId, custPeriodId) {
            return $http.get('/financeImportData/getCheckDetail/getCompareEndBal/' + compPeriodId + '/' + custPeriodId, apiConfig.create());
        },

        getDuplicateVouchers: function () {
            return $http.get('/financeImportData/getCheckDetail/getDuplicateVouchers', apiConfig.create());
        },

        deleteVoucherDuplicateItems: function (voucherIds) {
            return $http.post('/financeImportData/getCheckDetail/deleteVouchers',voucherIds,apiConfig.create());
        },

        getCustBalanceDuplicateItems: function (periodId) {
            return $http.get('/financeImportData/getCheckDetail/getDuplicateTbes?periodId=' + periodId, apiConfig.create());
        },

        deleteCustBalanceItems: function (balanceIds) {
            return $http.post('/financeImportData/getCheckDetail/deleteCustBalances',balanceIds,apiConfig.create());
        },

        reManageData: function (periodId) {
            return $http.get('/financeImportData/reManageData/' + periodId, apiConfig.create());
        },

        /***************************************cit services start**************************************************************/

        getCitCorrectValidationResults: function () {
            return $http.get('/financeImportData/checkData/citCorrectCheck', apiConfig.create());
        },


        /***************************************cit services end**************************************************************/
       
    };
}]);