137 lines
4.3 KiB
React
137 lines
4.3 KiB
React
|
|
import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
|
||
|
|
import { axiosRetailInstanceData } from '../../AuthenicationToken/AuthenticationToken';
|
||
|
|
|
||
|
|
export const getAddCustomerDetails = createAsyncThunk(
|
||
|
|
'addCustomer/getAddCustomerDetails',
|
||
|
|
async (data) => {
|
||
|
|
if (
|
||
|
|
data?.MobileNo != null &&
|
||
|
|
data?.MobileNo != undefined &&
|
||
|
|
data?.AppId != null &&
|
||
|
|
data?.AppId != undefined &&
|
||
|
|
data?.CompId != null &&
|
||
|
|
data?.CompId != undefined &&
|
||
|
|
data?.BranchId != null &&
|
||
|
|
data?.BranchId != undefined
|
||
|
|
) {
|
||
|
|
return await axiosRetailInstanceData.get(
|
||
|
|
`/customer?MobileNo=${data?.MobileNo}&AppId=${data?.AppId}&CompId=${data?.CompId}&BranchId=${data?.BranchId}`
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
);
|
||
|
|
|
||
|
|
export const postAddCustomerDetails = createAsyncThunk(
|
||
|
|
'addCustomer/postAddCustomerDetails',
|
||
|
|
async (postData) => {
|
||
|
|
return await axiosRetailInstanceData.post(`/customer`, postData);
|
||
|
|
}
|
||
|
|
);
|
||
|
|
|
||
|
|
export const postRePrintReason = createAsyncThunk(
|
||
|
|
'rePrint/postRePrintReason',
|
||
|
|
async (postData) => {
|
||
|
|
return await axiosRetailInstanceData.post(`/rePrint`, postData);
|
||
|
|
}
|
||
|
|
);
|
||
|
|
export const postDefaultReprintReason = createAsyncThunk(
|
||
|
|
'rePrint/postDefaultReprintReason',
|
||
|
|
async (postData) => {
|
||
|
|
return await axiosRetailInstanceData.post(`/DefaultStatusReprint`, postData);
|
||
|
|
}
|
||
|
|
);
|
||
|
|
export const getRePrintDefault = createAsyncThunk(
|
||
|
|
'rePrint/getRePrintDefault',
|
||
|
|
async (data) => {
|
||
|
|
return await axiosRetailInstanceData.get(`/ReprintHistoryStatus?compId=${data.CompId}&branchId=${data.BranchId}&appId=${data.AppId}&Type=${data?.Type ? data?.Type : 'Reprint'}`);
|
||
|
|
}
|
||
|
|
);
|
||
|
|
|
||
|
|
export const getDefaultPaymentOptions = createAsyncThunk(
|
||
|
|
'rePrint/getDefaultPaymentOptions',
|
||
|
|
async (data) => {
|
||
|
|
return await axiosRetailInstanceData.get(`/ReprintHistoryStatus?compId=${data.CompId}&branchId=${data.BranchId}&appId=${data.AppId}&Type=PaymentOptions`);
|
||
|
|
}
|
||
|
|
);
|
||
|
|
|
||
|
|
export const getRePrintReason = createAsyncThunk(
|
||
|
|
'rePrint/getRePrintReason',
|
||
|
|
async (data) => {
|
||
|
|
if (
|
||
|
|
data?.orderFromDate != null &&
|
||
|
|
data?.orderFromDate != undefined &&
|
||
|
|
data?.orderToDate != null &&
|
||
|
|
data?.orderToDate != undefined &&
|
||
|
|
data?.appId != null &&
|
||
|
|
data?.appId != undefined &&
|
||
|
|
data?.compId != null &&
|
||
|
|
data?.compId != undefined &&
|
||
|
|
data?.branchId != null &&
|
||
|
|
data?.branchId != undefined
|
||
|
|
) {
|
||
|
|
return await axiosRetailInstanceData.get(
|
||
|
|
`/ReprintHistory?compId=${data.compId}&branchId=${data.branchId}&appId=${data.appId}&fromDate=${data.orderFromDate}&toDate=${data.orderToDate}`
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
);
|
||
|
|
|
||
|
|
export const ReprintDetails = createAsyncThunk(
|
||
|
|
"addCustomer/ReprintDetails",
|
||
|
|
async (data) => {
|
||
|
|
const { AppId, CompId, BranchId, OrderFromDate, OrderToDate, OrderId } = data || {};
|
||
|
|
if (OrderId && !OrderFromDate && !OrderToDate) {
|
||
|
|
return await axiosRetailInstanceData.get(
|
||
|
|
`/reprint?CompId=${CompId}&BranchId=${BranchId}&AppId=${AppId}&OrderId=${OrderId}&pageNumber=${data.PageNumber}`
|
||
|
|
);
|
||
|
|
}
|
||
|
|
if (OrderFromDate && OrderToDate) {
|
||
|
|
return await axiosRetailInstanceData.get(
|
||
|
|
`/reprint?CompId=${CompId}&BranchId=${BranchId}&AppId=${AppId}&orderFromDate=${OrderFromDate}&orderToDate=${OrderToDate} &pageNumber=${data.PageNumber}`
|
||
|
|
);
|
||
|
|
} else {
|
||
|
|
return await axiosRetailInstanceData.get(
|
||
|
|
`/reprint?CompId=${CompId}&BranchId=${BranchId}&AppId=${AppId}&pageNumber=${data.PageNumber}`
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
);
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
const initialState = {
|
||
|
|
AddCustomerDetails: [],
|
||
|
|
refreshTrigger: 0,
|
||
|
|
};
|
||
|
|
|
||
|
|
const addCustomer = createSlice({
|
||
|
|
name: 'addCustomer',
|
||
|
|
initialState,
|
||
|
|
reducers: {
|
||
|
|
changeCustomerdetails: (state, action) => {
|
||
|
|
state.AddCustomerDetails = action?.payload;
|
||
|
|
},
|
||
|
|
triggerCustomerRefresh: (state) => {
|
||
|
|
state.refreshTrigger += 1;
|
||
|
|
},
|
||
|
|
},
|
||
|
|
extraReducers: (builder) => {
|
||
|
|
builder.addCase(getAddCustomerDetails.fulfilled, (state, action) => {
|
||
|
|
if (action?.payload?.status) {
|
||
|
|
state.AddCustomerDetails = action?.payload?.data?.data;
|
||
|
|
} else {
|
||
|
|
state.AddCustomerDetails = [];
|
||
|
|
}
|
||
|
|
});
|
||
|
|
},
|
||
|
|
});
|
||
|
|
export const { changeCustomerdetails, triggerCustomerRefresh } = addCustomer.actions;
|
||
|
|
|
||
|
|
export const GlobalAddCustomerDetails = (state) =>
|
||
|
|
state.addCustomer?.AddCustomerDetails;
|
||
|
|
|
||
|
|
export const GlobalCustomerRefreshTrigger = (state) =>
|
||
|
|
state.addCustomer?.refreshTrigger;
|
||
|
|
|
||
|
|
export default addCustomer.reducer;
|