Пример #1
0
        public async Task UpdatePettyCashEntryDocumentUnit(PettyCashEntryDocumentInput input)
        {
            var pcEntryDocumnetunit = await _pcEntryDocumnetUnitRepository.GetAsync(input.AccountingDocumentId);

            Mapper.Map(input, pcEntryDocumnetunit);
            await _pettyCashEntryDocumnetManager.UpdateAsync(pcEntryDocumnetunit);

            if (!ReferenceEquals(input.PettyCashEntryDocumentDetailList, null))
            {
                //Bulk CRUD operations of PettyCashEntryDocumentDetails
                foreach (var pcEntryDocumnetDetail in input.PettyCashEntryDocumentDetailList)
                {
                    if (pcEntryDocumnetDetail.AccountingItemId == 0)
                    {
                        pcEntryDocumnetDetail.AccountingDocumentId = input.AccountingDocumentId;
                        var pcEntryDocumentDetailUnit =
                            pcEntryDocumnetDetail.MapTo <PettyCashEntryDocumentDetailUnit>();
                        await _pcEntryDocumnetDetailManager.CreateAsync(pcEntryDocumentDetailUnit);
                    }
                    else if (pcEntryDocumnetDetail.AccountingItemId > 0)
                    {
                        var pcEntryDocumentDetailUnit = await _pcEntryDocumnetDetailUnitRepository.GetAsync(
                            pcEntryDocumnetDetail.AccountingItemId);

                        Mapper.Map(pcEntryDocumnetDetail, pcEntryDocumentDetailUnit);
                        await _pcEntryDocumnetDetailManager.UpdateAsync(pcEntryDocumentDetailUnit);
                    }
                    else
                    {
                        IdInput <long> idInput = new IdInput <long>()
                        {
                            Id = (pcEntryDocumnetDetail.AccountingItemId * (-1))
                        };
                        await _pcEntryDocumnetDetailManager.DeleteAsync(idInput);
                    }
                }
            }
            await CurrentUnitOfWork.SaveChangesAsync();
        }
Пример #2
0
        public async Task <IdOutputDto <long> > CreatePettyCashEntryDocumentUnit(PettyCashEntryDocumentInput input)
        {
            var pcEntryDocumnetUnit     = input.MapTo <PettyCashEntryDocumentUnit>();
            IdOutputDto <long> response = new IdOutputDto <long>
            {
                Id = await _pettyCashEntryDocumnetManager.CreateAsync(pcEntryDocumnetUnit)
            };

            //Null Checking of PettyCashEntryDocumentDetailList
            if (!ReferenceEquals(input.PettyCashEntryDocumentDetailList, null))
            {
                //Bulk Insertion of PettyCashEntryDocumentDetail
                foreach (var pcEntryDocumentDetail in input.PettyCashEntryDocumentDetailList)
                {
                    pcEntryDocumentDetail.AccountingDocumentId = response.Id;
                    var pcEntryDocumentDetailUnit = pcEntryDocumentDetail.MapTo <PettyCashEntryDocumentDetailUnit>();
                    await _pcEntryDocumnetDetailManager.CreateAsync(pcEntryDocumentDetailUnit);
                }
            }
            await CurrentUnitOfWork.SaveChangesAsync();

            return(response);
        }