homeActions.js 2.46 KB
/**
 * # guideActions.js
 * 
 * App user guide
 * 
 */
'use strict';

import {Actions} from 'react-native-router-flux';
import CONFIG from '../../constants/config';
import HomeService from '../../services/HomeService';

const {

	HOME_OVERVIEW_REQUEST,
    HOME_OVERVIEW_SUCCESS,
    HOME_OVERVIEW_FAILURE,

    GO_TO_SALE_STATS,
    GO_TO_RETURN_STATS,
    GO_TO_STOCK_STATS,
    GO_TO_DELIVERY_STATS,
    GO_TO_REQUEST_STATS,
    GO_TO_ACCOUNT_SETTLEMENT,

    SWITCH_SHOP,

} = require('../../constants/actionTypes').default;

export function overviewRequest(shopId) {
    return {
        type: HOME_OVERVIEW_REQUEST,
        payload: shopId
    };
}

export function overviewSuccess(json) {
    return {
        type: HOME_OVERVIEW_SUCCESS,
        payload: json
    };
}

export function overviewFailure(error) {
    return {
        type: HOME_OVERVIEW_FAILURE,
        payload: error
    };
}

export function overview(shopId) {

	return dispatch => {
		dispatch(overviewRequest(shopId));
        return new HomeService().overview(shopId)
            .then(json => {
                dispatch(overviewSuccess({
                    rank: 76,
                    rise: true,
                    riseCount: 28,
                    goodsCount: 7600,
                    goodsAmount: 19800.00,
                }));
            })
            .catch(error => {
                dispatch(overviewFailure(error));  
            });
	};
	
}

export function goToStatsPage(type) {

    switch (type) {
        case CONFIG.statsKey.saleStats:
            Actions.SaleStats();
            return {
                type: GO_TO_SALE_STATS,
            };
        case CONFIG.statsKey.returnStats:
            Actions.ReturnStats();
            return {
                type: GO_TO_RETURN_STATS,
            };
        case CONFIG.statsKey.stockStats:
            Actions.StockStats();
            return {
                type: GO_TO_STOCK_STATS,
            };
        case CONFIG.statsKey.deliveryStats:
            Actions.DeliveryStats();
            return {
                type: GO_TO_DELIVERY_STATS,
            };
        case CONFIG.statsKey.requestStats:
            Actions.RequestStats();
            return {
                type: GO_TO_REQUEST_STATS,
            };
        case CONFIG.statsKey.accountSettlement:
            Actions.AccountSettlement();
            return {
                type: GO_TO_ACCOUNT_SETTLEMENT,
            };
    }
}

export function switchShop(shopId) {
    return overview(shopId);
}