outOfStockActions.js 1.38 KB
/**
 * # guideActions.js
 *
 * App user guide
 *
 */
'use strict';

import {Actions} from 'react-native-router-flux';
import OutOfStockService from '../../services/OutOfStockService';
import {Alert, Linking} from 'react-native';

const {

	STOCKOUT_REQUEST,
	STOCKOUT_SUCCESS,
	STOCKOUT_FAILURE,

	SET_LACK_NUM,
	SET_INITIAL_RES,

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

export function stockOutRequest() {
	return {
		type: STOCKOUT_REQUEST,
	};
}

export function stockOutSuccess(json) {
	return {
		type: STOCKOUT_SUCCESS,
		payload: json,
	};
}

export function stockOutFailure(error) {
	return {
		type: STOCKOUT_FAILURE,
		payload: error,
	};
}

export function stockOut() {
	return (dispatch,getState) => {
		let {outOfStock,home} = getState();
		let {initialRes} = outOfStock;
		let productSku = initialRes?initialRes.productSku:0;
		let proReqFormId = initialRes?initialRes.proRequisitionFormId:0;
		let num = outOfStock.lackNum;
		let shopId = home.shopId;

		dispatch(stockOutRequest())
		return new OutOfStockService().stockOut(proReqFormId,productSku,num,shopId)
			.then((json) => {
				dispatch(stockOutSuccess(json))
			})
			.catch((error) => {
				dispatch(stockOutFailure(error))
			});
	};
}

export function setLackNum(num) {
	return {
		type: SET_LACK_NUM,
		payload: num,
	};
}

export function setInitialRes(param) {
	return {
		type: SET_INITIAL_RES,
		payload: param,
	};
}