fix(Contacts): validate contact associated transcations.

This commit is contained in:
a.bouhuolia
2021-03-22 15:21:52 +02:00
parent 1f6aca63e2
commit d79be910f9
20 changed files with 382 additions and 384 deletions

View File

@@ -55,4 +55,8 @@ export interface IBill {
export interface IBillsFilter extends IDynamicListFilterDTO {
stringifiedFilterRoles?: string,
}
export interface IBillsService {
validateVendorHasNoBills(tenantId: number, vendorId: number): Promise<void>;
}

View File

@@ -45,4 +45,9 @@ export interface IBillReceivePageEntry {
paymentAmount: number,
currencyCode: string,
date: Date|string,
};
};
export interface IBillPaymentsService {
validateVendorHasNoPayments(tenantId: number, vendorId): Promise<void>;
}

View File

@@ -1,71 +1,77 @@
import { IDynamicListFilterDTO } from "./DynamicFilter";
import { IDynamicListFilterDTO } from './DynamicFilter';
export interface IPaymentReceive {
id?: number,
customerId: number,
paymentDate: Date,
amount: number,
referenceNo: string,
depositAccountId: number,
paymentReceiveNo: string,
statement: string,
entries: IPaymentReceiveEntry[],
userId: number,
};
id?: number;
customerId: number;
paymentDate: Date;
amount: number;
referenceNo: string;
depositAccountId: number;
paymentReceiveNo: string;
statement: string;
entries: IPaymentReceiveEntry[];
userId: number;
}
export interface IPaymentReceiveCreateDTO {
customerId: number,
paymentDate: Date,
amount: number,
referenceNo: string,
depositAccountId: number,
paymentReceiveNo?: string,
statement: string,
entries: IPaymentReceiveEntryDTO[],
};
customerId: number;
paymentDate: Date;
amount: number;
referenceNo: string;
depositAccountId: number;
paymentReceiveNo?: string;
statement: string;
entries: IPaymentReceiveEntryDTO[];
}
export interface IPaymentReceiveEditDTO {
customerId: number,
paymentDate: Date,
amount: number,
referenceNo: string,
depositAccountId: number,
paymentReceiveNo?: string,
statement: string,
entries: IPaymentReceiveEntryDTO[],
};
customerId: number;
paymentDate: Date;
amount: number;
referenceNo: string;
depositAccountId: number;
paymentReceiveNo?: string;
statement: string;
entries: IPaymentReceiveEntryDTO[];
}
export interface IPaymentReceiveEntry {
id?: number,
paymentReceiveId: number,
invoiceId: number,
paymentAmount: number,
};
id?: number;
paymentReceiveId: number;
invoiceId: number;
paymentAmount: number;
}
export interface IPaymentReceiveEntryDTO {
id?: number,
paymentReceiveId: number,
invoiceId: number,
paymentAmount: number,
};
id?: number;
paymentReceiveId: number;
invoiceId: number;
paymentAmount: number;
}
export interface IPaymentReceivesFilter extends IDynamicListFilterDTO {
stringifiedFilterRoles?: string,
stringifiedFilterRoles?: string;
}
export interface IPaymentReceivePageEntry {
invoiceId: number,
entryType: string,
invoiceNo: string,
dueAmount: number,
amount: number,
totalPaymentAmount: number,
paymentAmount: number,
currencyCode: string,
date: Date|string,
};
invoiceId: number;
entryType: string;
invoiceNo: string;
dueAmount: number;
amount: number;
totalPaymentAmount: number;
paymentAmount: number;
currencyCode: string;
date: Date | string;
}
export interface IPaymentReceiveEditPage {
paymentReceive: IPaymentReceive,
paymentReceive: IPaymentReceive;
entries: IPaymentReceivePageEntry[];
};
}
export interface IPaymentsReceiveService {
validateCustomerHasNoPayments(
tenantId: number,
customerId: number
): Promise<void>;
}

View File

@@ -32,4 +32,12 @@ export interface ISaleEstimateDTO {
export interface ISalesEstimatesFilter extends IDynamicListFilterDTO {
stringifiedFilterRoles?: string,
}
export interface ISalesEstimatesService {
validateCustomerHasNoEstimates(
tenantId: number,
customerId: number,
): Promise<void>;
}

View File

@@ -1,44 +1,49 @@
import { IDynamicListFilter } from 'interfaces/DynamicFilter';
import { IItemEntry, IItemEntryDTO } from "./ItemEntry";
import { IItemEntry, IItemEntryDTO } from './ItemEntry';
export interface ISaleInvoice {
id: number,
balance: number,
paymentAmount: number,
currencyCode: string,
invoiceDate: Date,
dueDate: Date,
dueAmount: number,
overdueDays: number,
customerId: number,
referenceNo: string,
invoiceNo: string,
entries: IItemEntry[],
deliveredAt: string | Date,
userId: number,
id: number;
balance: number;
paymentAmount: number;
currencyCode: string;
invoiceDate: Date;
dueDate: Date;
dueAmount: number;
overdueDays: number;
customerId: number;
referenceNo: string;
invoiceNo: string;
entries: IItemEntry[];
deliveredAt: string | Date;
userId: number;
}
export interface ISaleInvoiceDTO {
invoiceDate: Date,
dueDate: Date,
referenceNo: string,
invoiceNo: string,
customerId: number,
invoiceMessage: string,
termsConditions: string,
entries: IItemEntryDTO[],
delivered: boolean,
invoiceDate: Date;
dueDate: Date;
referenceNo: string;
invoiceNo: string;
customerId: number;
invoiceMessage: string;
termsConditions: string;
entries: IItemEntryDTO[];
delivered: boolean;
}
export interface ISaleInvoiceCreateDTO extends ISaleInvoiceDTO {
fromEstimateId: number,
};
fromEstimateId: number;
}
export interface ISaleInvoiceEditDTO extends ISaleInvoiceDTO {
export interface ISaleInvoiceEditDTO extends ISaleInvoiceDTO {}
};
export interface ISalesInvoicesFilter extends IDynamicListFilter {
page: number;
pageSize: number;
}
export interface ISalesInvoicesFilter extends IDynamicListFilter{
page: number,
pageSize: number,
};
export interface ISalesInvoicesService {
validateCustomerHasNoInvoices(
tenantId: number,
customerId: number
): Promise<void>;
}

View File

@@ -10,7 +10,7 @@ export interface ISaleReceipt {
receiptMessage: string;
receiptNumber: string;
amount: number;
currencyCode: string,
currencyCode: string;
statement: string;
closedAt: Date | string;
entries: any[];
@@ -24,14 +24,14 @@ export interface ISaleReceiptDTO {
receiptDate: Date;
sendToEmail: string;
referenceNo?: string;
receiptNumber?: string,
receiptNumber?: string;
receiptMessage: string;
statement: string;
closed: boolean;
entries: any[];
}
export interface ISalesReceiptService {
export interface ISalesReceiptsService {
createSaleReceipt(
tenantId: number,
saleReceiptDTO: ISaleReceiptDTO
@@ -49,4 +49,9 @@ export interface ISalesReceiptService {
pagination: IPaginationMeta;
filterMeta: IFilterMeta;
}>;
validateCustomerHasNoReceipts(
tenantId: number,
customerId: number
): Promise<void>;
}