예제 #1
0
        protected virtual async Task ArInvoiceEntryDocumentUnitAsync(ArInvoiceEntryDocumentUnit arInvoiceEntry)
        {
            //Validating if Duplicate DocumentReference(AR Invoice#) exists
            if (ArInvoiceEntryDocumentUnitRepository != null)
            {
                var arInvoices = (await ArInvoiceEntryDocumentUnitRepository.
                                  GetAllListAsync(p => p.DocumentReference == arInvoiceEntry.DocumentReference && p.OrganizationUnitId == arInvoiceEntry.OrganizationUnitId &&
                                                  p.TypeOfAccountingDocumentId == TypeOfAccountingDocument.AccountsReceivable));

                if (arInvoiceEntry.Id == 0)
                {
                    if (arInvoices.Count > 0)
                    {
                        throw new UserFriendlyException(L("Duplicate AR Invoice#", arInvoiceEntry.DocumentReference));
                    }
                }
                else
                {
                    if (arInvoices.FirstOrDefault(p => p.Id != arInvoiceEntry.Id && p.DocumentReference == arInvoiceEntry.DocumentReference) != null)
                    {
                        throw new UserFriendlyException(L("Duplicate AR Invoice#", arInvoiceEntry.DocumentReference));
                    }
                }
            }
        }
예제 #2
0
        public virtual async Task UpdateAsync(ArInvoiceEntryDocumentUnit arInvoiceEntry)
        {
            await ArInvoiceEntryDocumentUnitAsync(arInvoiceEntry);

            await ArInvoiceEntryDocumentUnitRepository.UpdateAsync(arInvoiceEntry);
        }
예제 #3
0
        public virtual async Task <long> CreateAsync(ArInvoiceEntryDocumentUnit arInvoiceEntry)
        {
            await ArInvoiceEntryDocumentUnitAsync(arInvoiceEntry);

            return(await ArInvoiceEntryDocumentUnitRepository.InsertAndGetIdAsync(arInvoiceEntry));
        }